A Comprehensive Introduction of TinyML (Part 2)
Adding Voice Control to Existing Smart Home Systems
This series will utilize TinyML for some useful projects. This part aims to add voice control to existing Smart Home Systems with an ESP32 device and TinyML. The next two parts will include Building a Home Security System with Face Recognition and Controlling Lights with a Magic Wand.
Topics Discussed
How to add voice control to existing smart home systems?How to control RGB LED using voice command?What is TinyML?Why use Edge Impulse platforms for ML on edge applications.Why use Arduino Nano 33 BLE Sense for AI applications?How to set up Arduino IDE and Edge Impulse platform?How do you collect audio data for model training?How to create, train, and test the ML model through Edge Impulse?
Tech Used
Arduino Nano 33 BLE SenseOLED displayESP32 BoardnRF 52840 microcontrollerArduino IDEEdge Impulse platformRGB LEDKeras libraryJupyter notebookMobileNetV1 0.1 Keyword Spotting
In the first article of the TinyML series, we covered the basics and created our very first TinyML project wherein we controlled the Arduino’s onboard LED use period instead of exclamation point voice! In this article, we will be creating a far more complex and fun project. I have an ESP32-powered custom board for Home Automation [1]. We will convert our Arduino Bluetooth Low Energy (BLE) Sense into a voice-controlled remote, allowing us to control our home appliances connected to the ESP32 board via voice interactions (Figure 1). This can be scaled further to work with multiple such devices as well.
Figure 1 The project in action with the ESP32 and Arduino BLE Sense devices.
This article is divided into three different parts for easier understanding. In the project hardware section, we will get familiar with the hardware we would be using in this project. Finally, we will see the flowchart, which describes how the project works. In the TinyML model development section, we will create the TinyML model for this project. W