Work with over 50 recipes to develop smart applications on Arduino Nano and Raspberry Pi Pico using the power of machine learning
Key Features
- Train and deploy machine learning applications on Arduino Nano and Raspberry Pi Pico to make intelligent devices
- Work with different ML frameworks and libraries such as Edge Impulse, CMSIS-NN, TensorFlow and uTVM
- Explore solutions to enable microcontroller privacy and security
Book Description
TinyML is a fast-growing field of study that combines machine learning technologies with embedded hardware and software to enable AI on extremely low-powered embedded systems such as microcontrollers.
TinyML Cookbook starts with a practical introduction to TinyML to get you up to speed with the working environment and some of the fundamentals for deploying applications on Arduino Nano and Raspberry Pi Pico. As you progress, you'll learn how to tackle a variety of problems that you may encounter while prototyping microcontrollers such as controlling the LED state with GPIO and a push-button, supplying power to microcontrollers with batteries, and more. Next, you'll cover recipes relating to the three "V" sensors (Voice, Vision and Vibration) to help you gain the necessary set of skills to implement end-to-end smart applications in different scenarios. Later, the book explores two of the most recent technologies such as uTVM and uNPU that will help you step up your TinyML game. Finally, you'll discover the benefits of on-device machine learning on microcontrollers from a privacy and security point of view.
By the end of this book, you'll be well-versed with best practices and machine learning frameworks to develop ML apps easily on microcontrollers and have a clear understanding of the key aspects to consider during the development phase.
What you will learn
- Implement an LED indicator on the solderless breadboard
- Acquire data from a camera module, inertial sensors, and microphones
- Run ML on-device with TensorFlow Lite for microcontrollers
- Build an end-to-end smart application that responds to human voice with Edge Impulse
- Tune latency with AutoTVM on Arduino Nano
- Use the dual-core Raspberry Pi Pico to build a music player controlled by gestures
- Interact with different microcontroller peripherals such as I2C, GPIO, PWM and SPI
- Explore Arm Ethos-U NPU to move toward the next AI generation of microcontrollers
Who This Book Is For
This book is for ML developers/engineers interested in learning how to build machine learning applications on low-power microcontrollers quickly. The book assumes basic knowledge of machine learning as well as C/C++ programming and Python programming experience.
Table of Contents
- Getting Started with TinyML
- Prototyping with Microcontrollers
- Building a Weather Station with TensorFlow Lite for Microcontrollers
- Voice Controlling LEDs with Edge Impulse
- Indoor Scene Classification with TensorFlow Lite for Microcontrollers and Arduino Nano
- Building a Gesture-Based Interface for YouTube Playback
- Testing TinyML on Emulated Devices with Zephyr OS
- Toward the Next TinyML Generation with microNPU