Open-Source Hardware Performance in Edge Computing

Written by Dalibor Dobrilovic, Francesco Flammini, Andrea Gaglione, and Daniel Tokody

Considering the recent advances of ICT technologies and the expansion of networked paradigms such as the Internet of Things (IoT), the design and rapid prototyping of scalable architectures in this context are becoming particularly relevant. IoT systems span over a multi-layered architecture, including devices, edge networks, and back-end IoT cloud platforms, which typically offer centralized storing and processing capabilities. The approach in designing IoT systems is gradually changing: processing tasks are moving closer to data sources and alternative design patterns - such as fog, edge, and mist computing - are emerging.

Edge computing brings data processing capabilities directly to the devices or gateway nodes closer to them. Open-source platforms, such as Arduino, are widely used in prototyping IoT products, whereas artificial intelligence (AI) techniques are usually applied for processing data.

 This article investigates the role and applicability of both IoT and AI technologies in edge computing scenarios and presents a performance evaluation of an open-source hardware platform running AI algorithms locally.

 Let’s start with the differences in various architectural approaches. Cloud computing stands for remotely accessible data centers offering their users centralized storage, computing power, and data processing without the need of users to make efforts in maintaining the system. This approach, while having many advantages, also has some drawbacks. The weaknesses of this approach may include high bandwidth demands, high power consumption, complex security issues, and high latency. To overcome these issues new architectural approaches are proposed. These approaches include fog, edge, and in recent times the mist computing. All of these are attempts to decentralized data processing, bringing it close to the users and end devices.



Fig. 1 Microcontroller role in edge computing


Edge computing shifts data processing directly to end devices, with the sensors attached. This provides near-real-time processing, lower latency, and can significantly release the pressure on centralized cloud. Fog computing is located in the area between the end devices and the central part of the system, allowing decentralized computing by processing data at the fog node. Besides the computing capabilities, fog nodes should also have the facilities for storing a certain amount of data. Recently, the paradigm of mist has considered the relocation of computing to the extreme edge of the network, having the micro-controllers and sensors to the computational tasks, right after collecting the data.

 Another interesting phenomenon in the ICT world is the open-source hardware (OSH) movement. This move promotes hardware design to provide all information that allows other users to reproduce and use such hardware. The hardware, its documentation, and components, such as mechanical drawings, schematics, bills of material, PCB layout data, source codes, and software are available for all interested persons. Arduino microcontroller boards are one of the most frequently used open-source hardware platforms. They are applicable in numerous maker’s and home-made projects, but also in developing testing platforms as well as academic development. Considering the popularity of Arduino in making testing platforms for IoT systems, it could be interesting to investigate the possible usage of Arduino and its clones, such as Edge/mist computing device. To achieve this, the performances of Arduino and clone platforms with the implementation of artificial intelligence should be examined.

 The starting point of this research was a GitHub project repository. At GitHub, one can find the diversity of Arduino projects with implemented AI. The search with keywords “Arduino” AND "artificial intelligence" returns 22 repository results. Furthermore, the search with keywords “Arduino” AND "neural networks" gives 92 results; the keywords “Arduino” AND "machine learning" lead to 165 repositories; and “Arduino” AND "deep learning" gives 31 repository results.

 A total of five boards have been tested, Arduino UNO Rev3, Arduino MEGA 2560, NodeMCU, Wemos D1 R2, and Arduino DUE. Arduino boards use an Atmel 8-bit AVR microcontroller, while 32-bit Arduino Due is based on the Atmel SAM3X8E. For comparison, Arduino Uno uses an ATmega328P microcontroller, has 32 KB Flash Memory of which 0.5 KB used by bootloader, 2KB SRAM 1 KB EEPROM, and Clock Speed of 16 MHz. Arduino MEGA 2560 is based on ATmega2560 and has 256KB Flash Memory of which 8 KB is used by bootloader, 8KB SRAM, 4 KB EEPROM, and clock speed of 16 MHz. Next, Arduino DUE is based on an AT91SAM3X8E microcontroller and has 512 KB flash memory, 96 KB SRAM, and a clock speed of 84 MHz. NodeMCU is based on microcontroller ESP-8266 32-bit, has 4MB flash memory, and 64 KB SRAM. Wemos D1 R2 is based on ESP-8266EX.

 The experiment started with one randomly selected AI Arduino sketch. The sketch was modified, primarily to display the time in milliseconds of starting the Arduino AI code, and to display the time in milliseconds after the code completion. The sketch was uploaded to several Arduino platforms. The time data (in milliseconds) were sent to the serial port of the PC, and captured and saved to disk in a CSV file for further statistical analyses. The experiment was used to give an overview of the processing speed of Arduino variants.

 In all five tests, Arduino showed similar results. The code running time was 2.386, 2.392, 2.3, 2.299, and 2.293 respectively. This small experiment shows that Arduino and its clone boards can be used as an edge node with AI support for prototyping in edge computing architecture. The results justify further research in developing AI codes for Arduino edge nodes, and further research guiding to the implementation of intelligent Arduino nodes in various IoT scenarios.


