What is an Arduino ?

“Hardware becomes a piece of culture that anyone can build upon, like a poem or song”       —Massimo Banzi

Arduino_Logo

Written by Admin-Make2explore
25 June 2018

Arduino is Very popular single board Microcontroller, It is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. Arduino consists of both a physical programmable circuit board and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board.

What is an Arduino?

According to Wikipedia

Arduino is an open source computer hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices and interactive objects that can sense and control objects in the physical world.” 

The Arduino platform has become quite popular with people who just getting starting out with electronics, and for good reason. One of the main reason of popularity of this device is, unlike most previous programmable circuit boards, the Arduino does not need a separate piece of hardware (called a programmer) in order to load new code onto the board – we can simply use a USB cable. Additionally, the Arduino IDE uses a simplified version of C++, huge source of libraries making it easier to learn to program. Finally, Arduino comes with very handy, compact pocket size, which is a standard form factor that breaks out the functions of the micro-controller into a more accessible package.

You can find the complete introduction and information on official arduino website. (www.arduino.cc)

What is Microcontroller, Microprocessor and Single board Microcontroller ?

Image shows difference Between microprocessor, microcontroller and single board microcontroller.

CPU : A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.

Microprocessor : It is a CPU on a single Integrated circuit (IC). The microprocessor is a multipurpose, clock driven, register based, digital-integrated circuit which accepts binary data as input, processes it according to instructions stored in its memory, and provides results as output.

Microcontroller : A microcontroller (or MCU for microcontroller unit) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals.

Single board Microcontroller : A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program memory and any necessary support ICs. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.

Single-board computer : A single-board computer (SBC) is a complete computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features/peripherals required of a functional computer. These small computers runs dedicated small operating systems.

Arduino Development Boards

Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (‘shields’) or breadboards (for prototyping) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal computers. The microcontrollers can be programmed using the C and C++ programming languages, using a standard API which is also known as the “Arduino language”. In addition to using traditional compiler toolchains, the Arduino project provides an integrated development environment (IDE) and a command line tool.

https://en.wikipedia.org/wiki/Arduino

Arduino Shields

Arduino and Arduino-compatible boards use printed circuit expansion boards called shields, which plug into the normally supplied Arduino pin headers. There are several arduino products i.e boards , shields, modules, kits and accessories you can find tons of information on official arduino website

https://www.arduino.cc/en/Main/Products

Arduino Hardware

Arduino is open-source hardware. Most Arduino boards consist of an Atmel 8-bit AVR microcontroller (ATmega8), ATmega168, ATmega328, ATmega1280, ATmega2560) with varying amounts of flash memory, pins, and features. The 32-bit Arduino Due, based on the Atmel SAM3X8E ARM cortex M0 was introduced in 2012.

The boards use single or double-row pins or female headers that facilitate connections for programming and incorporation into other circuits. These may connect with add-on modules termed shields. Multiple and possibly stacked shields may be individually addressable via an I²C serial bus.

Arduino Uno Board. Image Courtesy allparts.com

Most boards include a 5 V linear regulator and a 16 MHz crystal oscillator or ceramic resonator. Some designs, such as the LilyPad, run at 8 MHz and dispense with the onboard voltage regulator due to specific form-factor restrictions.

Arduino microcontrollers are pre-programmed with a boot loader that simplifies uploading of programs to the on-chip flash memory. The default bootloader of the Arduino UNO is the optiboot bootloader.

Boards are loaded with program code via a serial connection to another computer. Some serial Arduino boards contain a level shifter circuit to convert between RS-232 logic levels and transistor–transistor logic (TTL) level signals.

Current Arduino boards are programmed via Universal Serial Bus (USB), implemented using USB-to-serial adapter chips such as the FTDI FT232. Some boards, such as later-model Uno boards, substitute the FTDI chip with a separate AVR chip containing USB-to-serial firmware, which is reprogrammable via its own ICSP header.

Software and programming tools

The Arduino project provides its own Arduino integrated development environment (IDE), which is used to develop program for arduino. A program written with this IDE for Arduino is called a sketch.

We can also program arduino in any programming language with compilers that produce binary machine code for the target processor. Most of the arduino boards consist of AVR microcontrollers; Atmel provides a development environment for their microcontrollers, AVR Studio and the newer Atmel Studio.

Arduino C/C++ program consist of only two functions:

  • setup(): This function is called once when a sketch starts after power-up or reset. It is used to initialize variables, input and output pin modes, and other libraries needed in the sketch.
  • loop(): After setup() has been called, function loop() is executed repeatedly in the main program. It controls the board until the board is powered off or is reset.

Most Arduino boards contain a light-emitting diode (LED) and a load resistor connected between pin 13 and ground, which is a convenient feature for many tests and program functions. A typical program for a beginning Arduino programmer blinks a LED repeatedly.

#define LED_PIN 13                        // Pin number attached to LED.
void setup() {
pinMode(LED_PIN, OUTPUT);       // Configure pin 13 to be a digital output.
}

void loop() {
digitalWrite(LED_PIN, HIGH);        // Turn on the LED.
delay(1000);                                    // Wait 1 second (1000 milliseconds).
digitalWrite(LED_PIN, LOW);        // Turn off the LED.
delay(1000);                                   // Wait 1 second.
}

This program uses the functions pinMode(), digitalWrite(), and delay(), which are provided by the internal libraries included in the IDE environment.

Some interesting facts about Arduino

  1. The name Arduino

The name Arduino comes from a bar in Ivrea (Bar-duino?), Italy, where some of the founders of the project used to meet. The bar was named after Arduin of Ivrea, who was the margrave of the March of Ivrea and King of Italy from 1002 to 1014.

  1. Prototype

Arduino was initially intended to serve as a teaching tool that would introduce students at the Interaction Design Institute Ivrea to the world of electronics and provide them with an easy way to prototype projects.

  1. Open source

The arduino’s products are distributed as open-source hardware and software, which are licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone.

  1. Arduino Community

There is a amazingly huge community of people using Arduinos and Arduino-compatible boards to create their own inventions, and they tend to share all the instructions needed to recreate their ideas, designs, projects. In short there is definite help available for anyone who want to tinker with arduino.

Summary

Arduino boards are prototype SBM’s which may already/can be embedded with features like Digital I/O’s, Analog I/O’s, UART, SPI, ICSP, Ethernet, WiFi, Bluetooth, GSM and many more.

This post is just just small drop of information about arduino and introduction to arduino and related products, As you can see, the sky’s pretty much the limit !.  And it is depend on you that how much you go into the rabbit hole.

This blog is mostly focused on “Application” rather than “Theory”. I just wanted to put some introductory post. So if you want more information on arduino you can go through web, books, articles, magazines etc.

References

In this post, most of text, images and information is taken from

  1. Wikipedia, the free encyclopedia
  2. Arduino’s official website.