Speech recognition on a microcontroller usually means a wake word or a fixed list of commands. esp32-pie-asr, an open-source project by Boumedine Billal, goes further: it transcribes open-vocabulary English speech live on Espressif's ESP32-P4, with no cloud service and no separate neural accelerator. Version 1.0 was released on GitHub on 25 October 2026 under the Apache 2.0 licence, and Open Source For You and Adafruit picked it up on 28 October.
The model and how it fits
The recognizer is Kroko from Banafo, a streaming Zipformer2 transducer with 65.7 million parameters. As released, its int8 weights take about 71 MB. The project squeezes them into 2-bit and 4-bit groups, which brings them down to 26.65 MB. That is still too large for the board's 16 MB of flash, so the weights live on a microSD card and are copied into 32 MB of PSRAM at boot, which takes 2.9 seconds. The heavy maths runs on the chip's two 400 MHz RISC-V cores through hand-written assembly kernels for PIE, the ESP32-P4's SIMD instruction extension.
The numbers
All figures come from the developer's README and have not been checked independently:
- word error rate on LibriSpeech test-clean: 4.34%, against 3.94% for the original model on a PC;
- on the harder test-other set: 10.26%, against 9.17%;
- speed: 1.28 s of audio processed in 0.90 s, or 0.70 of real time;
- delay: a word becomes final about 2 seconds after it is spoken, and 95% of words within 4.1 seconds;
- free internal RAM while running: 121 KB, or 104 KB with the demos loaded.
The README also states that the chip's output is bit-exact with the project's PC build, so the accuracy measured on a PC is the chip's accuracy.
Voice control without a language model
The firmware starts with live transcription and adds six voice-control demos: a robot vacuum, a smart home, a car cabin, a factory line, a kitchen and a presenter. None uses a language model. Each demo is a table of word rules (a verb, then a target, plus numbers, rooms and negations such as "not the bedroom"), and phrase lists on the microSD card bias recognition toward specific words without retraining. With those lists switched on, the developer reports 94-99% of orders recognised exactly and no false actions on 88 near-miss clips per demo. Those tests used text-to-speech clips, and the phrase lists were chosen on the same clips, so real rooms with noise and different voices may give weaker results.
What you need
The project requires an ESP32-P4 of chip revision v3 (sold as ESP32-P4X) with 32 MB of PSRAM, a microphone, a screen and a microSD card. It was built and measured on Espressif's ESP32-P4X-Function-EV-Board. Older P4 v1 boards are not supported. The firmware can be flashed from Chrome or Edge on the project page, or built with ESP-IDF v6.1. The weights are on Hugging Face, and a script downloads, checks and copies them to the card.
Only English is supported. Arabic and a port to the ESP32-S31 are listed as future work. For anyone building an offline voice front end for a home controller or appliance, it is one of the first public projects to show full transcription on a single ESP32 chip, as long as a two-second delay is acceptable.