The concept of what we know as Arduino was developed by the team of the same name in Ivrea, Italy. With the aim of creating a series of easy-to-use microcontrollers. The concept was very successful and we owe it to Massimo Banzi, David Cuartilles, Tom Igoe, Gianluca Martino and David Mellis. So let’s see what are the characteristics of an Arduino board and what makes it different from other similar but different devices, like the Raspberry Pi.
What is Arduino concretely?
Arduino is not really a concrete hardware, but a conceptwhich follow the same guidelines as open source applicationsbut applied in the world of electronics. This means that the people who make the projects with these boards share the blueprints and the code with which their main microcontroller was programmed. This allows others to do the same project, create variations and even improve it.
In recent years, it has become a key element in making electronics more educationally accessible and has broken down barriers to accessibility. This allowed the development of small-scale solutions. Whether in the form of educational projects or even as solutions to specific problems in small businesses. However, for the general public, there is a lot of confusion as to its nature.
It is based on a microcontroller
Specifically in those of the ATMega family. This is important to understand its difference from the Raspberry Pi. While a classic processor today is complex enough to be able to run several processes at the same time in parallel, a microcontroller can only manage one at a time. Therefore, their utility is different and it is normal to see them working in various home appliances. The chip that controls the programs of your washing machine or dishwasher? The safest thing is that a microcontroller performs this task.
After all, for prototyping and simple electronics projects, the power of a complex CPU is not needed. More than anything, because not even 5% of its capacity would be used, it is a waste of energy and much more expensive.
Interfaces and components in Arduino apart from the microcontroller
The strong point of microcontrollers lies in the fact that manage various electrical components who are connected to the same through an orderly program. However, it is not valid only with the microcontroller. For what You have to communicate with the outside. Either to dump a new program or to interact with the different devices and peripherals in the different projects0 with the Arduino boards. Knowing the different interfaces and components that can be found on an Arduino board is essential to understanding the nature of these small boards.
Although these are not directly an interface. A counter is nothing but a memory whose stored value is increased or decreased by 1 with each pulse. Where the clock speed can be its own or be done in the unit itself or be external.
The purpose of a counter is to save the microcontroller processor from having to count its own pulses. Although we can also create a real time clock to equip it with the standard time that we use in conventional clocks. Although the latter is usually rare in a microcontroller.
When programming this type of device, knowing how long each instruction is in terms of clock cycles and having everything well synchronized is something that must be taken into account and is essential for the proper functioning of this type of device. device.
An interrupt occurs when an external device sends a signal that stops the execution of a program to solve its request. In a microcontroller, by its nature, this is difficult to do on a processor that can only handle one process at a time. This is why, in order to manage these requests, the Arduino boards contain a part with the capacity to manage the interrupts in parallel with the microcontroller.
Pulse Width Modulation (PWM)
These acronyms will sound familiar to you from their usage for fans connected to the PC’s motherboard. However, they have other uses. Two that come to mind are controlling the speed of the various motors the Arduino board is connected to. To understand how it works, we have to assume that we have a digital signal that generates a constant pulse and then an analog modulating signal. This will vary the time the signal is high or low.
Serial communication transmits a single bit per clock signal in one or two directions at the same time. They are therefore used to communicate data between two components. These can have one of three different configurations.
- A transmitter and a receiver, each with its corresponding cable and pin through which to pass data. This allows them to work in parallel.
- A system of transmitter and receiver that share a single cable, so they cannot make copies of data in a single cycle.
- A transceiver, which is a device that can transmit and receive at the same time. The problem is that a transceiver cannot send or receive by itself.
Some interfaces are asynchronous, so they don’t share the same pulse and can only send or receive data when their signals match. Instead, others share the same clock signal and can transfer information much faster. As a final detail, we will point out that some Arduino boards use LED indicators to indicate that data is being transmitted.
Analog-to-digital signal converter
Many mechanisms that connect to a microcontroller do not send a digital signal. It is therefore necessary to digitize the signal so that the microcontroller can operate with the data it receives from said peripherals. So in Arduino we have a series of connections for analog signal devices and an ADC between these and the microcontroller.
What makes Arduino different from Raspberry Pi?
There is a big difference between Arduino and Raspberry Pi boards, which you can see in the following table:
|Based on:||8-bit ATMega microcontroller.||64-bit ARM microprocessor.|
|Clock speed:||A few tens of MHz||Above GHz|
|RAM||Internal, low KB||External, UK.|
|Storage||Internal, low KB||External, UK.|
|Main use||Control electrical components connected to a board.||computer on a table|
|Operating system||Nope||Several adapted Linux distributions.|
It should be understood that the chip of a Raspberry Pi is no different from those used in cell phones. It therefore has the ability to run a complex and current operating system. This makes the Arduino used for other functions and so you will see it dealing with hardware and external devices relatively easily. One can even find peripherals that are used in a computer like an external hard drive or a printer that use more complex hardware than an Arduino board. This is because they need a lot more power to work.