What is Arduino? Types of Arduino, Working and Their Comparision

What is Arduino?

Arduino is an open-source electronic gadget that treats input such as light on a sensor, a finger on a button, or a tweet and produces an output based on the inputs such as turning on an led or activating a motor. The Arduino was created at a design institute as a simple tool for students with no apparent experience with electronics or programming. Arduino boards are microcontroller’s not entire computers with operating system of their own like the raspberry pi. Arduino only runs C or C++ code that is stored in the firmware. The Arduino IDE is free software that allows you to create and upload code on an Arduino board.

Why Arduino?

  • Arduino has been used in millions of projects and applications due to its simple and accessible user interface.
  • The Arduino software is easy to use for beginners but it is customizable for experienced users.
  • It works on mac windows and Linux systems.
  • Arduino is a valuable tool for learning new skills including youngsters, amateurs, artists, and programmers can start tinkering by simply following the step-by-step instructions.
  • Teachers and students can use it to create low-cost scientific equipment to demonstrate chemistry and physics principles and to start learning programming and robotics.
  • Designers and architects develop interactive prototypes while musicians and artists create installations and try out new instruments.

Features of Arduino

  • Arduino has a microcontroller of at ATmega328 and the operating voltage is 5 volts. Whereas the input voltage is recommended to be from 7 to 12 volts and input voltage limits from 6 to 20 volts.
  • Digital I/O Pins: 14
  • Analog Input Pins: 6
  • DC Current per I/O Pin: 40 mA
  • DC Current for 3.3V Pin: 50 mA
  • Flash Memory: 32 KB
  • SRAM: 2 KB (ATmega328)
  • EEPROM: 1KB (ATmega328)
  • Clock Speed: 16 MHz

Types of Arduino

Arduino Uno

The Arduino Uno is one of the more popular boards in the Arduino family and a great choice for beginners. The major components of the Arduino UNO board are the following:

  • USB Connector : This is the printer USB port used to load a program from the Arduino IDE onto the Arduino board. This board can also be powered through this port.
  • Power Port : The Arduino board can be powered through a AC-to-DC adapter or a battery. The power source can be connected by plugging in a 2.1mm center-positive plug into the power jack of the board. The Arduino UNO board operates at a voltage of 5 volts, but arduino board can withstand a maximum voltage of 20 volts. If the board is supplied with a higher voltage, there is a voltage regulator (it sits between the power port and USB connector) that protects the board from burning out.
  • Microcontroller : It is the most prominently visible black rectangular chip with 28 pins. Think of it as the brains of your Arduino. The microcontroller used on the UNO board is Atmega328P by Atmel (a major controller manufacturer).
  • ATmega328P has the following components in it.
  • Flash memory of 32KB. The program loaded from the Arduino IDE is stored here.
  • RAM of 2KB. This is runtime memory.
  • CPU: It controls everything that goes on within the device. It fetches the program instructions from flash memory and runs it with the help of RAM.
  • Electrically Erasable Programmable Read Only Memory (EEPROM) of 1KB. This is a type of nonvolatile memory, and it keeps the data even after the device restart and reset.
  • Atmega328P is a pre-programmed with a bootloader. This allows you to directly upload a new Arduino program into the device, without using any external hardware programmer, making the Arduino UNO board easy to use.
  • Analog Input Pins : The Arduino UNO board has 6 analog input pins, labeled “Analog 0 to 5”. These pins can read the signals from an analog sensor such as a temperature sensor and convert it into a digital value for system understanding. These pins just measure voltage and not the current because they have very high internal resistance. Hence, only a small amount of current flows through these pins. Although these pins are labeled analog and are analog input by default, these pins can also be used for digital input or output.
  • Digital Pins : You can find these pins labeled “Digital 0 to 13”. These pins can be used as either input or output pins. When used as output, these pins act as a power supply source for the components connected to it and when used as input pins, they read the signals from the component connected to them. When digital pins are used as output pins, they supply 40 milliamps of current at 5 volts, which is more than enough to light a LED. Some of the digital pins are labeled with a tilde (~) symbol next to the pin numbers (pin numbers 3, 5, 6, 9, 10, and 11). These pins act as normal digital pins but can also be used as Pulse-Width Modulation (PWM), which simulates analog output such as fading an led in and out.
  • Reset Switch : When this switch is clicked, it sends a logical pulse to the reset pin of the Microcontroller, and now runs the program again from the start. This can be very useful if your code doesn’t repeat, and you want to test it multiple times.
  • Crystal Oscillator : This is a quartz crystal oscillator that takes 16 million times a second. On each tick, the microcontroller performs one operation, for example, addition, subtraction, etc.
  • USB Interface Chip : Think of this as a signal translator. It converts signals in the USB level to a level that an Arduino UNO board understands.
  • TX RX Indicator : TX stands for transmit, and RX for receive. These are indicator LEDs that blink whenever the UNO board is transmitting or receiving data.

