Understanding Arduino Architecture

Published on . Written by

Understanding Arduino Architecture

Arduino is an open-source hardware platform that is being used by people around the globe for building electronics projects. It is an integrated platform which contains both a physical programmable circuit otherwise known as microcontroller and a software (or IDE) that you can run on your computer to write and upload the code onto the physical board

Read more..

Arduino Board is quite popular among many people who want to get started with electronics, and unlike other embedded system boards Arduino does not require any additional hardware to upload the code (generally known as programmer). The Arduino Program can be written and uploaded using the Arduino IDE that needs just an USB cable to connect. Since the interface is simple and complicacies are less, Arduino is preferred by most of the aspiring engineers.

Here, we will try to understand the Arduino Architecture and its functionalities.

Arduino Technology

In the recent years the Arduino has been the microcontroller (or the Brain) for most of the projects. This is possible due to the simplified technology and user friendly interface that Arduino provides to the makers, from students, hobbyists to the professionals.

Arduino technology is more focused on fast prototyping, aimed at the amateurs who want to get started in electronics and projects. Over the years, Arduino has transformed from simple 8-bit board to an integrated part of wearable, IoT (Internet of Things) & other advanced technologies. Arduino interface is easy to use for the amateurs and yet provides the flexibility to do advanced projects.

The Arduino has been integrated with 3 different types of memory which makes the Arduino technology user friendly. Those memories are,

  • Flash memory: It is a non-volatile memory that is used for storing application, which explains why you don't need to upload your application every time you unplug Arduino from its power source.
  • SRAM memory: It is a volatile memory that is used for storing variables used by the application when it is running.
  • EEPROM memory: It is also a non-volatile memory that is used to store data which must be available even after the board is powered down and then powered up again.

Arduino Architecture

The processor of the Arduino Board uses Harvard Architecture for which the program code and program data have separate memory. The memory of it is divided into two namely program memory and data memory. The data will be stored in the data memory whereas the programme code will be stored in the flash program memory.

For ex; The Atmega328 microcontroller has 32kb of flash memory, 2kb of SRAM, 1kb of EPROM and operates at 16MHz clock speed. Some of the other basic functions of Arduino are:

  • Digital read pin reads the digital value of the given pin.
  • Digital write pin is used to write the digital value of the given pin.
  • Pin mode pin is used to set the pin to I/O mode.
  • Analog read pin reads and returns the value.
  • Analog write pin writes the value of the pin.
  • Serial. Begins pin sets the beginning of serial communication by setting the rate of bit.

Arduino Programming

The Arduino Software (IDE) runs on Windows, Macintosh OSX and Linux Operating Systems. But most microcontroller system software requirements are limited to Windows only. The Arduino Software is provided as an open source tool for the beginners and students to write and upload the program onto the microcontroller. It is similar to the processing programming environment so you can get used to the interface immediately.

The Arduino programming language can be extended to multiple C++ libraries and you can also use AVR-C programming on this system. With this, you will be able to add AVR-C code onto the Arduino Programme directly.

‘Sketches’ is the term used to denote the programming of the Arduino Board. Each sketch contains three parts - Variables Declaration, Initialization and Control code. Following are the steps to programme the Arduino Board:

  • Initialization is written in the setup function and Control code is written in the loop function.
  • The sketch is saved with .ino format and operations like opening a sketch, verifying and saving can be done using the tool menu.
  • The sketch must be stored in the sketchbook directory.
  • Select the suitable board from the serial port numbers and tools menu.
  • Select the tools menu and click on the upload button, then the boot loader uploads the code on the microcontroller.

Applications of Arduino Technology

Since it runs on Mac, Windows and Linux, it is used by large number of communities for building projects. Arduino can be used to build simple scientific projects that would prove some chemistry & physics principles or it can also be used to build electronics and robotics projects that involve programming. Builders, Architects, Designers, Musicians, Artists, Engineers use this technology to build interactive prototypes to experimental musical instruments etc,.

Although there are many other microcontrollers available, many prefer Arduino as this particular platform provides a much simpler interface and also writing & uploading the programme onto the microcontroller is very much simplified. Some of the projects that you can build using Arduino technology are,

Leave your comments below..




Which projects do you want to build?

Kits shipped in 24 hours
Build using online tutorials

IOT Projects for Engineering Students
Robotics Projects for Engineering Students
Mechatronics Projects for Engineering Students
STEM Projects for School Students
Electrical Projects for Engineering Students
Electronics Projects for Engineering Students
Civil Projects for Engineering Students
Mechanical Projects for Engineering Students
Computer Vision Projects for Engineering Students
Automation Projects for Engineering Students
Wireless Projects for Engineering Students
Arduino Projects for Engineering Students

Subscribe for Updates