Speech recognition on microcontrollers usually means keyword spotting: a small network that listens for a wake word or picks from a short list of commands. A new open-source project called esp32-pie-asr goes further. It runs a full streaming English speech recognizer on Espressif's ESP32-P4, transcribing open vocabulary word by word with no cloud connection and no separate neural accelerator. The developer, Boumedine Billal, published release v1.0 on GitHub on October 25, 2026 under the Apache 2.0 license. Open Source For You covered the project on October 28.
Every performance figure below comes from the developer. No independent benchmark has been published yet, and Open Source For You also labels the demo results as developer-reported.
The model: a 65.7M-parameter transducer cut to 26.65 MB
The recognizer is Kroko, a streaming Zipformer2 transducer from Banafo with 65.7 million parameters, according to the project README. A transducer emits text continuously as audio arrives, which is why it suits live transcription better than models that wait for a whole utterance.
At full size the weights take about 71 MB, which is far beyond what a microcontroller can hold on-chip. esp32-pie-asr quantizes them to a mix of 2-bit and 4-bit values, which brings the total to 26.65 MB, roughly a 2.7x reduction. The weights are stored on a microSD card and loaded into the board's 32 MB of external PSRAM at startup. The README gives a load time of 2.9 seconds.
The README also reports what the quantization costs in accuracy. On the standard LibriSpeech benchmark with beam search over 4 hypotheses, the ESP32-P4 build scores:
- test-clean: 4.34% word error rate (WER), against 3.94% for Kroko as released, running on a PC
- test-other: 10.26% WER, against 9.17% on PC
That is a loss of 0.40 percentage points on clean read speech and 1.09 points on the harder test-other set. For a model squeezed to 2 and 4 bits, that is a small penalty, provided the numbers hold up when others reproduce them.
Speed and latency on two 400 MHz cores
The developer reports a real-time factor of 0.70: the chip processes 1.28 seconds of audio in 0.90 seconds with both cores running at 400 MHz. Because the system is faster than real time, it can keep up with continuous speech, with some headroom left over.
Latency is a separate number. According to the README, a word is finalized about 2 seconds after it is spoken, with a median of 1.9 to 2.3 seconds, and 95% of words are finalized within 4.1 seconds. That is acceptable for dictation-style transcripts and command phrases. It is noticeably slower than the near-instant reaction of a dedicated wake-word engine.
Memory is tight but workable. The README reports 121 KB of internal RAM free with the recognizer running, and 104 KB once the demo applications are loaded.
Why the ESP32-P4 can do this
The ESP32-P4 is Espressif's high-performance part. According to Espressif's product page, its high-performance system has:
- a dual-core RISC-V CPU running at up to 400 MHz, with a single-precision FPU and AI instruction extensions
- a separate LP-Core running at up to 40 MHz
- 768 KB of on-chip SRAM, accessible as cache when external PSRAM is available
- 8 KB of zero-wait TCM RAM
- MIPI-CSI with an integrated ISP, and MIPI-DSI, up to 1080p for both display and camera
The project's name comes from PIE, the SIMD instruction extension the README says the two RISC-V cores use for the calculations. SIMD lets a core process several low-precision values in a single instruction, which suits a 2- and 4-bit model, where much of the work is large numbers of narrow multiply-accumulate operations. The other half of the design is memory: per the README, the weights and state live in the 32 MB PSRAM, so a 26.65 MB weight set can run on a chip whose on-die SRAM is under a megabyte. The README's 121 KB of free internal RAM suggests that headroom is the tighter constraint for anyone adding their own application code.
Demos: voice control without a language model
The project ships six voice-control demos, including smart home, robot vacuum and car cabin scenarios, according to Open Source For You. The demos do not use a language model to interpret what was said. The README says each one maps the transcribed text to actions through word rules, and users can edit phrase lists on the microSD card. The developer reports command success rates of 94% to 99% across the six demos with those phrase lists enabled, and no false activations across 88 near-miss clips per demo. Near-miss clips are phrases chosen to sound like valid commands without being one. The README notes these were text-to-speech clips and that the lists were chosen on the same clips, and Open Source For You cautions that the results do not guarantee the same performance in everyday environments.
The test hardware is Espressif's ESP32-P4X-Function-EV-Board, with a microphone, display, microSD slot and 32 MB of PSRAM, per Open Source For You.
Limits
The recognizer is English only. Both the README and Open Source For You list Arabic support and a port to the ESP32-S31 as future work, so neither is available today. The accuracy, speed and demo figures have not been independently verified. LibriSpeech is read audiobook speech, and results in a noisy kitchen or car cabin may differ from the benchmark numbers. The roughly 2-second finalization delay also makes this a poor fit for anything that needs a reaction in a fraction of a second.
What It Means for Makers
This project matters most to people building offline voice interfaces: home automation controllers, appliance and robot front ends, accessibility devices, and classroom projects where sending audio to a cloud service is unwanted or impossible. It offers an alternative to two common approaches. One is a fixed-vocabulary keyword spotter, which cannot transcribe arbitrary words. The other is streaming audio to an online speech API, which adds a network dependency, recurring cost and privacy concerns. With esp32-pie-asr, the device transcribes actual words locally, so command logic can be written as plain text-matching rules.
The costs are a high-end MCU, 32 MB of PSRAM, a microSD card for the weights, a 2.9-second load at boot, and about a 2-second wait before each word is finalized. Developers who need languages other than English will have to wait for the planned Arabic support or look elsewhere.
Availability: v1.0 of the software has been released on GitHub under Apache 2.0, as of October 25, 2026. None of the sources cited here gives a price for the ESP32-P4X-Function-EV-Board the developer tested on. Check Espressif or its distributors for current pricing and stock before planning a build around it.