Difference going from UNO to Due or Mega

I've only ever used an UNO and was consider getting a mega or due to play around with. Are these two different kinds of programming language? Will the codes I wrote for my uno work the same on these? Or can someone point me into the direction of explanations on the differences. (I know the due is 3.3v but I'm more concerned with the programming.)


Will the codes I wrote for my uno work the same on these?

Going to the Mega2560 will be easier, but may require changes if you have used libraries that use low-level chip features. Arduino code you write is very compatible from the UNO up the technology line, but you may need to make minimal changed.

Moving to the Due will depends, again, on libraries you use. Code written in the GUI editor will generally work and conflicts are documented if you go looking.


We have discussed a similar question here
When Arduino Uno is not enough, the next step is...???

Today I have both - the Mega2560 R3 and the Due (R3) and my conclusion is:

Mega is easier on the use because:

  • uses 5V TTL, it is an advantage for a large number of "classic" 5V modules and shields
  • programs for Uno is easily adjusted for Mega
  • Mega clones (e.g. Funduino, Hiduino, Robotale, and so forth) are really cheap ($15)
  • with the exception of SPI and INTs has an identical layout of functions on the pins such as UNO
  • 3.3V modules can not be connected directly, logic level converter must be used

Due belongs to the future, but:

  • not 5V TTL, it is a disadvantage for a large number of "classic" 5V shields
  • programs for Uno is difficult to rewrite for Due, small amount of examples and finished projects
  • Due clones are not so cheap
  • differences in the layout functions on the pins are greater
  • uses 3.3V TTL, modern modules can be connected directly (for example, most TFT displays)
  • has "a lot" of memory RAM, Flash, EPROM ...
  • has USB host
  • Arduino IDE can be used for programming without the need to learn something else