The physical differentiation that phygital (physical and digital) applications offer translates to reality through sensors and actuators installed in the environments, which are controlled by embedded systems. These systems are widely used throughout the computational universe, and without us even noticing their presence, they become the primary components of phygital systems we prioritize interactions with the minimum possible friction with users.
According to Carro and Wagner, the design of an embedded system begins with the abstraction of what will be constructed, based on the functionality that one wants to achieve, without considering materials or resources. The project starts with a functional specification, and we must make sure that it is executable for validation purposes. Next, an exploration of the architectural design space must be carried out in order to find an architecture compatible with the initial specification and meet the design requirements in terms of cost, performance, power consumption, area, etc.
The final result of this step is a macro-architecture, which should mention what types of processors or microcontrollers will be used, as well as other necessary components (memories, interfaces, sensors, actuators, dedicated hardware blocks), and the interconnections made through communication infrastructure (one or more buses).
A mapping establishes the necessary partitioning of functions between hardware and software. The existence of estimators is fundamental so that an exploration of the best options to be used is done, accurately informing the metric values of the project, this stage is usually simplified by the previous choice of an architectural platform known and appropriate to the application domain.
According to Ferreira (1998), embedded systems software is implemented in microcontrollers, since they have the flexibility to satisfy applications with very different requirements, various types of I/O (input and output), embedded communication peripherals, among others, using a minimum number of additional components.
Although they are small computers, they are complete because each microcontroller has a processor, memory and I/O capacity. Input and output capability includes: detecting push buttons and switches on a device, thus controlling lights, monitors, sounds, and motors. Another fact is that almost all microcontrollers work in real time and provides an immediate response to the stimulus given to it, which makes its use imperative in applications with such a requirement. In addition, embedded systems often have physical limitations regarding size, weight and power consumption, but the microcontrollers used in such cases can be designed with these restrictions met.
Microcontrollers have become one of the best cost/benefit ratios for processing, low hardware cost and physical space constraints, and can be found on some prototyping platforms that have become popular in recent years; these are ideal for testing ideas and even commercial implementation, because they have more accessible programming than the low-level languages (most commonly used in microcontrollers and with a high level of complexity).
The Phygital Platforms
Among the platforms, we can mention Arduino, characterized as open source hardware, with wide community support and programming based on C++, and Raspberry Pi, which is a complete low-cost computer, having a microprocessor in place of the microcontroller, usually present in this type of board, memory and input and output, and even being the size of a credit card, can be connected to a monitor, keyboard and mouse and do everything that is expected of an ordinary desktop.
Developed as a prototyping tool for educational purposes, Arduino appeared in 2005, composed of a built-in circuit board of a programmable microcontroller, and has input and output pins for connecting devices such as motors, actuators and sensors, and can be used for the creation of numerous electronic designs.
Since their beginning, the Arduino boards have been built in several versions, each one focused on specific applications. The boards have also undergone several updates and upgrades, and today, the most modern models of some versions are: Arduino Uno, Arduino MEGA, Arduino MKR1000, etc.
Each model has some feature that stands out, the Arduino MEGA for example, is one of the most robust boards, based on the ATmega1280 microcontroller, it has 54 digital input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports) 16 MHz oscillator crystal, a USB connection, power source input, an ICSP header, and a reset button.
The Arduino MKR1000 has built-in Wi-Fi module, and is based on the ATSAMW25 SoC (System on Chip) microcontroller, which is part of the SmartConnect family of wireless Atmel devices, designed specifically for projects and devices of Internet of things. This board still boasts 32-bit computing power and a rich set of low power I/O interfaces with a Wi-Fi Cryptochip for secure communication.
Throughout the emergence of the Arduino programming board, Shields have also emerged, being flexible boards for the control of sensing and performance in the environment. They can be connected to the Arduino or stacked together to extend their connection capabilities. Shields usually have some specific function, such as controlling wireless networks, temperature sensors, motor controllers, GPS receivers, displays, among others.
Raspberry Pi, like Arduino, is a flexible and educational platform, but it comes preloaded with interpreters and compilers from different programming languages, including Scratch, C, Ruby, Java and Python. Programs can be written using any of these languages, and run without the need for an operating system; in addition, an entire operating system can be written from the beginning and run on the platform.
The board also has the ability to interact with the outside world through sensors, actuators, lights and motors, and can be used as controller of several designs, having a capacity beyond those developed in other prototyping boards. It is possible, for example, to construct a thermostat in a simpler way using an Arduino board, but with Raspberry Pi, the thermostat could allow remote access and download of temperature history.
The biggest difference between the Raspberry Pi models available in the market are price and features, which meet different application profiles. Among the versions officially supported by the Raspberry Pi Foundation we can mention:
i. Raspberry Pi Zero: simpler and cheaper model, created to cost $5. It features a 1 GHz single-core processor and 1 GB RAM. It also has a microHDMI output capable of transmitting video at 1080p and 60 frames per second. The limitations of this version are caused by its own size: there is only one microUSB port, but it also has microSD card slot and sound output.
ii. Raspberry Pi 3 Model B: third generation B model (model dedicated to robust applications), it increases processor performance to 1.2 GHz, and is capable of working with 64-bit architecture with a 1 GB RAM. It includes wireless interfaces of various types, such as Bluetooth and Wi-Fi, making it unnecessary for users to connect peripherals with these features. It is ideal for those who are interested in projects that rely on more skilled hardware, or that wish to invest in a model that will have a longer cycle.
Once we know prototyping boards and their specifications, what should we do with them? everis has developed its own prototyping architecture, an ideal structure to receive sensing applications and performance in environments, capable of making real the phygital concept, in other words one phygital map (EVERIS Phygital Map, high-level specification environment whose generic example can be visualized in the following figure).
The customer contact will result in refinement of the initial map, based on the applications that will be part of the conference defined by the client, the milestone to follow will be the Client Phygital Map. The integration of various communication protocols and knowledge bases, available in the active everis Phygital Architecture for Real Time Analytics, capable of joining machine learning and analytics to the data collected by the applications, should also be considered. The result of joining these architectures is a Phygital implementation project, shown in the figure below.
CARRO, L.; WAGNER, F. R. Sistemas computacionais embarcados. Jornadas de atualização em informática. Campinas: UNICAMP, 2003.
FERREIRA, J. M. M. Introdução ao projecto com sistemas digitais e microcontroladores. [S.l.]: FEUP Edições, 1998.
TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de computadores. 6. ed. [S.l.]: PEARSON, 2013
MARTINS, N.A.; Sistemas Embarcados — Novatec Editora, São Paulo, 2005.
RAMOS, J. et al. Iniciativa para robótica pedagógica aberta e de baixo custo para inclusão social e digital no brasil. Simpósio Brasileiro de Automação Inteligente (SBAI), 2007.
EVANS, M.; NOBLE, J.; HOCHENBAUM, J. Arduino em ação. [S.l.]: Novatec Editora, 2013.