Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsEloquentTinyML’s Nano 33 BLE Sense example recognizes a small set of words offline by turning each short microphone recording into 32 root-mean-square (RMS) values, training a compact neural network in Python, and running its predictions on the board. It is a keyword-classification demonstration—not open-ended dictation or an assistant-grade speech recognizer.
What this voice-classifier project does
The example is a small spoken-word classifier for a set of word classes you choose and train. It captures a word, reduces the sound to a short sequence of RMS features, and asks a neural network to classify that sequence. After you transfer the trained model to the board, inference runs locally; the demonstration does not require sending speech to a cloud service.
That narrow task matters: recognizing trained word classes does not establish that the model can transcribe sentences, understand arbitrary speech, or handle unfamiliar speakers and noisy rooms reliably.
How the Nano 33 BLE Sense example works
1. Capture labeled examples on the board
The tutorial uses the Nano 33 BLE Sense’s PDM digital microphone. Its sampler reads microphone data in small batches and calculates an RMS value, a compact measure of signal level. When the sound passes a trigger threshold, capture begins. In the described configuration, the board records 32 RMS values at 20-millisecond intervals—about 640 milliseconds in total—as a representation of one spoken word.
#1 Best Overall
- You can build wearables that use artificial intelligence to recognize movements.
- You can build a room temperature monitoring system that can make suggestions or even make changes to the thermostat settings.
- A gesture or voice recognition device can be created using the microphone or the gesture sensor, taking advantage of the AI capabilities of the card.
Each training example is therefore a labeled array of 32 values, not a saved waveform. The tutorial author says they tried FFT-based approaches, but the libraries they tested caused the sampling program to hang; the RMS sequence was a simpler alternative for this example. It trades detailed frequency information for a lightweight feature representation.
2. Train the classifier in Python
The labeled arrays are used by a Python training script built with TensorFlow and Keras. The tutorial’s model has dense layers sized 32, 12, and 3, with dropout between layers. It reports 1,491 parameters. The three-unit output corresponds to that example’s three classes; a different set or number of words would require an appropriate dataset and model output.
3. Convert the model for Arduino
The script converts the trained model to TensorFlow Lite, then uses tinymlgen tooling to produce a C array. The tutorial reports a generated model header of 7,644 bytes. The Arduino classifier sketch includes that header and uses the embedded model to predict a class from new microphone features. The model-size and parameter figures describe this tutorial’s example, not a general speech-recognition benchmark.
4. Run predictions locally
Once the sketch and generated model are on the board, the board captures a new short sample, computes the same kind of RMS sequence, and runs inference. The workflow divides naturally into data collection on the board, model training on a computer, and embedded inference after deployment.
Capture conditions affect the result
The tutorial sets the RMS trigger threshold high to reduce accidental activation from random noise or breathing. It also advises speaking close to the microphone and moving the board away immediately after speaking. That guidance reflects a practical limitation: how the speaker and board are positioned can affect whether a word is captured cleanly.
The author reports roughly 90% overall accuracy for their setup, while explicitly noting that the figure does not account for speaking incorrectly toward the microphone. Treat that as the author’s result on their own collected data and evaluation conditions, not an independently verified expectation for other rooms, speakers, word lists, or boards. The available tutorial description does not establish broad cross-speaker or noisy-environment performance.
Rank #2
- Powerful ESP32-S3 Microcontroller: The Arduino Nano ESP32 is powered by the ESP32-S3 chip, featuring a dual-core Xtensa 32-bit LX7 processor running at up to 240 MHz. This high-performance microcontroller offers excellent computational power for IoT, wireless communication, and advanced embedded applications like real-time data processing, voice recognition, and machine learning at the edge.
- Comprehensive Wireless Connectivity: The board supports both Wi-Fi and Bluetooth 5.0, enabling seamless communication with other devices, networks, and cloud platforms. Whether you're building a smart home system, wearable tech, or remote sensors, the Nano ESP32 offers reliable and high-speed connectivity for wireless data transfer and control.
- USB-C for Power and Programming: With the modern USB-C port, the Nano ESP32 ensures faster programming, better power delivery, and a more stable connection compared to traditional micro-USB boards. This makes it easier to work with, especially in development and prototyping stages.
- HID Support for Advanced Applications: The board supports Human Interface Device (HID) profiles, making it ideal for projects that require integration with keyboards, mice, or other HID peripherals. This feature allows you to create custom input devices, virtual controllers, or even USB-based projects that interact directly with computers and other devices.
- MicroPython Compatible: The Arduino Nano ESP32 is compatible with MicroPython, a streamlined version of Python designed for embedded systems. This makes the board perfect for rapid prototyping, educational projects, and developers who prefer Python over C/C++ for ease of use and faster development cycles.
Original Nano 33 BLE Sense versus Rev2
Check the board revision before following the example. Arduino’s product page describes the original Nano 33 BLE Sense as having an onboard omnidirectional digital microphone and identifies PDM as the microphone library. Arduino marks the original board End of Life. Its datasheet names the microphone MP34DT05 and lists 64 dB signal-to-noise ratio; the board uses a 64 MHz Arm Cortex-M4F processor.
The Nano 33 BLE Sense Rev2 datasheet names a different microphone, MP34DT06JTR, while also specifying a 64 MHz Cortex-M4F. Because the microphone component differs, the original tutorial should not be assumed to work unchanged on Rev2. Verify the sketch and library setup for the exact revision; an unchanged Rev2 build is not established here.
For reproducing the original setup, Arduino’s datasheet specifies a Micro-B USB connection to a computer, which also supplies power.
What to expect when reproducing the tutorial
The project’s practical value is its compact, understandable path from microphone samples to a deployed classifier. It is not a comparison proving RMS features outperform FFTs, nor a measured comparison of board revisions. Those choices are explanatory trade-offs: RMS sequences simplify the feature input, while richer audio representations can preserve more detail but are not demonstrated here as a working alternative.
A 2020 element14 road-test author who followed the tutorial reported using 60 samples in total—20 for each of three words—and found the Arduino development and deployment straightforward. That writer also said TensorFlow installation took time because they had no prior TensorFlow experience. This is one person’s experience, not a fixed sample requirement or a prediction of setup time for everyone.
Quick Recap
Sources and board references
- Alan Wang’s EloquentTinyML voice-classifier tutorial, mirrored by MakerPRO.
- Arduino Nano 33 BLE Sense product page.
- Arduino Nano 33 BLE Sense datasheet.
- Arduino Nano 33 BLE Sense Rev2 datasheet.
- Element14 road-test review.
- Eloquent Arduino’s Eloquent Audio feed.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

