Arduino Due/Mega

Arduino Due/Mega by Arduino

Synthiam ARC enables Arduino Mega 2560 control with 8 ADC, 13 PWM, 21 digital ports and 24 servos; includes firmware, shield and tutorials
Connection Type
USB
Number of Servos
24
Audio Support
No
Camera Support
No
UARTs
3
I2C Support
Yes
ADC Ports
8
Digital Ports
21

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 Mapping (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 Mapping

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 Mapping

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 Mapping

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

ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

#33   — Edited

@DJ,

yes and the plug in the barrel jack had 5vdc going to the Arduino mega.

So this time I unplugged power to the barrel jack and only had the USB cable plugged into my Arduino and my PC, no beeps.

So I’m at a loss. I my just cut the red power on the USB cable going to the pc.  I hope to try this tomorrow if I have time to make sure ARC controls the Arduino with ARC firmware.

Thanks again DJ.

#34  

@DJ,

I did fined a copy of the mega firmware I downloaded a few weeks ago, but it does not support Ultrasonic sensors. Is this something you will be adding soon? Thank you. Also what port do I put sabertooth Movement Panel on.

thanks in advance  Cheers

Author Avatar
PRO
Synthiam
#35   — Edited
  1. i'll add support for distance sensors for you. It'll be in the next update which I can probably do this weekend

  2. choose whatever port you have the sabertooth connected to. It's up to you - connect it, select it and go:). Use any digital port for bit-bang serial, or use the hardware uart. The option is selectable in the sabertooth Movement Panel configuration screen.

#36  

Thank you DJ. You’re awesome!

@DJ, you always take the time to add  additions to your already awesome software for anyone that asks.  That’s a great thing!

I’m not really sure how to connect the UARt for my sabertooth on the mega on the Arduino but I will look at the documents and try to figure it out.

I do have a question I ask a while ago about the Arduino DEU/Mega.  Both board’s numbers only go as high to 53. Your port numbers go higher.  I’m asking is you have numbers on the layout of the ADC, PWM, digital and analog.  Is this of a future design/product Jeremie and company is working on?

also, here is a link for the  mega sensor Shield V1 link for anybody who what’s info.. https://www.keyestudio.com/products/free-shipping-keyestudio-mega-sensor-shield-v1-for-arduino-mega

Description of the mega shield: Have you met with these troubles? when connecting a couple of sensor modules to MEGA 2560 control board, sometimes power output interfaces are not enough, so need to use the breadboard and the wiring is rather troublesome. Now don’t worry about that. You can use this keyestudio MEGA sensor shield. It is fully compatible with MEGA man 2560 control board, so that you can easily stack the MEGA sensor shield onto the MEGA 2560 control board. The shield comes with digital and analog interfaces in 3PIN (G V S), easy to connect the 3PIN sensor modules. Besides, it comes with communication pins of 2.54mm pin pitch, such as serial and SPI communication. It comes with a reset button and 2 signal indicators as well. Note: for the 3PIN interface, the voltage of Analog pins (labeled V) is 5V; while the voltage of Digital pins (labeled V) is VCC, that is, the voltage input via a blue terminal block, default by jumper connected, connecting the voltage to 5V on the shield.

User-inserted image

Thanks again. Cheers

Author Avatar
PRO
Synthiam
#37  

If the port numbers go higher than your board, then you won't be able to use those pins. The pwm, servo, and digital ports are assigned to the capabilities of the chip on the mega.

#38  

@DJ,

I understand now,  I need a Arduino Mega 2560 Rev3 to get the high pin outs.  Sorry for being so dense.:( BTY, how is the ultrasonic sensor firmware coming along?

Thanks and Cheers!

Author Avatar
PRO
Synthiam
#39  

The firmware is available for download on this page . scroll to the top and click download the latest firmware (sept 2021). However, it requires ARC to be updated. It's something I'm doing today:)