Arduino Due/Mega by Arduino
Firmware
The Arduino Mega 2560 is an excellent high-I/O microcontroller for robotics and automation projects. With this firmware, the Mega becomes an ARC-compatible capability controller, allowing ARC to command servos, read sensors, control motors, and interface with serial devices — all through a single USB connection and without writing Arduino sketches for every project.
The Mega stands out for its large number of pins, multiple hardware UARTs, and 5V sensor compatibility. When paired with ARC, you can simultaneously operate:
- 8 ADC (Analog) inputs
- 13 PWM outputs
- 21 Digital I/O ports
- 24 Servo outputs
This makes the Mega suitable for complex robots with many sensors, actuators, indicators, and serial communication modules — all coordinated through ARC's UI, control blocks, and AI behaviors.
ADC Inputs (Analog)
ARC can read up to 8 analog inputs on the Mega, mapped as ADC0–ADC7. Common uses include potentiometers, distance sensors, light sensors, force sensors, and more.
(ARC → Arduino) ADC0 = A0 ADC1 = A1 ADC2 = A2 ADC3 = A3 ADC4 = A4 ADC5 = A5 ADC6 = A6 ADC7 = A7
PWM Outputs
The Mega provides 13 hardware PWM channels for speed control, dimming LEDs, fan control, ESCs, and other applications. ARC maps these as D0–D12:
(ARC → Arduino) D0 = 2 D1 = 3 D2 = 4 D3 = 5 D4 = 6 D5 = 7 D6 = 8 D7 = 9 D8 = 10 D9 = 13 D10 = 44 D11 = 45 D12 = 46
Digital I/O Ports
ARC supports up to 24 digital I/O ports. The Mega exposes 21 ports mapped as D0–D20. These can drive relays, switches, LEDs, logic signals, and also support software serial transmit for simple UART modules.
(ARC → Arduino) D0 = 2 D1 = 3 D2 = 4 D3 = 5 D4 = 6 D5 = 7 D6 = 8 D7 = 9 D8 = 10 D9 = 11 D10 = 12 D11 = 13 D12 = 44 D13 = 45 D14 = 46 D15 = 62 D16 = 63 D17 = 64 D18 = 65 D19 = 66 D20 = 67
Servo Outputs
Up to 24 servo outputs are exposed to ARC using the Mega’s Servo library. Perfect for animatronics, robot arms, pan/tilt systems, and legged robots.
(ARC → Arduino) D0 = 22 D1 = 23 D2 = 24 D3 = 25 D4 = 26 D5 = 27 D6 = 28 D7 = 29 D8 = 30 D9 = 31 D10 = 32 D11 = 33 D12 = 34 D13 = 35 D14 = 36 D15 = 37 D16 = 38 D17 = 39 D18 = 40 D19 = 41 D20 = 42 D21 = 43 D22 = 68 D23 = 69
I/O Expansion (Recommended)
Since the Mega exposes raw pin headers, using a sensor or servo shield makes wiring dramatically easier and reduces cable strain. A commonly used option is the:
Get Started
Flashing the firmware is straightforward. Follow the tutorial below to compile and upload it to your Mega:
Firmware Upload Tutorial
That’s correct - some overlap. And that shield might only go that high. It wasn’t designed but us so we don’t have control over the design, unfortunately
Thanks DJ.
i miss the days when you and your team designed the hardware.
@merne I'm still designing hardware for EZ-Robot!
I'm working on the release schedule at the moment. We hope to have new products consistently rolling out on an ongoing basis.
Sweet! @ Jeremie. I can’t wait to see what you and your team come up with. They should be awesome.
I’m going to us the Arduino mega 2560 to run my base motors and ultrasonic sensors for my Inmoov for now.
I look forward to seeing whats coming soon. I am looking to see is any new sensors will be able to added. I was even looking at possibly adding an arduino as a add-on to the EZB.
@Jeremie, I have a EZ-Robot HD servo question. Is it OK to ask you here in this forum if I start a new post? I sent a couple questions to them in the near past and got no answers back.
Hi Dave,
The best course of action would be to contact EZ-Robot directly about hardware related questions. I believe that there was an issue with the "contact us" page on the EZ-Robot website, it’s being corrected.
You can always verify if EZ-Robot has received your correspondence using the Live Chat.
Thanks Jeremie. I'll do that. I'm glad I asked.