Key Topics : What is an Arduino, Different types of Arduino Boards, How to select an Arduino board
What is an Arduino
Arduino is an Open Source platform which supports for a range of microcontroller boards. Majority of the Arduino compatible boards use Atmel AVR microcontrollers*. However lately there has been some other types of microcontrollers that can be programmed through Arduino interface (Ex: ESP, STM32 ARM Cortex etc) Arduino has become popular due to few reasons like,- Simplicity, easy to program
- Lower hardware requirement (Programmers, Cables, Development boards etc.)
- Open Source software, availability of resources, contribution from other developers etc.
Few commercially available Arduino boards
Arduino Uno rev3
Arduino Uno Rev3, Image courtesy : arduino.cc |
Being an entry level and the most used board, this can be recommended as a robust Arduino board compared to other boards. Also there are lots of compatible shields for Arduino uno. (those shield that are compatible with uno are normally compatible with Arduino Mega 2560 also) Arduino UNO is based on the Atmel microcontroller ATmega328P.
- Operating Voltage : 5V
- Input Voltage : (6V - 20V) Limit / (7V – 12V) recommended
- Digital I/O Pins : 14 (6 no of pins support PWM)
- Analog Inputs Pins : 6
- DC current per I/O pin : 20mA
- Flash Memory : 32 kB (0.5 kB used by Arduino bootloader)
Arduino Nano is a much smaller board similar to Arduino Uno. So the biggest advantage is that we can develop anything using Arduino Uno and replace with a Nano to make it compact at the end.
- Operating Voltage : 5V
- Input Voltage : (6V - 20V) Limit / (7V – 12V) recommended
- Digital I/O Pins : 14 (6 no of pins support PWM
- Analog Inputs Pins : 6
- DC current per I/O pin : 40mA
- Flash Memory : 32 kB (0.5 kB used by Arduino bootloader)
Arduino Mega 2560, Image courtesy : arduino.cc |
Arduino Mega 2560 is based on the ATmega 2560 microcontroller. Since Arduino Mega 2560 has much more I/Os, PWMs and ADCs it is much suitable for Robotic projects as well as projects related to 3D printers/ Cartesian robots etc.
- Operating Voltage : 5V
- Input Voltage : (6V - 20V) Limit / (7V – 12V) recommended
- Digital I/O Pins : 54 (15 no of pins support PWM)
- Analog Inputs Pins : 6
- DC current per I/O pin : 20mA
- Flash Memory : 256 kB (8 kB used by Arduino bootloader)
- UARTs available : 04 Nos
Arduino Due, Image courtesy : arduino.cc |
Arduino Due is based on a 32-bit ARM core microcontroller. ( Atmel SAM3X8E ARM Cortex-M3) Arduino Due is a 3.3V operated board and it is really important to make sure not to connect I/Os with over 3.3V. Also when interfacing with devices that uses 5 V logic levels,
- Operating Voltage : 3.3 V
- Input Voltage : (6 V - 16 V) Limit / (7 V – 12 V) recommended
- Digital I/O Pins : 54 (12 no of pins support PWM)
- Analog Inputs Pins : 12
- Total DC output current on all I/O pins : 130mA
- Flash Memory : 512kB
Leonardo ETH, Image courtesy : arduino.cc |
Apart from a normal Leonardo board, it has an inbuilt Ethernet port, we can use it as either client or server and control actuators and get data from sensors through Internet. (ex: IOT projects, Home Automation etc) Leonardo ETH is based on ATmega32U4 micro-controller and the new W5500 TCP/IP Embedded Ethernet Controller. Since ATmega32u4 has built-in USB communication, eliminating the need for an external USB-to-serial converter. This allows the Leonardo ETH to appear to a connected computer as a mouse and keyboard
- Operating Voltage : 5 V
- Input Voltage : (7 V – 12 V) recommended
- Digital I/O Pins : 20 (7 no of pins support PWM)
- Analog Inputs Pins : 12
- DC current per I/O pin : 40mA
- Flash Memory : 32kB (4 kB used by Arduino bootloader)
Lilypad Arduino Simple
Lilypad Arduino Simple is specially developed for wearable tech projects. This board is based on ATmega328 micro-controller. It has an inbuilt charging circuit for Lithium Polymer batteries. It is important to note that no voltage more than 5.5 V should be apply to this board as well as should never be powered up with reverse polarity.
- Operating Voltage : 2.7 V to 5.5 V
- Input Voltage : 2.7 V to 5.5 V
- Digital I/O Pins : 9 (5 no of pins support PWM)
- Analog Inputs Pins : 4
- DC current per I/O pin : 40mA
- Flash Memory : 32 kB (2 kB used by Arduino boot-loader)
How to select the best Arduino for my Application
Selecting the ideal Arduino for your project at the design stage is very much important to avoid additional work. I am listing down few ideas that would help you to select the best option for your project.
Hardware Requirements
- No of Inputs and Outputs : At the design stage do not forget to couple of keep additional I/Os for future developments.
- No of PWM pins : If you are designing a project with lot of PWM controlling like motor controlling, LED shading etc you may need to consider options with a higher number of PWM pins.
- No of ADC : No of Analog to Digital Converters (No of Analog Inputs)
- Operating Voltage and Logic Levels : See the available power options, what are the other devices you are going to connect your Arduino. What are the logic level voltages of other devices and communications.
- Availability of Shields :
- Speed, EEPROM, and FLASH : See whether arduino is 8-bit or 32-bit, Availability of EEPROM if need and the FLASH depending on the code you are going to do.
- Power Consumption of the micro-controller
Communication Requirements
- UARTS : Arduino Uno has only 01 hardware Serial where Arduino Mega 2560 has 04. There are occasions we need more than one UART. (Note: more than one Software Serial cannot communicate at once like hardware Serial)
- Ethernet : See whether you need an inbuilt Ethernet port or whether there are shields available.
- Wifi : There are options like Wifi inbuilt boards, Wifi Shields, wifi modules (So many options with ESP8266)
At the design stage it is very much important to get to know the availability of software support for the board. See the available libraries example codes and whether they support the board you select.
What is an Arduino Shield
Image of an Arduino Shield, Image courtesy : sparkfun |
Arduino Shield are modular circuit boards that you can plug into your Arduino (like lego) and get extra functionality. You can stack them on top of each other and make wonders using Arduino. We will separately discuss about Arduino shields and what they can do.