TinyML Cookbook: Combine artificial intelligence and ultra-low-power embedded devices to make the world smarter (Paperback)

Iodice, Gian Marco



Work through over 50 recipes to develop smart applications on Arduino Nano 33 BLE Sense and Raspberry Pi Pico using the power of machine learning

Key Features

  • Train and deploy ML models on Arduino Nano 33 BLE Sense and Raspberry Pi Pico
  • Work with different ML frameworks such as TensorFlow Lite for Microcontrollers and Edge Impulse
  • Explore cutting-edge technologies such as microTVM and Arm Ethos-U55 microNPU

Book Description

This book explores TinyML, a fast-growing field at the unique intersection of machine learning and embedded systems to make AI ubiquitous with extremely low-powered devices such as microcontrollers.

The TinyML Cookbook starts with a practical introduction to this multidisciplinary field to get you up to speed with some of the fundamentals for deploying intelligent applications on Arduino Nano 33 BLE Sense and Raspberry Pi Pico. As you progress, you'll tackle various 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 temperature, humidity, and the three “V” sensors (Voice, Vision, and Vibration) to gain the necessary skills to implement end-to-end smart applications in different scenarios. Later, you'll learn best practices for building tiny models for memory-constrained microcontrollers. Finally, you'll explore two of the most recent technologies, microTVM and microNPU that will help you step up your TinyML game.

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

  • Understand the relevant microcontroller programming fundamentals
  • Work with real-world sensors such as the microphone, camera, and accelerometer
  • Run on-device machine learning with TensorFlow Lite for Microcontrollers
  • Implement an app that responds to human voice with Edge Impulse
  • Leverage transfer learning to classify indoor rooms with Arduino Nano 33 BLE Sense
  • Create a gesture-recognition app with Raspberry Pi Pico
  • Design a CIFAR-10 model for memory-constrained microcontrollers
  • Run an image classifier on a virtual Arm Ethos-U55 microNPU with microTVM

Who this book is for

This book is for machine learning developers/engineers interested in developing machine learning applications on microcontrollers through practical examples quickly. Basic familiarity with C/C++, the Python programming language, and the command-line interface (CLI) is required. However, no prior knowledge of microcontrollers is necessary.


這本書的標題是《Arduino Nano 33 BLE Sense和Raspberry Pi Pico智能應用的50多個食譜》,它介紹了如何利用機器學習的力量在Arduino Nano 33 BLE Sense和Raspberry Pi Pico上開發智能應用的50多個食譜。

- 在Arduino Nano 33 BLE Sense和Raspberry Pi Pico上訓練和部署機器學習模型
- 使用TensorFlow Lite for Microcontrollers和Edge Impulse等不同的機器學習框架
- 探索微型TVM和Arm Ethos-U55微型NPU等尖端技術


《TinyML Cookbook》從實用的角度介紹了這個多學科領域,讓您快速掌握在Arduino Nano 33 BLE Sense和Raspberry Pi Pico上部署智能應用所需的一些基礎知識。隨著學習的進展,您將解決在原型微控制器時可能遇到的各種問題,例如使用GPIO和按鈕控制LED狀態,使用電池為微控制器供電等。接下來,您將學習與溫度、濕度和三個“V”傳感器(聲音、視覺和振動)相關的食譜,以獲得在不同場景中實施端到端智能應用所需的必要技能。然後,您將學習在內存受限的微控制器上構建微小模型的最佳實踐。最後,您將探索兩個最新的技術,microTVM和microNPU,這將幫助您提升TinyML的能力。


- 理解相關的微控制器編程基礎知識
- 使用麥克風、攝像頭和加速度計等真實世界傳感器
- 使用TensorFlow Lite for Microcontrollers在設備上運行機器學習
- 使用Edge Impulse實現對人聲的響應應用
- 利用遷移學習對Arduino Nano 33 BLE Sense進行室內房間分類
- 使用Raspberry Pi Pico設計手勢識別應用
- 為內存受限的微控制器設計CIFAR-10模型
- 在虛擬Arm Ethos-U55微型NPU上使用microTVM運行圖像分類器



1. Getting Started with TinyML
2. Prototyping with Microcontrollers
3. Building a Weather Station with TensorFlow Lite for Microcontrollers
4. Voice Controlling LEDs with Edge Impulse
5. Indoor Scene Classification with TensorFlow Lite for Microcontrollers and the Arduino Nano
6. Building a Gesture-Based Interface for YouTube Playback
7. Running a Tiny CIFAR-10 Model on a Virtual Platform with the Zephyr OS
8. Toward the Next TinyML Generation with microNPU


1. 開始使用TinyML
2. 使用微控制器進行原型製作
3. 使用TensorFlow Lite for Microcontrollers建立天氣站
4. 使用Edge Impulse進行語音控制LED
5. 使用TensorFlow Lite for Microcontrollers和Arduino Nano進行室內場景分類
6. 建立基於手勢的YouTube播放介面
7. 在Zephyr OS上使用虛擬平台運行Tiny CIFAR-10模型
8. 通過microNPU邁向下一代TinyML