There are a number of different types of Arduino boards aimed for different users, and a common question that is asked is “Which Arduino Should I Buy?”. The following is a list of some of the more common official Arduino boards you can buy currently. These are the most current versions of the boards. It is advised not to go for second-hand Arduinos, as you don’t know what condition they are in, and it maybe an older version which will be more difficult to set up.
Arduino Uno

The Arduino Uno is the most common board most people buy when they are starting out. It is a good all purpose board that has enough features for a beginner to get started with. It uses the ATmega328 chip as the controller and can be powered directly from USB, battery or via an AC-to-DC adapter. If using an adapter, a 9v or 12v wall-wart is recommended. Any more than this and you risk overheating the voltage regulator, and any less and you may get less that 5 volts from the 5v pin. The board operates at 5v throughout, ie digital pins output or read 5v, and analog pins read in the range 0-5v. Batteries can be useful but they can also drain pretty quickly with constant use.
The Uno features 14 digital input/output pins, and 6 of these can be used as pulse width modulation (PWM) outputs. It features 6 analog inputs as well as RX/TX (serial data) pins. The analog pins have a resolution of 10 bits, which means you get 1024 different values when you read them. This is quite a high resolution, and is about 10 times more accurate than MIDI. Each pin can draw a maximum of 40mA current.
The board has 32 KB of flash memory, 2KB of SRAM and 1KB of EEPROM. Flash memory is where the program that you have written in stored, SRAM is the working memory or scratchpad and EEPROM is the storage for variables.
There are also variations on this board:
- The Leonardo is available with or without headers, has a micro USB port and is seen as a class compliant mouse and keyboard.
- The Ethernet features an RJ45 Ethernet socket instead of a USB port (which can be added later). This reduces the number of digital pins by 3. It also has an onboard microSD card reader.
Pros
- Simple to use with small footprint
- Easy to get hold of
- Inexpensive
- Lots of example code and projects on the net
- Most tutorials are written for this model
- Lots of extras and sheilds built for this
Cons
- Can run out of pins quickly if not using external ICs
- Memory can be limited in large projects
Read reviews of Arduino Uno on Amazon.
Arduino Mega 2560

The Arduino Mega 2560 is the bigger brother of the Uno. It is pretty much the same as it’s little brother except its just more massive. The power runs just the same as the Uno and all the pins operate in the same way. The board is however powered by an ATmega2560 chip.
The main difference is the Mega has whopping 70 I/O pins. 16 of these are analog inputs, and the other 54 are digital I/O. 15 of the 54 digital pins are capable of PWM output. It also has 4 serial TX/RX ports built in. It has 256KB of flash memory, 8KB of SRAM and 4KB of EEPROM. You’re looking at being able to store a program 4 times the size of what’s capable of the Uno.
Again there are a couple of variations on this:
- The Due is a 32-bit ARM version of the Mega. This obviously runs a lot faster and has more memory, but also runs at 3.3v instead of 5v.
- The ADK is a version designed for use with Android phones.
Pros
- Lots of I/O options
- Generous storage space for programs
- Capable of running sizeable projects without the need for external ICs
- Can run massive projects with thoughtful planning
- Lots of example code and projects on the net
Cons
- Most tutorial code will need to be modified slightly due to different pin numbers
- Roughly twice the price of the Uno
- Not as many shields available
- Not as common in shops or packs
Read reviews of Arduino Mega 2560 on Amazon.
Arduino Pro

Of all the different types of Arduino boards there are, the Arduino Pro is, as it’s name suggests, aimed solely at the pro user. The 5 volt version of the Pro (you can also get 3.3 volts) is pretty much identical to the Uno in terms of features. The main difference is that you have to get out the soldering iron if you want to do anything with it. Unlike the other Arduino boards mentioned, it has no USB socket, no power socket and no header pins for you to put your jumper cables in. This is more suited to embedded applications where it will remain and not be dismantled.
This does however give more scope to the user in permanent or semi-permanent projects. As it is just a basic board, you design how it works. You can solder some female headers to the I/O pins to make it similar to an Uno or Mega, you can solder wires directly to the I/O pins, or you can add some male header pins to have it slot into another board you have made.
As it does not have a USB connector built in, you have to attach a method yourself. There are products such as the Sparkfun FTDI Breakout Board that add that functionality, or you could go your own route. It is a similar story for power, you have to arrange your own power source to the Arduino.
As with the other boards, there are a few variations on this.
- The Pro Mini is a tiny version of this board.
- Fio is a model designed for wireless use.
- The Micro is a sort of in-between of the Uno and the Pro, with a micro USB header.
Pros
- Easy to use in embedded projects
- Allows flexibility in project design
- Can be used in permanent situations without the risk of pulling wires out of headers or needing a sheild
Cons
- Have to supply own power / USB
- Need to be able to solder
- Is only suitable for installations that will not need to be changed
Read reviews of the Arduino Pro on Amazon
So Then, Which Arduino Should I Buy?
There are a lot of different types of Arduino boards out there, and it’s all up to your need as to which one you choose. If you have skipped the whole post and just want a quick low-down of what to go for, here it is…
- Beginners to Arduino who won’t be doing large projects – Arduino Uno or Similar
- Beginners who think they might end up wanting to do big projects, or more advanced users who know they will – Arduino Mega 2560 or Similar
- Advanced users who want to do embedded projects – Arduino Pro (and just to throw a spanner in the works…)
- Advanced users who want to embed Arduinos into clothing (yes really!!!) – The Arduino LilyPad
Philip Mintz
Hi,
I may be asking the wrong person, but here goes:
I’m not in the electronics field, and want to make my first electronics project – a 3D printer. Question – once the Arduino is set up, is the code for running the XYZ motors in G Code? I intend to use Slic3r as the program to send the XY “slices” for printing things obtained from online sources such as Thingiverse.
But what about 3D images I create? Do I have to write a G Code (or whatever Arduino takes)? Or is Slic3r (or another program) able to slice files made by 3D drawing programs?
Codeduino
Hi Philip.
Arduino only understands code written in Arduino code. You directly control the motors at a low level. If you want to send G Code, you would have to send it as serial data, and then interpret the code on the Arduino itself. There may be Arduino libraries to help read the code, however it’s going to be a bit task.
Probably the best way to go about it, if this is your first electronics project, is to buy an Arduino based DIY printer kit, or a follow a complete step by step tutorial. A quick search came up with this.. http://reprapbook.appspot.com/#d0e931 that uses an Arduino and Slic3r, however I can’t vouch for it.
SAI NIKHILESH
Hi,
I want to construct a quadcopter which I intended to control using a android phone. Which arduino board do you think should I buy.
I have no experience of using a arduino board.
Codeduino
That’s a tough one. You would probably want the Mega, as it has loads of I/O, and you can get a Bluetooth shield for it, however, the Pro would be better as you can solder it in permanently. Have a search on this site, there’s a few projects that use Bluetooth and a couple of quad-copter projects too.
dhvani
Hey,
I am working on attendance using face recognition project using matlab..
I want to use arduino board for marking real time attendance in excel sheet. Wat shall I do???
Thanking you..