1. Computer & I/O Controller
Determine what type of computer and EZB microcontroller your robot will use. There are two sections that require a decision in this step. The first will be to decide what type of computer to use, and the second will be to decide what type of EZB (microcontroller) to use.
Computer: a PC (laptop, Single Board Computer, etc.) that runs Microsoft Windows and the ARC software. If the computer is an SBC, it will be small enough to install inside the robot, otherwise, the computer will be remote outside of the robot. No matter what type of computer you choose, it must be connected to an EZB Microcontroller for moving servos, motors, LEDs, and sensors.
EZB Microcontroller: a low-power device that allows sensors, servos, LEDs, and motor controllers to be connected. It is the component that provides an interface between your computer and the robot hardware. Popular EZB Microcontrollers are Arduinos or EZ-Robot EZB v4/IoTiny, etc. You will find a list of compatible microcontrollers below in this guide.
a) Selecting Computer Type
The location of the computer will determine the connection method to the Input/Output (I/O) controller (USB or Wi-Fi). Any I/O controller that is compatible with ARC is referred to as an EZB (more information below). When designing a robot from scratch or programming an existing robot, take note of these configuration details. Decide which of these two EZB/Computer configurations works with your robot build.
Embedded PC means mounting the computer on-board the robot. The computer can be a laptop, single-board computer (SBC), or tablet. The connection to I/O EZB microcontrollers is through USB. Additional USB devices, such as joysticks, cameras, and peripherals can be connected directly to the PC on the robot.
Remote PC, the computer is not mounted on the robot and most likely sits on your desk or workbench. The computer can be a laptop, tablet, or personal computer (PC) with Wi-Fi, Serial cable, or ethernet connection to the EZB microcontroller. USB devices can not be mounted on the robot because the PC is not mounted on the robot.
b) Selecting an EZB I/O Microcontroller
When an I/O controller (Arduino, Microbit, etc.) is programmed with Synthiam firmware that is compatible with ARC, we refer to it as an EZB. The firmware then allows the EZB I/O controller to use additional capabilities available in ARC. An EZB connects sensors, motors, and peripherals to the computer running ARC.
Based on the type of computer selection (embedded or remote), EZBs will support specific connection types. For example, an EZB Arduino Uno uses a USB, which requires the computer to be embedded in the robot. An EZ-Robot EZ-B v4 can use both Wi-Fi and USB which supports a remote computer or embedded computer configuration.
Each EZB will provide various hardware and custom commands. To identify the capabilities of an EZB, ARC provides abstract methods that represent the EZB's capabilities. For example, if the connected EZB supports a hardware UART, the respective EZB index in ARC will provide hardware UART commands. The capabilities of each EZB are determined by the Firmware Capability Manager. An EZB will report its capabilities to ARC. If an unsupported command is issued to an EZB, ARC will notify you.
Didn't find the robot hardware you're looking for? Let us know