This article was edited by Kristina Kunert

For a downloadable copy of the July 2021 eNewsletter which includes this article, please visit the IEEE Smart Cities Resource Center.

Photo Dalibor.Dobrilovic
Dalibor Dobrilovic is an associate professor at the Information Technology department at the University of Novi Sad, Technical Faculty „Mihajlo Pupin“, Zrenjanin. He has received his PhD in Information technology in 2012. His teaching areas are in the field of Computer Networking, Communication Systems, and Data and computer systems security. His research interests are in the area of IoT, Smart Cities, Wireless communications, Wireless sensor networks, Computer Networking, Engineering education, etc. Dr. Dalibor Dobrilovic has more than 120 research articles published in international journals and conferences and he has participated in several EU and national funded projects. He is a member of IEEE and ACM societies.
frflaa francesco flammini
Francesco Flammini got with distinction his master (2003) and doctoral (2006) degrees in Computer Engineering from the University of Naples Federico II, Italy. He is a Full Professor of Computer Science with a focus on Cyber-Physical Systems at Mälardalen University (Sweden) and the Technical Manager of the RAILS EU funded research project about Artificial Intelligence in railways. He has worked for 15 years in private and public companies, including Ansaldo STS (now Hitachi Rail) and IPZS (Italian State Mint and Polygraphic Institute), on large international projects addressing intelligent transportation systems, critical infrastructure protection and cybersecurity, as a technical leader and unit head. His most current research interests are about resilience of cyber-physical systems and trustworthy autonomy. He is an ACM Distinguished Speaker, an IEEE Senior Member, a member-at-large of the Board of Directors of the IEEE SMC Society, and the Chair of the IEEE SMC Technical Committee on Homeland Security.
andrea brit 1
Andrea Gaglione is a technology professional, IoT expert, and Cloud architect. He heads up the technology workstream at Brit Insurance (London, UK) and is part of the founding team of Ki Insurance, a stand-alone digital insurance company incubated by Brit Insurance, working in collaboration with Google Cloud. He is the leading contributor to the SynchroniCity IoT data marketplace, a data exchange platform for IoT-enabled smart cities. He has nearly 15 years’ experience in academia and industry, working with advanced technologies, building sensor networks, IoT and Cloud infrastructures. He is a recognised speaker on technical innovation topics and challenges. Prior to joining industry, he was a guest lecturer and researcher at the University of Cambridge (UK).
Dr Daniel Tokody
Daniel Tokody (ORCID: 0000-0002-9984-0434) received his doctoral degree in Safety and Security Sciences at the Óbuda University. He is an Electrical Engineer (BSc and MSc). He is a member of the IEEE SMC Technical Committee on Homeland Security. Daniel does research in Safety Engineering, Electrical Engineering, and Railway Engineering. He is a foundation member and lead researcher at NextTechnologies Ltd. Complex Systems Research Institute. His areas of research interest include intelligent systems, intelligent cooperative systems development, and safety-critical systems.


Past Issues

To view archived articles, and issues, which deliver rich insight into the forces shaping the future of the smart cities, please visit the IEEE Smart Cities Resource Center.