1. Computer & I/O Controller (EZB)

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 (i.e. Raspberry Pi, Rock Pi/x, etc.): a PC (laptop, Single Board Computer (SBC), 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 (i.e. EZ-Robot EZ-B v4, Arduino Mega, etc.): 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

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.

-or-

Remote PC

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.


  Connection Servos Camera Audio
Adafruit 16 Servo Shield Adafruit 16 Servo Shield USB 16 Learn More
AR Parrot Drone AR Parrot Drone Wi-Fi yes Learn More
Arduino Due/Mega Arduino Due/Mega USB 48 Learn More
Arduino Genuino Uno Arduino Genuino Uno USB 12 Learn More
Arduino Leonardo Arduino Leonardo USB 12 Learn More
Atomic Pi Atomic Pi Wi-Fi / USB yes yes Learn More
BBC Micro:bit BBC Micro:bit USB Learn More
DJI Tello Drone DJI Tello Drone Wi-Fi yes Learn More
ESP32 Cam ESP32 Cam Wi-Fi 10 yes Learn More
Esp32 DevKit v1 Esp32 DevKit v1 Wi-Fi 25 Learn More
EZ-Robot AdventureBot EZ-Robot AdventureBot Wi-Fi / USB 2 yes yes Learn More
EZ-Robot EZ-B IoTiny EZ-Robot EZ-B IoTiny Wi-Fi / USB 8 yes yes Learn More
EZ-Robot EZ-B v3 EZ-Robot EZ-B v3 Bluetooth 24 Learn More
EZ-Robot EZ-B v4 EZ-Robot EZ-B v4 Wi-Fi / USB 24 yes yes Learn More
EZ-Robot JD Humanoid EZ-Robot JD Humanoid Wi-Fi / USB 24 yes yes Learn More
EZ-Robot Roli Rover EZ-Robot Roli Rover Wi-Fi / USB 10 yes yes Learn More
EZ-Robot Shell-e EZ-Robot Shell-e Wi-Fi 24 yes yes Learn More
EZ-Robot Six Hexapod EZ-Robot Six Hexapod Wi-Fi / USB 16 yes yes Learn More
iRobot Roomba iRobot Roomba Controller Dependant Learn More
LattePanda LattePanda Wi-Fi / USB 12 yes yes Learn More
Ohmnilabs Telepresence Robot Ohmnilabs Telepresence Robot Wi-Fi 1 yes yes Learn More
Raspberry Pi Raspberry Pi Wi-Fi yes yes Learn More
Robotis Bioloid Robotis Bioloid USB 200 Learn More
Robotis Darwin Mini Robotis Darwin Mini USB / Bluetooth 16 Learn More
Robotis OpenCM 9.04 Robotis OpenCM 9.04 USB 200 Learn More
Robotis OpenCR Robotis OpenCR USB 200 Learn More
Robotis TurtleBot 3 Robotis TurtleBot 3 Wi-Fi / USB 200 yes yes Learn More
Rock Pi X Rock Pi X Wi-Fi / USB yes yes Learn More
SainSmart Balance Robot SainSmart Balance Robot USB Learn More
Sphero Sphero Bluetooth Learn More
Up Board Up Board Wi-Fi / USB yes yes Learn More

Didn't find the robot hardware you're looking for? Let us know