Chapter 6. The “Hello World” of TinyML: Deploying to Microcontrollers

Now it’s time to get our hands dirty. Over the course of this chapter, we will deploy the code to three different devices:

We’ll walk through the build and deployment process for each one.

Note

TensorFlow Lite regularly adds support for new devices, so if the device you’d like to use isn’t listed here, it’s worth checking the example’s README.md.

You can also check there for updated deployment instructions if you run into trouble following these steps.

Every device has its own unique output capabilities, ranging from a bank of LEDs to a full LCD display, so the example contains a custom implementation of HandleOutput() for each one. We’ll also walk through each of these and talk about how its logic works. Even if you don’t have all of the devices, reading through this code should be interesting, so we strongly recommend taking a look.

What Exactly Is a Microcontroller?

Depending on your past experience, you might not be familiar with how microcontrollers interact with other electronic components. Because we’re about to start playing with hardware, it’s worth introducing some ideas before we move along.

On a microcontroller board like the Arduino, SparkFun Edge, or STM32F746G Discovery kit, the actual microcontroller is just one of many electronic components attached to the circuit board. Figure 6-1 shows the microcontroller ...

Get TinyML now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.