The Secret Life of Arduino
It is often said that necessity is the mother of inventions. It is also commonly known that safe are those who change their standard to conform to the world, and troubled are those who try to change the world to conform to their standards. However, it is those that transform the world that has a significant impact on the world. This is the same case with the birth and development of the Arduino development board. Arduino borrowed a lot from Wiring. Therefore, to discover the secret life of Arduino, we have to examine the journey of Wiring.
Hernando Barragán first developed Wiring as a master’s thesis project at the Interaction Design Institute Ivrea (IDII) in Italy. The thesis Write-up can be found here. The objective of the thesis was to simplify the application of electronics in art and design by abstracting some of the major elements needed in the project and making it easy for the artists and designers to focus on their core functions instead of bothering with complex electronics. Wiring also hinged on Process, which Casey Reas developed. However, it worth noting that Casey Reas and Massimo Banzi were Hernando Barragán’s supervisors. The project received significant attention within IDII and was used as a basis for several other projects from 2003 until the school’s closure in 2005. In addition, the wiring project became the bedrock of Arduino since the Founders of Arduino forked the wiring project and built a cheaper board.
Arduino Comes In
Now let’s look at the journey of Arduino and its life through the years. The first Arduino board was born in 2005 in the classrooms of the Interactive Design Institute in Ivrea, Italy. Massimo Banzi and other founders created the Arduino board. The board was created to reduce the price of available prototyping boards and provide a versatile way to include controllers in electronic prototyping. Therefore, the board was expected to enable even novice to create great things using microcontrollers and programs (Arduino still strive to be as user friendly as possible). The board was introduced to the market at a low price below $30, which was significantly lower than the available alternatives such as the Parallax Javelin Stamp microcontroller. Arduino also built on the Wiring project to include motors, relays, and sensors, improving its versatility and functionality.
To achieve the desired goals, the team chose AVR family of 8-bit microcontroller (MCU or µC) devices from Atmel and designed a self-contained circuit board with easy-to-use connections, wrote bootloader firmware for the microcontroller, and packaged it all into a simple integrated development environment (IDE) that used programs called “sketches.” The modern Arduino boards still use microprocessors developed by the Atmel Corporation of San Jose, California. Furthermore, most of the Arduino boards use 8-bit AVR series of microcontrollers with Arduino Due as an exception since it uses an ARM Cortex-M3 32-bit processor. The project was initially named Arduino as it was majorly a class project. In addition, the board was named after a local bar Massimo Banzi frequented near the school.
One of the market advantages of Arduino is its user-friendly development
environment. the software is based on a C++ programming language with a friendly syntax, making it an entry-friendly development board with the capability of tackling advanced projects. Furthermore, many libraries can be used to program sensors, actuators, and communication modules on the go. The current version of Arduino IDE is also compatible with other boards in the market; one only has to develop the board bootloader and programmer.
Types of Arduino Devices
There are several Arduino boards developed over the years, from 2005 to date.
Arduino is an open-source project. Therefore, a large number of boards may use a similar board makeup but with a slight variation on the parts and capability. The first popular board was Arduino Diecimila which was released in 2007. However, over the years, Arduino took advantage of the Atmel AVR MCU devices to produce various mainstream boards. However, Arduino Due, released in 2012, was the first board to utilize a 32-bit ARM Cortex-M3 processor. Therefore, the board had a significantly different processing capability and pin arrangement. However, other Arduino boards have a slightly different pin configuration compared to the traditional Arduino boards. Most of the boards with a different pin arrangement were developed for a specific purpose, Lilypad for wearables, Esplora for handheld devices, Mini, Micro, Nano, and Pro-mini for compact devices. New Arduino boards are released every year to address different niches. However, the most common Arduino board in the market is the Arduino Uno due to its simplicity and reliability, more so for beginners.
Furthermore, due to the advancement of processor technology and chip designs, newer boards have advance capabilities, more memory, and enhanced input-output capabilities. However, most boards maintain similar pin arrangements and are generally compatible with older breakout boards and sensors. Furthermore, the newer versions of Arduino still run most of the sketches created for the older versions of Arduino. However, it is worth noting that one should review the pin numbers due to changes in the pin arrangement before using a code created for different.
The table below represents the historical sense of Arduino boards released since 2005 to date.
|Board Name||Year||Microcontroller Type||Board Name||Year of Release||Microcontroller type|
|Fio||2010||ATmega328P||Yún||2013||ATmega32U4 + Linino|
From the table, it is clear that the latest Arduino boards use the ATmega32U4. Despite being similar to ATmega328, it incorporates an integrated USB to serial interface component that eliminates one of the ICs used in the earlier models, such as Uno. The programming interface of the boards with the new processor also behaves differently. However, most people may not notice the subtle difference.
Arduino Boards in Picture
Let’s look at images of some of the standard Arduino boards developed since 2007.
Arduino Compatible Devices
The open-source nature of Arduino has enabled various developers to produce boards that are compatible with the Arduino software by including a bootloader similar to the ones in the other Arduino boards. Furthermore, Arduino integrated development environment support a wide variety of boards with a singly different bootloader as long as the loading library is included in the IDE. Therefore, the compatible boards can be programmed using the Arduino IDE by selecting the appropriate board from the drop-down panels. Furthermore, Arduino compatible device is where the I/O pins are arranged to match the official Arduino. The hardware-compatible Arduino boards typically look like the official boards apart from the Arduino logo. Other Arduino software compatible boards do not look like the official Arduino board but can be programmed with the Arduino IDE. The core of Arduino is a microprocessor and a preinstalled bootloader. Therefore, one can develop any board as long as they contain the processor and an Arduino compatible bootloader. One can use ATmega AVR IC with the firmware uploaded into it. Therefore, many people usually build their own Arduino compatible boards for various functions. However, it is also worth noting that some official Arduino boards such as Mini, Micro, Nano, and Lilypad do not use the conventional I/O pin layout but can still be programmed using the Arduino IDE.
Arduino Naming Convention
The Arduino circuit design and software are generally open-source. However, the Arduino team has reserved the name Arduino for the official designs, and the logo is also trademarked. Therefore, there are many boards that behave exactly like the official Arduino boards but with different names. For example, some of the boards use the suffix “-duino” or “-ino” in their names, such as Freeduino, Diavolino, and others use the specific model’s name, such as Uno or Mega2560. Therefore, you are welcome to copy the circuit designs but not the logo and Arduino name.
What Can be Done With Arduino
Arduino can be used with a variety of sensors and actuators to build a variety of projects. Arduino’s main advantage lies in its power and capability of the AVR microcontrollers and the readily available shield, low-cost sensors, and actuator modules that can be interfaced with the board. However, since Arduino has a huge capability, it is better to look at some of the constraints that may hinder the board’s application in some projects. The first constraint is memory, the AVR MCU does not have ample memory space for code storage and variable, and the boards do not have a way to add more memory for code storage. However, ATmega32 and ATmega128 can use external memory, but they are no longer used in the newer models.
Furthermore, Arduino was created with the assumption that the controller will have I/O pins for running shorter codes. Therefore, unlike other robust boards such as raspberry pi, Arduino was not designed like computers that could accept RAM and hard disks drive. Consequently, you have to ensure that the intended program does not consume lots of memory. Alternatively, one can interface the Arduino with other boards with better memory capabilities. The second constrain the speed; Arduino typically clock speeds between 8 to 20MHz. However, despite being slower than most computers, the AVR microcontroller is an efficient Reduced instruction set computer design, significantly improving the processing capability. Furthermore, most of the Arduino function does not require very high speeds since most real-world occurrences are pretty slow. For instance, to determine the distance of an obstacle in a robot, we need only a pulse every 100 milliseconds. Therefore, an Arduino with 16MHz has significantly more processing capability than the demand. The other constrain is power management. Since Arduino usually is just a PCB design to hold the microcontroller, it is possible to overheat the ICs when too much current is supplied or drawn from the board. Taking into considerations all the constraints discussed above, these are some of the typical applications or Arduino boards.
- Performance art
- Dynamic lighting control
- Dynamic sound control
- Kinematic structures
- Audience-responsive artwork
- Small-scale automation
- Automated greenhouse
- Automated aquarium
- Laboratory sample shuttle robot
- Precision thermal chamber
- Automated electronic test system
- Small-scale control
- Small robots
- Model rockets
- Model aircraft
- Quadrotor UAVs
- Simple CNC for small machine tools
- Real-world monitoring
- Automated weather station
- Lightning detector
- Sun tracking for solar panels
- Background radiation monitor
- Automatic wildlife detector
- Home or business security system
Arduino has lived to fulfill most of the founder’s visions. The board has become mainstream in most learning institutions due to its reliability and user-friendliness. However, other boards with better capabilities of similar capabilities can be used for advanced projects or projects out of the significant constraints. Such boards include but are not limited to raspberry pi, NodeMCU, Teensy 3, MSP430 Launchpad, STM32, PocketBeagle. You can also build your own Arduino board.
You can buy Arduino components and boards at our store Novatech.co.ke