Connecting Arduino to ARC
Description
Program an Arduino and connect it to ARC to become an EZ-B.
Related Robot Skills
Compatible Arduinos
This tutorial currently covers what Arduino's are compatible with ARC, where to download the firmware, how to flash the Arduino and connect to ARC.
Once you follow this tutorial and program an Arduino, you will be able to connect an Arduino to ARC and control the Arduino. Essentially, you will be converting an Arduino into an EZB. The best part about this is having access to the source code means you can add new functionalities to the Arduino and extend the capabilities of ARC. The one item to note is each Arduino will have different capabilities or lacking capabilities (i.e. video, audio, etc.).
ARC Version
- This feature works with ARC 2019.01.31.00 Beta or newer
Arduino Capabilities Additionally, each Arduino model will have a different MCU (microcontroller) with different capabilities for servos, PWM, and Analog. Consult the datasheet/manual of the Arduino you're using to ensure you understand what ports are available for different commands. For example, some Arduino models only allow PWM/Servos on specific digital ports. Meanwhile, other Arduino's share I2C with Analog ports. You will have to determine what ports are available because we have no idea due to the number of Arduino versions out there. For example, servo ports on Arduino UNO must be PWM ports 3, 5, 6, 9, 10, and 11. These limitations are that of the Arduino libraries and hardware.
There's a significant number of Arduino's variations out there each with slight modifications. This means the base firmware provided in this tutorial can be modified for various Arduino configurations. Also, you are free to add new features to the Arduino firmware and register them as Capabilities to be used in ARC. But, that's a future edit of this tutorial.
Compatible Official Arduinos The ARC software is compatible with a number of Arduino products, which the firmware can be found on their respective pages. Find your Arduino board and download the firmware from this page: https://synthiam.com/Support/Hardware/Hardware-Overview
Download the firmware source code for your Arduino version or compatible from the above link and continue to the next step of this tutorial. *Note: compatible or clone Arduino's will require a toolset and library installation to compile the firmware. Check the Arduino compatible product manual for instructions on adding libraries and tools to the Arduino IDE for clone hardware.
You can configure most bluetooth modules for a higher baud rate. Check the manual for the bluetooth module. They usually use an AT command set
Tiny question, will there be an option at some point to write a sketch for the arduino and load it using tools in ARC so that a arduino could function untethered from a PC for low level tasks?
Second Question: any plans on integrating the Raspberry PI 3b plus and pi zero W into this, since it has pretty much everything built in you could need ( kinda sorta)
You can use the Arduino IDE to program arduino chips. It would be a lot of duplicated effort to create an arduino editor in ARC.
We explored raspberry pi options and while that question doesn’t align with this tutorial, the answer is yes we’re working on a design - but it’ll take some time to ensure there’s no sacrifice of features for cross platform compatibility
Is the ESP8266 or ESP32 going to be considered in the future? I ask because it is WiFi enabled, very cheap and can be programmed with the Arduino IDE.
I can certainly take a look at it. The only challenge will be their tcp network driver won’t keep up with the protocol requirements. We had to design our own for the use-case. Also, it’ll end up with the same number of ports as the IoTiny but no audio or video. So what’s the advantage?

I think you should have a look at the [color=#333333][font="Helvetica neue", Helvetica, Verdana, sans-serif]HuaDuino - Featuring Lithium Battery Power-up and Charging. this board has 12 servo connections. [color=#000000][font=Arial]HuaDuino is Arduino Nano compatible [/font][/color]That board appears to be uno compatible for pinouts. It’ll work with my uno firmware. Get it from here: https://synthiam.com/Hardware/Hardware/Arduino-Genuino-Uno-17527
Thanks DJ for your quick reply. any recommendations for a bluetooth module that would go with this board and work well with ARC.