Arduino Lilypad

LilyPad Arduino is a microcontroller board designed for e-textiles and wearables. Arduino LilyPad can be sewn to fabric and similarly mounted power supplies, actuators, and sensors with conductive thread. Arduino LilyPad board is based on ATmega168V (A less powerful version of ATmega168) or the ATmega328V. The Arduino LilyPad was designed and manufactured by Leah Buechley and SparkFun Electronics. LilyPad Arduino can be programmed with Arduino software. The Arduino LilyPad should only be programmed with the software version 0010 or higher. You can program it with an earlier version, but all time-related functions will be disabled. The Arduino LilyPad comes with an ATmega168V or ATmega328V pre-burned with a bootloader that allows you to upload new code to it with the Arduino software. You can bypass the bootloader and program the ATmega via ICSP (In-Circuit Serial Programming).

Arduino Mega

Arduino mega is a microcontroller board, designed by Arduino.cc. The microcontroller used in this Arduino board is ATmega2560. It comes with more memory space and input-output pins, as compared to other Arduino boards. Arduino mega has 54 digital pins, starting from 0 to 53. These digital pins are used to interface digital sensors and modules with Arduino mega. Moreover, it has 16 analog pins starting from A0 to A15, these pins are used to interface analog sensors. We also have 15 PWM pins in Arduino mega, which are used to generate PWM signals. Pin # 2 to 13 are all PWM pins and pins # 44, 45, and 46 and also PWM pins. If you want to control the speed of the DC motor, then you need to use any of these PWM pins. Moreover, it also has an ICSP header for connecting third-party modules. Arduino mega comes with a crystal oscillator of 16 MHz. In order to power up Arduino mega, we have to main power connectors. One is a USB port and the second one is a dc power jack. We can plug a 12v adapter or a battery with this power jack, and mega will turn on. Arduino IDE is the official software used for designing and uploading code. Arduino mega supports serial protocol, spi protocol, and i2c protocol. These communication protocols are used for data transferring between mega and third-party modules. Arduino mega has three types of built-in memories named as FLASH memory, SRAM memory, and EEPROM memory.

Arduino Leonardo

Arduino Leonardo is more useful and more powerful than a standard Uno with the ATmega328 chip. It uses a different chip (ATmega32u4), which has a built-in USB interface among other things. The cost is nearly the same as an ATmega328 model Arduino (like the Uno or Duemilanove), but is more capable.

  • More analog pins: the Leonardo has 12 A0 to A5 are dedicated analog pins, and A6 to A11 are on digital pins. Just like the Uno, the input resolution is 10 bits.
  • All of the digital and analog pins can be used as digital inputs and outputs. There are also seven PWM pins instead of 6, as with the Uno.
  • Since their is not external USB interface chip, the ATmega32u4 can directly talk to your computer. In other words, it can easily behave like a mouse or a keyboard. This makes for some interesting applications for hardware-software automation or video game controllers. There are handy libraries available for mice and keyboard.

Advantages of Arduino

  • Compared to other microcontroller systems, Arduino boards are relatively inexpensive. The Arduino module is the cheapest version that can be assembled by hand and even pre-made Arduino modules cost less than 50 dollars.
  • The Arduino Software (IDE) is provided For Windows, Macintosh OSX, and Linux. The majority of microcontroller systems are only compatible with windows.
  • The Arduino Software (IDE) is easy for beginners, but it’s also flexible enough for advanced users.
  • For experienced programmers, the Arduino software is available as an open-source tool to extend. Those who want to learn more about the language can use C+ libraries and those who want to know more about technical details can switch from Arduino to AVRC programming language.
  • Arduino board blueprints are made available under a Creative Commons license, allowing experienced circuit designers to build, extend, and upgrade their own module version.

Disadvantages of Arduino

  • Arduino cannot run multiple programs at once.
  • There are no memory safety checks.
  • Expensive for CPU power and memory.
  • It lacks built-in communications.
  • It lacks built-in peripherals.
  • Limited number of programming languages and IDEs.
Comments (0)
Leave a Comment