ArduinoTutorials

What is an Arduino?

Arduino is Very popular single board Microcontroller SBM, 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.

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.” 

Wikipedia

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 ?

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 (MPU) : 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.

Examples of Microprocessors – Classic Z80 and MPU8085, etc.

Microcontroller (MCU) : 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.

What is difference between Microprocessor and Microcontroller

Examples of MCU – AVR, PIC, 8051

Single board Microcontroller (SBM) : 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. These boards are intended to be easy to use and are popular among hobbyists, students, and prototype’s for various electronics projects.

Examples of SBM’s – Arduino Uno, Nucleo STM32, Texas Lauchpad TMCx, etc.

System on a Chip (SoC) : It is an integrated circuit that incorporates all the components of a complete electronic system onto a single chip. A typical System on a Chip will include a microprocessor or CPU, memory (RAM), storage (usually flash memory), input/output interfaces, and various other peripherals such as graphics processing units (GPUs), communication modules, and sensor interfaces.

What is difference between CPU, MPU, MCU and SoC?

Single-board computer (SBC) : 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.

Examples of SBC’s – Raspberry Pi, BeagleBone Black, NVIDIA Jetson Nano, Intel Galileo, etc.

In summary, the main differences between these terms lie in their design, complexity, and purpose:

  • CPU is a general term for the central processing unit in any computing device.
  • Microprocessor refers to a compact and integrated CPU used in general-purpose computing devices.
  • Microcontroller is a small and self-contained computer system designed for embedded applications with integrated CPU, memory, and peripherals.
  • Single Board Microcontroller is a microcontroller system built on a single circuit board, often used for electronics projects and prototyping.
  • Single Board Computer is a complete computer system on a single circuit board, capable of running operating systems and performing more complex tasks than microcontrollers.

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.

There are wide range Arduino boards are available. You can choose them as per your application. On following link you will find collection of Arduino Boards on their official website.

Website – https://store.arduino.cc/collections/boards

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.

There are wide variety Arduino Shields are available. You can choose them as per your application. On following link you will find collection of Arduino Shields on their official website.

Website – https://store.arduino.cc/collections/shields

Arduino Uno Hardware

Arduino is open-source hardware. Most Arduino boards consist of an Atmel 8-bit AVR micro-controller (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.

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

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.

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.

The first Arduino ever made – Image Courtesy, Wikipedia, the free encyclopedia

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.

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

In this comprehensive blog article, we delve into the fascinating world of Arduino, the versatile microcontroller development platform that has revolutionized the maker community. Designed for beginners, hobbyists, and experienced electronics enthusiasts alike, this guide offers a step-by-step introduction to Arduino and its limitless possibilities.

The article kicks off by explaining what Arduino is and how it functions as a powerful but user-friendly tool for creating interactive electronic projects. Readers will gain insights into the various types of Arduino boards available, each tailored to specific needs and skill levels.

Next, the blog explores the fundamental components that make up an Arduino board, such as microcontrollers, input/output pins, and power sources. Understanding these core elements sets the stage for the creative journey ahead.

With a solid foundation in place, the article introduces readers to the Arduino Integrated Development Environment (IDE), the software used to program and upload code to Arduino boards. Easy-to-follow instructions guide beginners through the process of writing their first “Hello, World!” program and lighting up an LED.

This post is a 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 deeper into the rabbit hole.

References

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

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

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button