Arduino Feature Comparison Table

Hi All

I've made a table to compare some of the core details of the Arduino range - a bit like the Adafruit one but much more involved without being exhaustive. It's currently missing Yun and Zero and wearables but it's a good start; I was just wondering if there is already a table like this anywhere else and whether this is double work? I haven't seen one myself but that doesn't mean that one doesn't exist.

Also would be good if anyone could check over the details and point out any errors which might have been made, or make suggestions for improvement.

Let me know what you think, also missing some details about 5v Total peak load (I appreciate it's complicated with pin groups etc., I'm using the max loading commonly detailed on the unofficial pinouts); If anyone can help re: MEGA2560 & ADK in this regard that'd be grand!! :)

http://www.paynetech.co.uk/docs/PTD0001-Arduino-Comparison.pdf

Thanks

Jon

Hi, could you please tell me what Ded./Shared means, for example on the Leonardo analog input pins 12 (6/6)?

That is a nice document. It’s a lot of work.

If you want to add something, I would like to see the (4 flavours of the) Pro Mini.

The official description for the Uno and Leonardo is not in accordance. It seems that the Uno has 14 digital pins and the Leonardo has 20. However, both have 20.
The Leonardo has 20 digital pins (of which 6 are the analog pins, some more are shared with analog pins).
But the Uno has also 20 digital pins (6 are shared with analog pins).

dmjlambert: Hi, could you please tell me what Ded./Shared means, for example on the Leonardo analog input pins 12 (6/6)?

It means 6 are dedicated (A1 to A6) with no digital in function, the other 6 can be analogue in or digital in.

Thanks Peter, I will double check those bits and look into the pro mini's ;)

For the Leonardo, they are A0 to A5, they are both digital pin and analog input.

P.S.: Dedicated analog pins do exist on the ATmega328P. The A6 and A7 are analog input only. Those pins are on the Nano and the Pro Mini boards.

This is pretty interesting. So, if you have shared analog pins, that implies digital pins are also shared. Is it best to just note in the row heading analog input/additional digital and * the analog number 8 for the nano with a footnote that says 2 of the analog pins do not have digital function? It's hard to determine what to count, isn't it? It would not be easy to put this together. I suppose you need to make rules to guide you in what you include and how you include various inputs/outputs.

I count 23 or 25 digital pins on the Leonardo. 14 are in the digital row, 6 are in the analog row, 3 are on the ICSP header (pins 14,15,16). That is 23 available for beginners with no soldering experience. Pin 17 controls the RX LED, so I suppose that could be considered. Pin 24 in the future will be for TX LED. The only reason it isn't now is because of a typo in pins_arduino.h which has a github issue underway.

With the ICSP header you get 20+3 for the Leonardo. The Uno has only 20.

I think it is not fair to count the other pins (the pin for TXled and so). I have for example a Uno clone with smd ATmega and with A6 and A7 solder holes, but an Uno should not have A6 and A7.

Peter_n: With the ICSP header you get 20+3 for the Leonardo. The Uno has only 20.

I think it is not fair to count the other pins (the pin for TXled and so). I have for example a Uno clone with smd ATmega and with A5 and A6 solder holes, but an Uno should not have A6 and A7.

Thanks Gents

It's been updated to Rev 1 fixing the errors you pointed out. I will look at adding the Pro Mini's later on revision 2.

I've taken the view to represent sum total possibilities as accurately as possible (within the format);

So: Quantity of digital pins is including all non-hack options, so this would include any headers not usually described as a digital pin, so the Leo now reads as 23 total digital pins.

next row is "OF Which > PWM" (this is fairly self explanatory)

And then the analogue total pins are described as before indicating in brackets how many are dedicated, then how many are shared. In this way you can easily deduct shared analogue pins from the total pin count if you are using them all up, or if you are ausing all the digital pins you can tell how many analogue pins you've sacrificed. This is something you can't tell easily from the arduino website.

It'll never be perfect, so I think this is a good middle ground. The unofficial pinouts are the next step for more detailed information, IMHO. Keep the amendments coming, I'll keep it up to date as best I can.

I'll need to revisit each device now (with the new definition for digital pins including undocumented headers), but it's a work in progress. Perhaps it should be in beta.......oh well, too late.

You've done a really great job and very handy as a quick reference. I found out yesterday that the Arduino Mini 05 actually comes in two flavours. The mini 05 (Farnell part No. 2133072) comes preloaded with pin headers whereas the mini 05 light (Farnell part No. 2133073) does not. You could add this as a minor side note if you wished.

