TinyML is a term which has become famous when engineers start trying the potential of machine learning on limited constraints Edge Devices, like small microcontroller and microprocessors. Today we will enlist few projects which are easy to start and should help to get started with exploring new frameworks which claims to be best fit for ML on microcontrollers like the recently becoming famous framework CMSIS-NN, which is used to inference tensorflow ML models on ARM devices.
Here are the list of projects which anyone should begin playing with offline Edge devices based ML models to deploy ML models on microcontrollers.
Prediction and Classification:
If you really wanted to dive into some Prediction and Classification based ML projects, then here are three most famous microcontroller-based project ideas which should be converted into the ML based projects for maximizing their efficiency as well as exploring the opportunities what TinyML can do for Embedded Systems.
Anomaly detection: This kind of problems could be applied to some projects where we have to detect sensor readings that deviate from normal patterns. This will be indicating potential equipment failures or environmental changes.
Keyword spotting: In Voice activated devices, identify specific keywords or phrases in audio signals are becoming more realistic because of Edge AI and TinyML solutions. Now it is possible to spot the spoken keywords and activate embedded systems to perform some specific tasks attached to that spoken word without the need of any Internet or the backend API calling. This could be done totally offline and completely on the Embedded devices like microcontrollers. The famous Arduino Nano BLE Sense comes with the microphone on board built in due to this specific reason.
Image classification: Now there are many embedded developments board which some with tiny camera built on the board. Like the famous ESP-32 Cam model and the STM32F7 based OpenVM board. This could make possible to implement some system which can classify simple images into categories like presence/absence of objects, basic shapes, or traffic signs.
Predictive maintenance: Under the Prediction category one more very famous problem is to predict when a device needs maintenance based on sensor data. Which causes reducing downtime and costs. So, due to the TinyML it is now possible to build projects which can predict this and totally offline.
Control and Optimization:
One more very famous Embedded Systems application is in Control systems and Optimizations which could be done with the machine learning and could help to increase the performance of the systems.
Motor control: We can create a project where we can adjust motor speed and direction based on input signals for robotics or drones. In the past the fuzzy logic based motor speed control was very famous and perform remarkable accuracy and results. Due to the TinyML we can also make it possible to explore more opportunities and performance benchmarks.
Power optimization: Under the Optimization category we can create a project to optimize energy consumption in devices based on usage patterns and environmental conditions. This will help to reduce electricity bills and to reduce usage of power consumptions even in low power devices.
Process control: Embedded systems are very common in Process Control systems. We can maintain optimal operating conditions for industrial processes based on real-time sensor data. We can implement a TinyML based solutions to achieve fast and robust solutions.
Personalization: By making recommender systems we can personalize user experiences based on individual preferences and usage patterns. We can achieve this with TinyML and provide custom behavior based on user preferences. This will help to improve the Human Machine Interactions.