top of page

Arduino - Hardware

photo-1562976540-78c559c80296.jpg

Introduction

​

According to the Arduino website, it is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

​

There are different varieties of Arduino-compatible boards designed to suit your specific project ideas. A few of them include Arduino Uno, Arduino DUE, Arduino nano, Arduino mini, Arduino Pro mega, Arduino micro, Arduino Ethernet, and Lilypad Arduino, to name a few. 

 

The uses of Arduino can range from programming an LED to blink at desired intervals to monitor the temperature of your home from anywhere over the internet: the possibilities end with your imagination.

Why use the Arduino

​

One thing I like about Arduino is the ease of doing things. Arduino helps you focus on your project rather than worrying much about how the microcontroller should be connected to the resonator, voltage regulator and other not so basic components (at least as a beginner).

​

With the availability of various Arduino shields and libraries, you can prototype complex projects easily with just few components and fewer lines of codes. The Arduino IDE also provides you with tons of easy to understand example sketches for you to get started with. Also, because of the large community surrounding the Arduino, getting help when stuck in a project is just a google search away.  

​

The Arduino is software is easy-to-use for beginners, yet flexible enough for advanced users. Arduino boards are relatively inexpensive compared to other microcontroller platforms. The Arduino Software (IDE) is cross-platform, meaning it runs on Windows, Macintosh OSX, and Linux operating systems. Both the Arduino hardware and software are open source. The Arduino software and the schematics are published
under the Creative Commons license. If you have enough experience, you can expand the software through C++ libraries and with the available schematic, you can make your own version of the module, expanding and improving it. 

The best way to get started with Arduino is to get an Arduino starter kit. An Arduino starter kit is a box containing an Arduino development board: mostly Uno or Mega and other components such as sensors, resistors, relay, push buttons, solderless breadboard, proto shield and other numerous electronic components, some kits also come with tutorial disk. 

 

Getting an Arduino kit is economical because getting all these components in a kit is cheaper than getting them individually.

A typical kit and packing list is shown below:

arduino-starter-kit.jpg

Arduino starter kit

Arduino starter kit packing list

Packing list

To get started with Arduino, there are some terms you should be familiar with. Terms such as current, voltage, resistance, actuators, sensors, transducers, and the basic electronic components. You can learn more on this in our course on Basic Electronics.

Arduino Hardware - Arduino Uno

As discussed earlier, there are different varieties of the Arduino boards. But in this tutorial, we will use the Arduino Uno (the most popular Arduino board) for our prototyping.

Arduino Uno board

Arduino Uno R3 board

Taking a quick tour of the Uno. Starting from the left side of the board, there are two connectors.

On the far left of the board you have the Universal Serial Bus (USB) connector. This is used to connect the board to your computer for the for following reasons: to supply power to the board, to upload your instructions to the Arduino, and to transfer data between you’re your computer and the Arduino. On the right side of the board you have the power connector. When the Arduino is not linked to your PC, you can power the Arduino independently by connecting a 9-v AC adapter or 9-volt battery pack with a 2.1 mm jack.

​

At the lower middle is the heart of the board: the microcontroller. The microcontroller is the “brains” of the Arduino. The microcontroller is a tiny computer that contains a processor to executes instructions, also includes various types of memory to hold data and instructions from our program (sketches), and provides various avenues of sending and receiving data, all incorporated in a single chip. The Arduino Uno uses the Atmega328 microcontroller.     

The Atmega328 is a single-chip microcontroller created by Atmel in the megaAVR family (Atmel was later acquired by Microchip Technology in 2016). It has a modified Harvard architecture 8-bit RISC processor core.
It has 32KB Flash memory, 2KB SRAM, 1KB EEPROM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counter, internal and external interrupts. It operates at a maximum frequency of 20MHZ. Available in
dual in-line package (DIP) and surface mount package (SMD), with the DIP having 28 pins and SMD having 32 pins.

atmega328p-pu.png

Atmega328P in 28-pin narrow dual in-line package (DIP-28N)

Atmega328p.jpg

Atmega328P in 32-pin thin quad flat pack (TQFP-32)

The Atmega328 is most commonly found on the Arduino Uno and Arduino Nano models. A common alternative to the Atmega328 is the "picoPower" Atmega328P.  

labelled-arduino-parts-1116x800.png

Just below the microcontroller are two rows of small sockets (female header connectors). The first row from the left provides power connectors and the ability to use an external RESET button. The second row labeled A0 – A5 provides six analog inputs that are used to measure electrical signals that vary in voltage. Furthermore, pins A4 and A5 can also be used for sending data to and receiving it from other devices. At the top of the board, there are two more rows of sockets, as shown below.

 

The sockets (pins or connectors) numbered 0 to 13 are digital input/output (I/O) pins. There can be used to detect the presence and absence of an electrical signal and can also generate a signal on command. Pins 0 and 1 are also known as the serial port, which is used to send and receive data to other devices, such as a computer via the USB connector circuitry such as an FTDI adapter as we will discuss later. The pins labeled with a tilde (~) can also generate a varying electrical signal, this can be useful for making light dimming circuit, or controlling electric motors.

​

Also included in the board are some very useful devices such as the light-emitting diodes (LEDs); these are tiny devices that light up when current passes through them. The Arduino board has four LEDs: one on the far right of the board labeled ON, which indicates when the board has power and other three in another group, as shown below.

ApplicationFrameHost_ZF7rtDYLWU.png

The LEDs labeled TX and RX light up when data is being transmitted or received between the Arduino and attached devices via the serial port and USB. The LED labeled L is for your own use. Example you can program the LED to blink at different intervals. (the L pin is connected to the digital I/O pin number 13). The little black chip to the left of the LEDs is a tiny microcontroller that controls the USB interface that allows the Arduino to send data and receive it from the computer.

​

And finally, the RESET button. Just as a normal computer, sometimes things go wrong with the Arduino, and when all else fails, you might need to reset the system and restart your Arduino. The simple RESET button on the board is used to resolve the above stated problems.

​

One of the great advantages of the Arduino system is its ease of expandability i.e. it is easy to add more hardware functions. The two rows of sockets (header connectors) along the sides of the Arduino allows for the connection of sensors, actuators and shields.

Expanding your Arduino

​

You can add functionality to your Arduino by adding shields. A shield is a circuit board connected (stacked on top) of the Arduino via pins to the socket on the sides. Hundreds of shields are available on the market. A few examples include the Ethernet shield, GPS shield, and microSD card shield.

Ethernet shield

Ethernet Shield Module with Micro SD Card Slot

(stacked on top of an UNO)

You can even make your own shield using the ProtoShield. A ProtoShield is a circuit board that comes with components such as resistors, capacitors, LED, push buttons, solderless breadboard, header connectors, sensors etc. for you to prototype your own custom circuit. ProtoShield come pre-assembled or in kit form.

Arduino proto shield

Proto shield

Building custom circuits on ProtoShield requires strategic and special planning such as designing the circuit, making a schematic, then planning the layout of the components. After testing out the project on a solderless breadboard and making sure it works, the completed circuit for your custom shield is then soldered into place.

bottom of page