Cheers.

The Arduino Micro is a small Arduino Leonardo. With the ICSP header included it has also 23 digital pin.

As far as I know, every analog pin on the Arduino Mega 2560 and Arduino Mega ADK are also digital pins. So the analog pins are shared and the total digital pins is 54 + 16. Should I run a test to be sure ?

Walltree: I found out yesterday that the Arduino Mini 05 actually comes in two flavours. The mini 05 (Farnell part No. 2133072) comes preloaded with pin headers whereas the mini 05 light (Farnell part No. 2133073) does not. You could add this as a minor side note if you wished.

Correct, the same is true for the Leonardo, the Due and the Micro (at least) so I've added another column for the "Headerless" part number AXXXXXXX

Thanks

Peter_n: The Arduino Micro is a small Arduino Leonardo. With the ICSP header included it has also 23 digital pin.

As far as I know, every analog pin on the Arduino Mega 2560 and Arduino Mega ADK are also digital pins. So the analog pins are shared and the total digital pins is 54 + 16. Should I run a test to be sure ?

I updated the Micro, also noticed the USB ports were incorrect - the Arduino.cc info is all out of date! Fixed now, but also I'm detailing 5 interrupt pins but the unofficial pinouts detail 4. No idea why there is a discrepancy. Leaving it at 5 for now.

Re: Mega2560, On the Due that is definitely the case, but info on Mega is much more sparse unfortunately. IF anyone knows more please chime in! :)

Updated as Rev 1b, and there will be many 1b versions until I release v2 otherwise it's going to get silly. I foresee there is much to do.

Thanks

J

Updated the doc, added Pro Mini in 3v and 5v flavours, added Fio and Nano.

Still to add Pro's from Sparkfun....Zero, Yun, and Tre - will try and get to them this week.

Then there's wearables but they almost deserve their own table.

Quick question: Does anyone have a preference for leaving in, or removing the recently discontinued products?

Still surprised the Leonardo is gone from the range, wondering if we should keep them documented here or simplify the world.

It would mean removing the ADK, Micro, Esplora, Fio, and Leo from this table. I think it's a little early.

About the Pro Mini (3.3V 8MHz and 5V 16MHz): they have 8 analog inputs. Of which 6 are like the Uno (analog + digital), but A6 and A7 are analog input only. Sparkfun : https://www.sparkfun.com/products/11113 In the picture of the bottom side, you see the extra analog pins : https://cdn.sparkfun.com//assets/parts/6/5/3/9/11113-03.jpg

The memory size and pin output current are the same as for the Uno. The 40mA is an absolute limit, and the output voltage is not 5V with 40mA. As a rule of thumb, about 20mA is the maximum value that can be used.

Could you change the microcontroller for the Uno, and both Pro Mini boards and the Mini to ATmega328P (with a 'P') ? Only the 'P' version (picopower) is used for Arduino boards. The reference pages tell it is an ATmega328, but it is always an ATmega328P.

About the Yun: that is an Arduino Leonardo plus a wifi/linux/OpenWRT module. The Leonardo communicates with the wifi/linux/OpenWRT module via the Bridge library, which uses pin 0 (RX) and 1 (TX). That means that pin 0 and 1 can be used, but then it is a normal Leonardo, not a Yun anymore. So I suggest to assume that pin 0 and 1 can not be used for other things.

The new kid on the block is the Adafruit Metro and the Metro Mini. http://www.adafruit.com/products/2488 http://www.adafruit.com/product/2590 They are like the Arduino Uno, with a few hardware changes.

Thanks Peter!

I’ll incorporate your suggested amendments. The Arduino.cc site has not been updated with the product changes much has it :-/

I’m aware of the Metro products (I’m an adafruit reseller!) but it certainly opens a rather huge can of worms.

Teensy? Evil Mad Scientist? Seeduino? etc. etc.

OK< teensy boards are in their own form factor and performance class but I think this table needs to stick to Arduino/Genuino products and allied manufature, at least for now.

Maybe you could open a Github for it, and it should be mentioned on the Arduino.cc blog. It's a useful document, and I don't want it to be just somewhere in this forum.

That sounds like a great idea...I'll pop it and the excel file in my github and update the post.

I'll convert it to Open Document Format first in the spirit of the makerverse ;)