This board is your entry to the unique Arduino experience: great for learning the basics of how sensors and actuators work, and an essential tool for your rapid prototyping needs
Arduino UNO Rev3 is the most used and documented board in the world
“Uno” means one in Italian and was chosen to mark the release of Arduino Software (IDE) 1.0, now evolved to newer releases
It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset button
Arduino is an open-source hardware, software, and content platform with a worldwide community of over 30 million active users.
Arduino is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices.
Within the scope of this book, a variety of architectural structures are used to introduce technical concepts and fundamentals of an embedded system. I also introduce emerging architectural tools (i.e., reference models) used as the foundation for these architectural structures. At the highest level, the primary architectural tool used to introduce the major elements located within an embedded system design is what I will refer to as the Embedded Systems Model, shown in Figure 1-2.
What the Embedded Systems Model indicates is that all embedded systems share one similarity at the highest level; that is, they all have at least one layer (hardware) or all layers (hardware, system software and application software) into which all components fall. The hardware layer contains all the major physical components located on an embedded board, whereas the system and application software layers contain all of the software located on and being processed by the embedded system. This reference model is essentially a layered (modular) representation of an embedded systems architecture from which a modular architectural structure can be derived. Regardless of the differences between the devices shown in Table 1-1, it is possible to understand the architecture of all of these systems by visualizing and grouping the components within these devices as layers. While the concept of layering isn’t unique to embedded system design (architectures are relevant to all computer systems, and an embedded system is a type
of computer system), it is a useful tool in visualizing the possible combinations of hundreds, if not thousands, of hardware and software components that can be used in designing an embedded system. In general, I selected this modular representation of embedded systems architecture as the primary structure for this book for two main reasons:
The visual representation of the main elements and their associated functions. The layered approach allows readers to visualize the various components of an embedded system and their interrelationship.
Modular architectural representations are typically the structures leveraged to structure the entire embedded project. This is mainly because the various modules (elements) within this type of structure are usually functionally independent. These elements also have a higher degree of interaction, thus separating these types of elements into layers improves the structural organization of the system without the risk of oversimplifying complex interactions or overlooking required functionality.