Run AI on a £5 chip: a wake word that works with no internet
Say "Hey Jarvis" and a lamp clicks on, with no cloud, no app and no Wi-Fi. A neural network on an ESP32-S3, a chip that costs less than a coffee, listens through a £3 microphone and decides in a few tens of milliseconds whether you said the word. Flash it with ESPHome from one YAML file, switch a relay, tune out false triggers, and see the two routes to your own word.
- Real power numbers: how to measure what it draws and what that costs a year
- Your own word: the account-free microWakeWord route and the optional Edge Impulse route
- An ESP32-S3 board with PSRAM, for example a Seeed Studio XIAO ESP32S3 ↗ (around £9 inc VAT)
- An INMP441 I2S microphone module (around £3 each in multipacks), jumper wires and a USB-C data cable
- Optional: a 3.3V-trigger relay module (around £3) and a USB-C power meter (around £10)
- uv to run ESPHome without installing it: Put AI in your terminal
- Comfort with the terminal: Terminal survival kit
How a wake word fits on a microcontroller
Know what the chip is actually doing, so tuning and troubleshooting make sense.
The pipelineThe microphone streams 16,000 samples a second. Every 10 ms the chip turns the newest 30 ms of sound into 40 numbers describing how much energy is in each frequency band (a spectrogram slice, with noise suppression and automatic gain built in). A small quantised neural network reads those slices as they arrive and outputs one number: the probability that the last second or so of audio was your wake word. When that probability stays high for several windows in a row, it fires.
Why it fitsThe models used here, from the open-source microWakeWord ↗ project, are streaming convolutional networks quantised to 8-bit integers and run with TensorFlow Lite for Microcontrollers. The Hey Jarvis model's manifest asks for a 22,860-byte working area: about 22KB. The ESP32-S3 has vector instructions for exactly this kind of maths, plus 8MB of PSRAM on the XIAO board.
Why it's privateNothing leaves the board. There's no Wi-Fi in this build at all: the audio is processed and thrown away 10 ms at a time.
The route in this missionESPHome ↗, the open-source firmware builder, has a
micro_wake_wordcomponent with four ready-trained words: okay nabu, hey jarvis, hey mycroft and alexa (model repository ↗). You describe the hardware in one YAML file, ESPHome builds and flashes the firmware. No account anywhere.Everything you'll use is in one kitDownload the kit: the ESPHome YAML, a parts list and a manifest template for your own trained word.