Introducing TinyML
What is TinyML? TinyML refers to Tiny Machine Learning and it is a nascent but growing field where machine learning (ML) tools are used on resource-constrained hardware, such as an RP2040 microcontroller, to interpret sensor data. The resource constraints refer to the limited memory and processing power available on a microcontroller compared to a server with enormous processing power and GPU. TinyML allows you to interpret data on a microcontroller powered by a coin cell. A device that can interpret sensor data using TinyML tools locally instead of having to upload the data to the cloud is called an edge device.
Let's illustrate this concept with an example. The following diagram shows the flow of data in a typical IoT application, where we have a device that is collecting data from various sensors and forwarding it to the cloud. The inference happens in the cloud and the server running in the cloud instructs the gateway to turn devices on/off: