Applications of edge analytics transforming industries and the edge computing market is expected to reach ~$350 by 2027.1 However, the current approach to edge analytics involves machine learning models trained on the cloud. This introduces latency to the system and is prone to privacy issues.
TinyML is a new approach to edge computing that explores machine learning models to be deployed and trained on edge devices.
What is TinyML?
Tiny Machine Learning (TinyML) is a field of study at the intersection of machine learning (ML) and embedded systems that enables running ML models on devices with extremely low-power microcontrollers.
TinyML foundation, later began to identify as EdgeAI foundation. The focus of TinyML was more on running machine learning models on small devices with limited processing power and memory. EdgeAI extended this by incorporating more complex models and utilizing local computing resources for real-time decision-making.
Let’s explain some terms.
Embedded systems are hardware and software systems designed to perform a dedicated function. They are computers, but in contrast to general-purpose computers such as a pc, a smartphone, or a tablet, embedded systems aim to perform specific tasks. Electronic calculators, digital cameras, printers, home appliances, ATMs are all examples of embedded systems.
Microcontrollers constitute the hardware part of an embedded system. These are chips consisting of a processor, RAM, ROM, and Input/Output (I/O) ports, enabling embedded systems to perform their task.
What are the features of microcontrollers?
Some of the key features & information on microcontrollers are:
- Memory: Microcontrollers typically include several types of memory:
- Flash memory: For storing the program code.
- RAM (Random Access Memory): For temporary data storage during execution.
- EEPROM: Non-volatile memory for storing small amounts of data that need to be retained after power is removed.
- I/O ports: Input and output pins that allow the microcontroller to interface with external devices like sensors, actuators, or displays.
- Timers: Built-in hardware for measuring time; generating delays or counting events.
- Communication interfaces: Microcontrollers often include serial communication protocols such as UART, SPI, or I2C to communicate with other devices or systems.
- Analog-to-digital converter (ADC): Converts analog signals from sensors (e.g., temperature or light) into digital data for processing.
- Pulse-width modulation (PWM): Used for controlling power to devices like motors or LEDs by varying the width of the pulse.
- Clock and oscillator: Provides the timing signals that synchronize the microcontroller’s operations.
- Integrated peripherals: Some microcontrollers come with built-in peripherals like motor controllers, display drivers, or wireless communication modules (e.g., Bluetooth, Wi-Fi).
- Low-power devices: A typical microcontroller requires power in the milliwatt or microwatt range, so they consume power more than a thousand times less than a standard computer. This also makes them a cheap option
TinyML brings machine learning to microcontrollers and Internet of Things (IoT) devices to perform on-device analytics by leveraging massive amounts of data collected by them.
10 popular microcontroller boards
To operate with TinyML, a microcontroller board is needed from a hardware standpoint. Table below provides 10 popular microcontroller boards
Microcontroller | Processing Power | Connectivity | Power Efficiency |
---|---|---|---|
Adafruit Feather M4 Express | ARM Cortex-M4, 120 MHz | No built-in connectivity (can be added) | Low to medium power |
Arduino Nano 33 BLE Sense | ARM Cortex-M4, 64 MHz | Bluetooth Low Energy (BLE) | Low power (ideal for battery) |
Espressif ESP32 | Dual-core ARM Cortex-M4, 240 MHz | Wi-Fi, Bluetooth, BLE | Moderate power |
Google Coral Dev Board | ARM Cortex-A53, 1.2 GHz | Wi-Fi, Bluetooth | Moderate power (with Edge TPU) |
Microchip ATmega328P (Arduino Uno) | 8-bit AVR, 16 MHz | No built-in connectivity (can be added) | Very low power |
Nordic Semiconductor nRF52840 | ARM Cortex-M4, 64 MHz | Bluetooth 5.0, BLE | Very low power |
Raspberry Pi Pico (RP2040) | Dual-core ARM Cortex-M0+, 133 MHz | No built-in connectivity (can be added) | Medium power |
Seeed Studio Wio Terminal | ARM Cortex-M4, 120 MHz | Wi-Fi, Bluetooth | Low to medium power |
STM32 Nucleo Board (STM32) | ARM Cortex-M4/M7 (varies) | No built-in connectivity (can be added) | Low to medium power (varies by model) |
Texas Instruments MSP430 | 16-bit MSP430, up to 25 MHz | No built-in connectivity (can be added) | Extremely low power |
Table features:
- Power efficiency: Refers to how much power the microcontroller consumes during operation. For battery-powered devices, lower power consumption extends battery life, which is essential for remote or mobile applications.
- Processing Power: Refers to the CPU core architecture and clock speed. Higher MHz or more cores often indicate more processing capability for running machine learning models.
- Connectivity: Represents the microcontroller’s ability to communicate with other devices, such as Wi-Fi, Bluetooth, or BLE. This is critical for edge AI devices that need to interact with sensors, networks, or the cloud.
Why is TinyML important now?
TinyML delivers intelligence to low-memory and low-power tiny devices by enabling machine learning on them.
A standard IoT device collects data and sends it to a central server over the cloud where the hosted machine learning models provide insights.
TinyML optimizes ML models to work on resource-constrained edge devices. It eliminates the necessity of data transmission to a central server and opens up new possibilities by bringing intelligence to millions of devices that we use every day.
What are the advantages of TinyML?
- Fast inference with low latency: Since TinyML enables on-device analytics without the necessity of sending data to a server, edge devices can process data and provide inference with low latency.
- Data privacy: Keeping the data on the edge device reduces the risk of sensitive data being compromised.
- Doesn’t depend on connectivity: With TinyML, smart edge devices can make inferences without an internet connection.
What are the challenges facing TinyML?
- Limited memory: TinyML devices have kilobytes or megabytes of memory. This puts restrictions on the size and the runtime of the machine learning models deployed on these devices. Currently, there is a limited number of ML frameworks which can meet the requirements of TinyML devices. TensorFlow Lite is one such framework.
- Troubleshooting: Since the ML model trains on the data that the device collects and runs on the device itself, it is harder to determine and fix the performance issues than in a cloud setting where troubleshooting can be done remotely.
What are the use cases and applications of TinyML?
TinyML has the potential to change the settings where IoT data is utilized with reduced latency and improved privacy. Industries that can benefit from TinyML include:
- Manufacturing: TinyML-powered predictive maintenance can reduce the downtime and costs associated with equipment failure.
- Retail: TinyML can be used to monitor inventories and send alerts. This can prevent out-of-stock situations.
- Agriculture: TinyML devices can be used to get real-time data by monitoring crops or livestock.
- Healthcare: Real-time health monitoring enabled by TinyML devices can deliver better and more personalized patient care.
Real life use cases: San Jose’s initiative
Edge AI and TinyML supported Vision Zero solution to improve urban mobility.
Objective
San Jose has set a goal of reducing traffic fatalities to zero. Their approach highlights the value of technology in addressing safety challenges. Another goal was to provide practical insights for local governments and organizations on how to integrate advanced technologies to enhance pedestrian safety.
Challenge
Traditional traffic analysis systems are manual and costly to improve pedestrian safety.
Solution set
- Wireless technology
- Installing cameras on streetlight poles offers effective surveillance
- Sony’s AI-enabled image sensors with are crucial for urban safety
- edge computing: improved data processing
How to implement TinyML?
There are a couple of machine learning frameworks that support TinyML applications. These are:
If you want to read more on analytics and computing on edge devices, check our articles:
- Edge Analytics: What it is, Why it matters & Use Cases
- IoT Analytics: Benefits, Challenges, Use Cases & Vendors
If you have other questions about TinyML, feel free to contact us:
Comments
Your email address will not be published. All fields are required.