Getting Ready to Unlock ML on Microcontrollers
Here we are – on the first step that marks the beginning of our journey into the world of tinyML.
We will start this chapter by giving an overview of this rapidly emerging field, discussing the opportunities and challenges of bringing machine learning (ML) to low-power microcontrollers.
After this introduction, we will delve into the fundamental elements that make tinyML unique from traditional ML in the cloud, on desktops, or even on smartphones. We will revisit some basic ML concepts and introduce new fundamental ones specific to this domain, regarding power consumption and microcontroller development. Don’t worry if you are new to embedded programming. In this chapter and the next, we will provide an introduction to microcontroller programming to ensure everyone has a solid foundation to get started.
Once we have presented the tinyML building blocks, we will focus on setting up a development environment for a simple but meaningful LED application, which will officially kick off our practical journey. In contrast to what we will find in the following chapters, this chapter has a more theoretical structure to get you familiar with the concepts and terminology of this fast-growing technology.
In this chapter, we will cover the following topics:
- Introduction to tinyML
- Overview of deep learning
- Learning the difference between power and energy
- Programming microcontrollers
- Introduction to the development platforms
- Setting up the software development environment
- Deploying a sketch on microcontrollers