Arduino Genuino Uno by Arduino
Firmware
EZ Wheel Encoder firmware for Arduino UNO integrates with Synthiam ARC Wheel Encoder Counter for interrupt-driven encoder tracking and EZB commands.
Convert an Arduino Uno into an EZ-B with DJ's firmware to control servos, read digital ports and PWM.
The Arduino / Genuino Uno is a small microcontroller board based on the ATmega328P. A microcontroller is like a tiny computer that can read sensors, turn outputs on/off, and control motors and LEDs. The Uno is one of the most common Arduino boards, which makes it a great choice for beginners because there are lots of examples and community support.
The Uno includes:
- 14 digital pins (labeled D0–D13) for on/off input and output
- 6 analog input pins (labeled A0–A5) for reading changing voltages from sensors
- 6 PWM-capable pins (a special type of digital output used for dimming LEDs or controlling motor speed)
- USB port for connecting to your computer (programming + often power)
- Barrel power jack for an external power supply
- Reset button to restart the program on the board
- ICSP header (advanced programming/pin access; most beginners won’t need this)
When used with Synthiam ARC, the Uno can be loaded (flashed) with EZB firmware. This firmware lets ARC communicate with the Uno so ARC can control the pins (read sensors, set digital outputs, use PWM, etc.) from your ARC project.
Follow the step-by-step tutorial here: Tutorial to compile and upload the firmware
Understanding PWM (for beginners)
PWM stands for Pulse Width Modulation. PWM pins turn ON and OFF very quickly. By changing how long the signal stays ON vs OFF, the Arduino can simulate “partial power.”
- Common uses: dim an LED, control DC motor speed, control some types of buzzers
- Not the same as Servo control: servos use a different style of pulse timing (ARC handles servo signaling depending on your setup/controller)
- PWM frequency is how fast the ON/OFF switching happens. Different boards/pins have different default PWM frequencies.
| Board | PWM Pins | Default PWM Frequency |
|---|---|---|
| Uno, Nano, Mini | 3, 5, 6, 9, 10, 11 | 490 Hz (pins 5 and 6: 980 Hz) |
| Mega | 2 - 13, 44 - 46 | 490 Hz (pins 4 and 13: 980 Hz) |
| Leonardo, Micro, Yún | 3, 5, 6, 9, 10, 11, 13 | 490 Hz (pins 3 and 11: 980 Hz) |
| Uno WiFi Rev2, Nano Every | 3, 5, 6, 9, 10 | 976 Hz |
| MKR boards * | 0 - 8, 10, A3, A4 | 732 Hz |
| MKR1000 WiFi * | 0 - 8, 10, 11, A3, A4 | 732 Hz |
| Zero * | 3 - 13, A0, A1 | 732 Hz |
| Nano 33 IoT * | 2, 3, 5, 6, 9 - 12, A2, A3, A5 | 732 Hz |
| Nano 33 BLE/BLE Sense | 1 - 13, A0 - A7 | 500 Hz |
| Due ** | 2 - 13 | 1000 Hz |
| 101 | 3, 5, 6, 9 | pins 3 and 9: 490 Hz, pins 5 and 6: 980 Hz |
Quick start checklist
- Connect the Arduino Uno to your computer using a USB cable.
- Use the firmware tutorial to compile and upload the EZB firmware: HERE.
- Open ARC and connect to the Uno using the appropriate ARC connection method for your firmware/controller setup.
- Test a simple function first (example: toggle a digital pin with an LED, or read a sensor value) before wiring motors or more complex electronics.

EZAng, I am building a B9... currently I have EZ doing the API calls (stock price, weather, and voice recognition), some servo movements, etc... but on my writs and claws, in the Maestro IDE, you can create animation sequences, with many options to slow or speed up servos, or control how smooth they run... then you save each sequence and call it from Adruino or in my case with B9 just running it on timers and delays... since Maestro has no random built in function... but what I lose is if B9 says, "Oooo I could pinch you" I can't sync that voice call from EZ to the Maestro to call a claw movement... making sense? I love the delays, randoms etc, as it gives some natural random ability as I mix that with some Adruino calls to some of my motors using a motor board... but I want to start syncing all this together with EZ to make it more cohesive
I learned all about Maestro in my full size Star Wars Chopper build to move his utility arm, head arms, tools, door panels etc... all being called from a XBox controller
Sounds cool! I still recommend doing that in the auto position. You can use the same speed and acceleration and velocity and such. You’re familiar with the maestro but you will be limiting yourself if you don’t learn the Auto Position robot skill.
remember that the maestro animator was influenced by the auto position. That’s why they use the same terminology. The difference is that the Auto Position is integrated with ARC and has a ton more features. Since you’re technical, i know you’d be doing a lot with the Auto Position once you learn it
I just don’t want to see your robot being limited
also if you’re using speech recognition for that stuff - have you used the conversation menu robot skill yet? That’s pretty powerful. It’s much easier than the dialog flow.
not sure i know that skill for the conversation... for now, I know it is in another thread... I use one Voice Rec for a call word, so the robot wakes up, pauses that Voice Rec, supplies it to Bing Voice and AI Chat, stores the variable of what it heard and takes action... the issue here is we are limited to the original actor's voice clips we have...
I will have to look at that auto position...
Sounds like a great project, good luck ...
I agree with DJ, Auto Position is the ticket
Dave Schulpius is the B9 specialist - First Real Look At My Ez-b Controlled Full Size Lis B9 Robot
Oh right the actors voice. That’s pretty cool though that you have it. I remember seeing a program from adobe that allows modeling custom voices from samples. I don’t know what came of it.
There’s 730 robot skills, so probably a lot that you didn’t know about. There’s a few places to browse for them. The robot skill store on the products page, or in the support section.
I usually use this page to start from: https://synthiam.com/Support/Skills/Skills-Overview
a few people jump right to the community and ignore the rest of the website - so they miss robot skills, manuals, and all sorts of goodies. The community is really a timeline of updates. So if you’re building your robot based on updated stuff, you’ll miss things that have been there for a while
i am looking at that now, going to try it out on of my servos... oh yea I know Dave he is the man for sure when it comes to B9
my builds: https://www.flickr.com/photos/192838739%40N07
On that link that you supplied, I see may wonderful pictures, which pictures are yours?
All those photos are of my builds, not sure I have any photos of my IG11