Tiny Machine Learning(TinyML)
TinyML is a field of study in Machine Learning and Embedded Systems that explores machine learning on small, low-powered microcontrollers, enabling secure, low-latency, low-power and low-bandwidth machine learning inferencing on edge devices. If you're excited about TinyML but not sure where to start, our one-stop guide is perfect for you. This guide provides an overview of what TinyML is, the opportunities it offers, and step-by-step instructions on how to get started. Join this exciting field and start your TinyML journey today!
What is TinyML?
Tiny Machine Learning (TinyML) is a field of machine learning that focuses on the development and deployment of ML models on low power, low-footprint microcontroller devices like an Arduino, for example.
Machine learning is a field of computer systems that aims to develop self-improving algorithms and statistical models. This is done with massive amounts of data, which a model analyses and extracts patterns from in order to learn and improve on a given task. This seemingly simple paradigm has led to groundbreaking advancements in complex tasks like forecasting, anomaly detection, and computer vision!
Recommended Boards Supporting TinyML
Seeed Studio XIAO ESP32S3 Sense
HIGH-PERFORMANCE240MHz Xtensa 32-bit LX7 dual-core processor
MEMORY8MB PSRAM + 8MB FLASH
MULTI-FUNCTIONALMicrophone/SD card slot/Detachable OV2640
WIRELESS2.4GHz WiFi and BLE 5
TINYML-SUPPORTEDImage Processing/Speech Recognition
Seeed Studio XIAO nRF52840 Sense
HIGH-PERFORMANCEARM® Cortex™-M4 32-bit processor with FPU operating at 64 MHz
Memory256 KB RAM + 2MB FLASH
MULTI-FUNCTIONALOnboard microphone and 3-axis IMU
WIRELESSBluetooth 5.0, NFC with onboard antenna
TINYML-SUPPORTEDGesture/Voice recognition
Seeed Studio XIAO RP2040
GETTING STARTED FASTSupport Arduino/Micropython/CircuitPython
COST-EFFECTIVELower the barrier to entry
MORE POWERFUL MCU (RP2040)Dual-core ARM Cortex M0+ Raspberry PI RP2040 chip, running up to 133 MHz
RICH ON-CHIP MEMORY264KB of SRAM, 2MB of onboard Flash
INTERFACE RICH11 digital pins, 4 analog pins, 11 PWM Pins, 1 I2C interface, 1 UART interface, 1 SPI interface, 1 SWD Bonding pad interface
Seeed Studio XIAO SAMD21
USERS’ FAVOURITEFirst pioneering product of XIAO series!
THUMB-SIZEDThe smallest Arduino-compatible board in Seeed Studio board Family
POWERFUL MCU (SAMD21)ARM® Cortex®-M0+ 32bit 48MHz microcontroller(SAMD21G18) with 256KB Flash,32KB SRAM
FLEXIBLE COMPATIBILITYCompatible with Arduino IDE, Breadboard-friendly
INTERFACE RICH11 digital/analog pins, 10 PWM Pins, 1 DAC output, 1 SWD Bonding pad interface, 1 I2C interface, 1 UART interface, 1 SPI interface
Wio Terminal
HIGH-PERFORMANCEATSAMD51 Core with Realtek RTL8720DN BLE 5.0 & Wi-Fi 2.4G/5G Dev Board
Memory4 MB External Flash, 192 KB RAM
MULTI-FUNCTIONALComplete system equipped with Screen + Development Board + Input/Output Interface + Enclosure
WIRELESSReliable Wireless Connectivity, Equipped with Realtek RTL8720DN, dual-band 2.4Ghz / 5Ghz Wi-Fi
TINYML-SUPPORTEDAn Azure certified, Edge Impulse supported device to quickly get started with IoT and TinyML
Grove Vision AI
A pre-trained embedded AI Vision Sensor with Himax HX6537-A processor, OV2640 camera sensor, a digital microphone and a 6-axis Inertial Measurement Unit (IMU), support YOLO v5 and Edge Impulse
MULTI-FUNCTIONALEquipped with OV2640 sensor for image processing
A digital microphone & a 6-axis Inertial Measurement Unit (IMU)
TINYML-SUPPORTEDOfficially supported by Edge Impulse, with 3 customized models to realize mainstream ML functions like object detection
Grove Vision AI V2
It is an MCU-based vision AI module powered by Arm Cortex-M55 & Ethos-U55. It supports TensorFlow and PyTorch frameworks and is compatible with Arduino IDE. With the SenseCraft AI algorithm platform, trained ML models can be deployed to the sensor without the need for coding.
Versatile AI Model Support: Easily deploy off-the-shelf or your custom AI models from SenseCraft AI, including Mobilenet V1, V2, Efficientnet-lite, Yolo v5 & v8. TensorFlow and PyTorch frameworks are supported.
Fully Open Source:All codes, design files, and schematics available for modification and use.
Rich Peripheral Devices: Includes PDM microphone, SD card slot, Type-C, Grove interface, and other peripherals.
SenseCAP K1100
The Sensor Prototype Kit to Quickly Get Started With LoRa® and AI
Deploy in 10 minutes, build an AIoT project through 3 steps
Combinition of ML and LoRa® Technologies
Compatible with 400+ Grove sensors to support extensive applications
Board integration with mainstream platforms for cloud support
Upgradable to SenseCAP series industrial sensors
SenseCAP A1101
TinyML Edge AI enabled smart image sensor, supporting a variety of AI models such as image recognition, people counting, target detection, meter recoignition etc.
TINYML-SUPPORTEDOfficially supported by Edge Impulse, quickly get started training and deploying your ML models!
Support Platforms
Our devices is now supported by a very large number of co-operative platforms and cases.
- Seeed Studio SenseCraft Model Assistant is an open-source project focused on embedded AI.
- Edge Impulse is optimized for sensor-based applications.
- TensorFlow Lite is lightweight and optimized for deep learning.
By supporting these platforms, we enable developers to easily build and deploy machine learning models on edge devices, from microcontrollers to single-board computers.
SenseCraft Model Assistant
SenseCraft Model Assistant is an open-source project focused on embedded AI, developed by Seeed Studio. It offers a range of optimized algorithms for real-world scenarios, making implementation more user-friendly and achieving faster and more accurate inference on embedded devices.
SenseCraft Model Assistant currently supports anomaly detection, computer vision, and scenario-specific algorithms, with more to be added in the future.
It provides a user-friendly platform for training on collected data and visualizing algorithm performance, and its models are designed to run on low-cost hardware such as ESP32, Arduino development boards, and Raspberry Pi.
SenseCraft Model Assistant also supports multiple formats for model export, including TensorFlow Lite, ONNX, and special formats like TensorRT and OpenVINO. With SenseCraft Model Assistant, developers can easily build and deploy machine learning models on a wide range of embedded devices.
Codecraft
Codecraft is based on Scratch 3.0 language and enables programming by simply “dragging and dropping” blocks. In addition to Scratch's ability to program interactive games or animations, Codecraft also supports a variety of common hardware devices, enabling hardware and software integration, which makes programming even more fun.
With Codecraft and Wio Terminal, it is now possible to experience the entire process of embedded machine learning without having to deal with a complex programming environment and programming knowledge.
Powered by Edge Impulse, Tiny Machine Learning is easily accessible by beginners using Codecraft graphical programming. By simple drag-and-drop coding, acquiring data, training, and deploying model is more vivid than ever.
Edge Impulse
Edge Impulse is a powerful machine learning platform for building and deploying embedded machine learning models.
It provides developers with a range of tools for collecting and processing sensor data, designing and training machine learning models, and deploying those models to edge devices.
Edge Impulse is optimized for sensor-based applications and supports a wide range of hardware platforms. With Edge Impulse, developers can easily build and deploy machine learning models on embedded devices, making it a valuable tool for IoT and smart device applications.
TensorFlow Lite
TensorFlow Lite is a lightweight version of the popular TensorFlow machine learning framework, designed for running on embedded and mobile devices.
It provides developers with a range of tools for building and deploying machine learning models on resource-constrained devices, including support for specialized hardware accelerators.
TensorFlow Lite supports a wide range of hardware platforms and is particularly well-suited for deep learning applications. With TensorFlow Lite, developers can easily build and deploy machine learning models on embedded and mobile devices, making it a valuable tool for a wide range of applications in the IoT, mobile, and smart device domains.
Getting Started is Easy
Let's take a look at the kinds of interesting things that TinyML can achieve!
TinyML on XIAO
Edge Impulse on XIAO RP2040 & XIAO SAMD21 | Edge Impulse on XIAO nRF52840 Sense | TensorFlow Lite on XIAO nRF52840 Sense |
---|---|---|
This project covers training and deploying model to Seeed Studio XIAO SAMD21 and Seeed Studio XIAO RP2040 development boards. | Welcome to this quickstart wiki on using Edge Impulse with Seeed Studio XIAO nRF52840 Sense! In this guide, we will explore how to use the onboard IMU sensor to detect human motion and classify different actions. | This wiki will demonstrate how you can use TensorFlow Lite on Seeed Studio XIAO nRF52840 Sense and detect gestures such as punching and flexing using the on-board accelerometer. |
Edge Impulse on XIAO ESP32S3 Sense | ||
This project covers training and deploying model to Seeed Studio XIAO SAMD21 and Seeed Studio XIAO RP2040 development boards. | ||
TinyML on Wio Terminal
Wio Terminal is a powerful and easy-to-use development board designed for makers, hobbyists, and IoT enthusiasts. It features a 2.4-inch LCD screen, Wi-Fi and Bluetooth connectivity, an array of sensors, and a variety of input/output interfaces.
Wio Terminal supports a range of programming languages including Arduino, MicroPython, CircuitPython, and more, making it easy for developers to get started. With its compact and portable design, Wio Terminal is ideal for a wide range of projects, from creating smart devices to building prototypes for industrial applications.
Edge Impulse on Wio Terminal | TensorFlow Lite on Wio Terminal | Codecraft TinyML on Wio Terminal |
---|---|---|
Now, Wio Terminal is officially supported by the Edge Impulse. Let's see how to get Wio Terminal started with the Machine learning at the very edge! | This article introduces how to install the official Arduino Tensorflow Lite library into your Wio Terminal, allowing you to test out some Machine Learning models using Wio Terminal. | A simple voice recognition project using Codecraft graphical programming, Wio Terminal and Edge Impulse. |
TinyML on Grove Vision AI
Edge Impulse on Grove Vision AI |
---|
Grove - Vision AI Module is a thumb-sized board based on Himax HX6537-A processor which is equipped with a 2-Megapixel OV2640 camera, microphone, 3-axis accelerometer and 3-axis gyroscope. It offers storage with 32 MB SPI flash, comes pre-installed with ML algorithms for face recognition and people detection and supports customized models as well. It is compatible with the XIAO ecosystem and Arduino, all of which makes it perfect for getting started with AI-powered camera projects! It is fully supported by Edge Impulse which means you will be able to sample raw data from the camera, build models, and deploy trained machine learning models to the module directly from the studio without any programming required. |
TinyML on SenseCAP A1101
Roboflow/ YOLOv5/ TensorFlow Lite on SenseCAP A1101 |
---|
Seeed SenseCAP A1101 - LoraWAN Vision AI Sensor is an image recognition AI sensor designed for developers. SenseCAP A1101 - LoRaWAN Vision AI Sensor combines TinyML AI technology and LoRaWAN long-range transmission to enable a low-power, high-performance AI device solution for both indoor and outdoor use. This sensor features Himax high-performance, low-power AI vision solution which supports the Google TensorFlow Lite framework and multiple TinyML AI platforms. In this wiki, we will teach you how to train your own AI model for your specific application and then deploy it easily to the SenseCAP A1101 - LoRaWAN Vision AI Sensor. Let's get started! |
TinyML Courese
Wio Terminal Codecraft Course
Rich curriculum resourcesThis course is accompanied by complete project materials and code programs, and all of them are open source on GitHub. All readers are free to use and further study.
Detailed and easy to understand course contentThe course was developed by the Seeed Studio EDU department. The course covers principles, deployment and applications, making the class lively and interesting while the course content is complete and professional.
Curriculum design from the ground upConsidering the realities of student learning, each lesson, or even the entire curriculum system, is designed to move from shallow to deep. To do so, teaching is tailored to the student's ability.
No complex programming fundamentals requiredThe course focuses on programming using the Codecraft platform developed by Seeed Studio, a building block graphical programming platform based on Scratch 3.0. It makes programming easier and more fun, and doesn't require you to have any foundation in the use of high-level programming languages.
Wio Terminal TinyML Basic Tutorials by Seeed Studio
Wio Terminal Edge Impulse Tutorials
Building a Continuous Motion Recognition System with Embedded Machine Learning | Wio Terminal Edge Impulse Audio Scene Recognition with Built-in Microphone | Wio Terminal Edge Impulse People counting with Ultrasonic sensor |
---|---|---|
In this tutorial we show you how to build a machine learning system that can detect continuous motion, how to sample data from real devices, how to design a signal processing pipeline, and how to deploy the model back to the device. | In this project we will learn how to train and deploy an audio scene classifier with Wio Terminal and Edge Impulse. For more details and video tutorial, watch the corresponding video! | In this project we will create a people counting system by using Wio Terminal, an ordinary Ultrasonic ranger and special Deep Learning sauce to top it off and actually make it work. |
Wio Terminal Edge Impulse Anomaly Detection for Predictive Maintenance | Wio Terminal Edge Impulse Distinguish Beverage with Multi-channel Gas Sensor | |
In this project, we will use data from Wio Terminal built-in accelerometer, perform anomaly detection on-device and then send data to Blynk Edgent Cloud. | In this wiki, we will introduce how to use Wio Terminal with Edge Impulse to simply deploy a machine learning project. Wio Terminal with the Grove systems can be very powerful, which brings hundreds of sensor data in for analysis and to possibly evaluate different scenarios! | |
Wio Terminal TensorFlow Lite Tutorials
Wio Terminal Tensorflow Lite Micro Intelligent meteostation with BME280 | Wio Terminal Tensorflow Lite Micro Speech recognition on MCU – Speech-to-Intent | Machine Learning with Wio Terminal - Gesture Recognition |
---|---|---|
In this project we’re going to use Wio Terminal and Tensorflow Lite for Microcontrollers to create an intelligent meteostation, able to predict the weather and precipitation for next 24 hours based on local data from BME280 environmental sensor. | In this project we’re going to employ a more efficient method and directly parse user utterances into actionable output in form of intent/slots. | This tutorial will demonstrates how to use Wio Terminal to set up a simple gesture recognition machine learning demo with the help of TensorFlow Lite. |
Wio Terminal TinyML Tutorials by Udemy
TinyML Appication
Here we will show you some great examples of our TinyML devices. These case studies will be categorised by application scenarios, so we hope you can find something of interest here and join us in realising your ideas!
Human-Machine Interaction
Using TinyML technology it is possible to combine sensor data with machine learning models to enable human-computer interaction applications such as speech recognition, gesture recognition and pose recognition.
Speech Recognition on XIAO nRF52840 Sense | TinyML Made Easy: Anomaly Detection & Motion Classification | Voice Control Toy and Display using XIAO nRF52840 and Edge Impulse |
---|---|---|
This wiki will demonstrate how you can use TensorFlow Lite on Seeed Studio XIAO nRF52840 Sense and perform speech recognition using the on-board microphone. | Exploring Machine Learning on a giant tiny device, the Seeed XIAO nRF52840 Sense. | This demo shows embedded ML voice controlling animation screen display and an interesting toy by XIAO nRF52840 Sense boards. |
TinyML Made Easy: Gesture Recognition | How I Built a Connected Artificial Nose | Liquid Classification with TinyML |
Seeed Wio Terminal programed using Codecraft/Edge Impulse is a fantastic tool for beginners to start on tinyML (Embedded Machine Learning). | Over the past few months, I have worked on a pretty cool project that some of you might have already heard about as it sort of went viral. I built a DIY, general-purpose, artificial nose that can smell virtually anything you teach it to recognize! | Use water quality sensors to measure turbidity and perform classification on a variety of liquids with a machine learning model running on a Seeed Studio Wio Terminal. |
Play chrome's dino game physically | Build Handwriting Recognition with Wio Terminal & Edge Impulse | |
In this project, we are going to play the chrome dino game physically with the help of machine learning and embedded electronics. | In today’s tutorial, I’ll show you how you can build a machine learning based handwriting recognition device with the Wio Terminal and Edge Impulse. Follow this detailed guide to learn how a single time of flight sensor can allow you to recognise handwriting gestures and translate them to text! | |
Retail
TinyML technology can be applied in the retail industry for sales forecasting, customer behaviour analysis, resource optimisation, loss prevention and smart marketing, helping to achieve smarter and more efficient business management and operations.
Pet Activity Tracker using XIAO nRF52840 Sense & Edge Impulse | BLE AI-driven Smartwatch Detecting Potential Sun Damage | Smart Air Cooler using Person Sensor.Ft Useful Sensor |
---|---|---|
Our pets deserve more to stay active. A tinyML model predicts activities based on the data coming from 3 Axis IMU. | Log UV & weather data on an SD card to train an Edge Impulse model. Then, run it to get informed of sun damage over BLE via an Android app. | As every other device is getting smarter in this Era why not add intelligence to our dear old Summer friend Air Coolers? However, what if a sensor could directly present extracted features of image data? Wouldn't that be interesting? |
TinyML 🧠 and Azure IoT with Edge Impulse and Wio Terminal | NMCS: No More Coffee Spills! | AI powered thermal camera for safe camping |
Spring is here, so I can upgrade my Azure IoT Squirrel Feeder and now add Computer Vision capabilities. In order to do this, I'll add TinyML capabilities to my feeder using Edge Impulse to the current scenario. | NMCS is a device that uses its hearing and seeing skills to make sure that your coffee doesn't spill when making your energy booster. | TinyML model running Wio Terminal can identify if animal or human is approaching even in the dark and alert campers. |
Farming
Using TinyML technology it is possible to combine sensor data with machine learning models to automate irrigation, weather forecasting, and crop disease and pest detection.
Vision based Sand Depletion Prevention Kit (VSDP) | Irrigation Level Assessment by Thermal Imaging w/ TensorFlow | Weather prediction with Tensorflow Lite for Microcontrollers |
---|---|---|
I would like to make an infrastructure connected by LoRaWAN which has edge AI nodes monitoring the sand depletion region. | Collect irrigation level data by thermal imaging, build and train a neural network model, and run the model directly on Wio Terminal. | In today’s article we’re going to use Wio Terminal and Tensorflow Lite for Microcontrollers to create an intelligent meteostation, able to predict the weather and precipitation for next 24 hours based on local data from BME280 environmental sensor. |
Edible Algae Growing Cycle Monitor | IoT Food Spoilage Sensor and Monitoring Dashboard | Smart Lake - early detection of algae bloom |
I've decided to come up with a system that will help grow Spirulina Algae in a self contained space. | DeViridi is a smart IoT powered tool which can be used to: monitor food storage conditions and determine food spoilage. | Using data from different sensors and ML on the edge, this device can detect early sign of algae bloom and notify authorities or citizens. |
IoT AI-driven Tree Disease Identifier w/ Edge Impulse & MMS | Plastic Bottle Detector For Lake | NOMOS: Mosquito growth monitoring system |
Detect tree diseases and get informed of the results via MMS to prevent them from spreading and harming forests, farms, and arable lands. | To fight against plastic pollution for marine life. Inspired by the iconic movie character WALL-E, my project aims to raise awareness about the issue of littering and the impact it has on the environment. | Mosquito growth monitoring system based on temperature, humidity, and water flow at the sewer lines to minimize the spread of dengue fever. |
Build a TinyML Smart Weather Station with Wio Terminal! | Fight Fire 🔥 - Wild Fire Prediction using TinyML | Early flash flood warn system |
Learn to build your very own smart weather station powered by machine learning, from data acquisition to training to deployment! | Fight Fire is a wildfire prediction device that will help the firefighting authority to respond quickly to the wildfire. | This idea aims to provide a solution to generate early warnings that allow timely reaction to disasters due to floods or avalanches. |
Industrial
Using TinyML technology it is possible to combine sensor data with machine learning models to automate and optimise production processes such as quality control and equipment maintenance.
ML Anomaly Detection in Elevators w/ Edge Impulse & Notecard | IoT AI-driven Yogurt Processing & Texture Prediction | Blynk | Oil tank leak detection using tinyML |
---|---|---|
IoT devices enable predictive maintenance, ensuring consistent commercial elevator performance and reducing costly repairs and downtime. This is crucial for efficient building flow and public safety, productivity, energy consumption, and quality of life. | Collect environmental factors and culture amount while producing yogurt. Then, run a neural network model via Blynk to predict its texture. | This ML powered device smell diesel and send realtime notification on mobile. Using Wio terminal, Edge Impulse & Blynk. |
Web browser operated robot for gas leak detection | Pipeline Clog Detection with a Flowmeter and TinyML | Detect the Drain Blockage with Tiny ML + LoRa |
Green Hydrogen is an alternative energy that reduces emissions and cares for our planet. However, it is still on its early stages and safety is a major concern as hydrogen leaks should be avoided by all means. In order enable an early detection of gas leaks, we wanted to build a big remote operated robot to carry the required sensing equipment. | As a proposed solution to the problem of pipeline clogs in industrial operations, we are introducing the use of artificial intelligence (AI) and machine learning. Our AI system uses flow rate sensor data to detect clogs in pipelines by analyzing changes in flow rates that may indicate a blockage. | Using an outdoor smart sensor - A1101 to detect the accumulation of leaves, flower and other debris for a balcony drain and alert its user. |
Healthcare
TinyML can be applied to health monitoring to help the medical industry achieve more efficient and accurate health monitoring.
Smart Stethoscope Powered by Edge Impulse | A non-invasive solution for hot flashes |
---|---|
A digital stethoscope that auscultates and detects abnormalities in the respiratory system using tinyML at the edge. | In this project, I build a device which can be used to detect hot flashes and trigger some action to relieve the person, in this case turn on Air Conditioner cooling system using IR emitter. As its input, it takes multidimensional infrared thermal sensor data. Its output will be a simple classification that notifies us if person is recognized and there is a sudden change in temperature has recently occurred. |
Transportation
Voice Activated Robo Car on Microcontroller with TinyML |
---|
Using voice recognition with the in-built microphone, Wio Terminal will be able to recognize the go, stop and background noise by TinyML. |
Animal Husbandry
Wildlife Sanctuary Monitor | Penguin Counting and Monitoring | Gate Keeper - An IoT Based Elephant Detection System |
---|---|---|
A wildlife sanctuary environment and animal monitor to maintain the sustainability of the sanctuary. | A POC for the build of AI object recognition camera's to detect and count Little Blue Penguins as they come ashore and go to sea. | Will guide you to build an IoT based elephant detector based on Grove AI Vision Module and Wio Terminal. |
Microsoft Reactor
Microsoft Reactor Part 1 | Microsoft Reactor Part 2 |
---|---|
AI is no longer stuck in the cloud. Instead of relying on powerful computers with GPUs, the past few years has brought AI to small devices thanks to TinyML – machine learning models that can run on microcontrollers. You may already have devices that use this around you, from voice controlled smart speakers to fitness trackers. In this 2-part show, Jim gets his hands dirty with TinyML, building out a fitness tracker that can distinguish between rowing and running using a small microcontroller from Seeed studios – the Seeed XIAO BLE. Training and deploying these models is super complicated, so Jim enlists help from Edge Impulse, an online tool for capturing training data and building TinyML models. Once Jim has his model, he will deploy it to his device using VS Code and PlatformIO, an extension for VS Code to do microcontroller development. From there he’ll deal with one of the complexities of building low powered fitness trackers, connectivity. A lot of fitness trackers use Bluetooth to sync with a phone app, so Jim will take this route, syncing fitness data to Azure IoT Central from a mobile app. | |
Contribute Your TinyML Project to Us
Join force to build a public resource pool for TinyML by submitting your projects or explorations! By sharing your work, you can contribute to the community's understanding of the challenges and opportunities in the field of TinyML. Whether you're working on object detection, speech recognition, or any other TinyML application, your insights and experiences can help others learn and innovate!
Tech Support & Product Discussion
Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.