Connecting Arduino to ARC

Description

Program an Arduino and connect it to ARC to become an EZ-B.

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:).

User-inserted image

*Arduino Mega showed in the picture above

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.


ARC Pro

Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

#17  

How are builders communicating between ARC and the supported platforms? When using an EZB you have WiFi connectivity from your computer running ARC. I have never touched an Arduino but I do know you can buy shields for them. Would I connect through one of these?

United Kingdom
#18  

Dave, My thoughts as well, at the moment I have it hardwired through the USB cable connected to the PC, but this is just to try things out. Thinking about a Bluetooth connection via Arduino Bluetooth shields boards to make it remote??

PRO
Synthiam
#19  

Cem, then maybe you didn’t select the correct baudrate? Follow each step of the tutorial and you should be good

United Kingdom
#20  

DJ, After loading the Beta version I can connect the ARC to the Arduino Uno+ and all works fine, and have the baudrate at 57600. Have a servo on D3 and working OK.

You might of misunderstood what I was trying to say above, regarding having to have the USB lead hardwired from the Arduino to the PC/Laptop. Where I think Dave was asking can you use it wireless like with the EZ-B V4 or IoTiny using wifi, without the USB lead. That's why I mentioned about may be this can to done via the Arduino Bluetooth shields board??

PRO
Synthiam
#21  

Yah - that's the good and bad with arduino. You can use it wirelessly if you know how to do it. There's no standard with Arduino so there's nothing i can directly support. You'll have to modify the code to use a different UART interface for wireless shields. Take a look at the most recent firmware sourcecode that i updated today (Feb 4, 2019). I put comments in the code header so you can see what i mean. Just change the COMMUNICATION_PORT from Serial to Serial1 or Serial2, where ever the shield is connected

#22  

Why wouldn't connecting a Bluetooth to I/O pins 0 and 1 that are replicas of the USB serial pins and then pairing the Bluetooth with your PC Bluetooth to get the virtual serial port work without modifications to the firmware?

#23   — Edited

FYI It works fine over bluetooth... You have to modify the arduino source code to use 9600 baud not 57600

#24  

That's not bad RichardR, Cool!  I'm surprised the Bluetooth virtual serial port won't run higher on the PC, bummer.