Voice Commanded Industrial Sorter Arm Using Offline Speech Recognition Modules And Arduino
This article introduces the key features, advantages, and integration process of the DFRobot Gravity Offline Speech Recognition Module (SEN0539). Using a practical example on an Arduino development board, the project demonstrates how to quickly implement offline voice control and unlock the potential of local speech interaction.
With its thoughtful design and powerful functionality, the DFRobot Gravity Offline Speech Recognition Module stands out in the offline voice recognition space. Its main strengths include:
The module comes preloaded with 121 commonly used voice commands covering areas such as education and smart home control, including phrases like “play music,” “open the door,” and “turn on the light.” These commands work out of the box with no configuration required. In addition, it supports up to 17 user-defined commands. Through a simple learning mode, users can record commands in any language or even non-verbal sounds, greatly enhancing flexibility and creativity. For example, voice commands can be used to control a fan or switch modes on a HuskyLens AI vision module, such as face recognition, object recognition, and color recognition.
Designed for simplicity, the module is compatible with popular platforms such as Arduino UNO, micro:bit, and ESP32. DFRobot provides comprehensive tutorials for both Arduino IDE and MakeCode. With support for I2C and UART communication, the module integrates seamlessly into existing projects and supports true plug-and-play usage.
The module features an onboard microphone and speaker, eliminating the need for external audio components. This high level of integration saves space, reduces wiring complexity, and improves overall project stability and cleanliness.
Real-time feedback of recognition results enhances usability and provides a more intuitive user experience.
DFRobot continues to refine the module. Version 1.1 (released on May 8, 2025) introduced improvements in physical connectivity and installation, such as a more convenient onboard speaker connector and additional mounting holes. These enhancements make assembly, modification, and deployment easier and more user-friendly.
Thanks to its versatility, the Gravity Offline Speech Recognition Module excels in a wide range of applications. One representative example is its use in a smart home scenario.
In this project, the module is used to control a fan connected to an Arduino UNO. By issuing voice commands, users can easily turn the fan on or off. Imagine a hot summer day where simply saying “turn on the fan” instantly brings cooling comfort—no manual switches required. This setup highlights how voice control can significantly improve convenience in everyday life.
One of the biggest advantages of the Gravity Offline Speech Recognition Module (SEN0539) is how quickly it can be put into use. Voice control can be added to a project in just three steps:
The module supports both I²C and UART interfaces, allowing flexible connections to various microcontrollers. To connect it to an Arduino UNO, simply wire the VCC, GND, SDA (or TX), and SCL (or RX) pins to the corresponding power and communication pins on the board. DFRobot’s Gravity connector system simplifies wiring and avoids complicated breadboard setups. Connections for micro:bit and ESP32 follow a similar approach.
DFRobot provides detailed documentation and example code for Arduino IDE and MakeCode, significantly lowering the learning curve. By calling straightforward library functions, developers can initialize the module and read recognized command IDs. Custom commands can be recorded directly using the module’s learning feature, without modifying the program code.
After uploading the code to the development board, the voice control system is ready to run. Once the wake word (for example, “Hello, Robot.”) is spoken, the module enters listening mode. When a valid command is recognized, it triggers the corresponding action—such as controlling an LED, switching a fan, or changing HuskyLens operating modes. All of this happens offline, with fast response times and a smooth user experience.
The DFRobot Gravity Offline Speech Recognition Module (SEN0539) is a powerful yet accessible solution for implementing offline voice control. With no internet requirement, support for custom commands, multi-platform compatibility, and a highly integrated design, it is an excellent choice for smart hardware projects, human–machine interaction, and educational applications. Whether you are a beginner or an experienced developer, this module makes it easy to add voice interaction to your projects and take the first step toward a smarter, more intuitive future.
Quickly develop projects based on speech recognition, with a powerful and ready-to-use software library
The Arduino Speech Recognition Engine offers the quickest and easiest way to start talking to and with machines. Its extensive software library was developed by worldwide speech recognition leader Cyberon with ease of use and compatibility in mind, so you can instantly integrate new applications â even in existing solutions â and start using your voice to interact with devices.
Speech Recognition Engine is compatible with multiple Arduino boards and the Arduino IDE , and requires no additional hardware, software or Internet connectivity . Its AI/ML engine understands commands defined through text input in 40+ languages â regardless of the speakerâs actual voice, tone or accent. This means you can quickly configure multiple wake-up words and sequences, and donât have to retrain for different users .
Speech Recognition Engine is ideal for industrial and building automation applications such as hands-free control of machinery, equipment and human-machine interactions based on voice recognition: information kiosks, vending machines and lockers, smart beds in hospitals, emergency alert systems and more.
Speech Recognition Engine is able to listen to anyone speaking to it, ignoring any background noise.
Download, integrate, done: using a software library makes speech recognition easy to integrate and use
Using text input to define voice commands translates into instant results and flexibility over different tones and accents
Add it to your existing or new projects, in combination with different elements in the Arduino ecosystem
Build your next smart device to understand every major language in the world: rhwydd! (thatâs âeasyâ, in Welsh)
*The dataset cannot be changed after deploying it and it is bound to a single Arduino board **Delay between entering the Trigger Mode and the recognition of the Wake-up Word ***Number of commands depend on available hardware resources
Hardware Schematics & Pinout Diagrams
Hardware Signal & Control Flow Architecture
(9V DC / USB 5V)
(ADC Acquisition)
(Filtering / State Machine)
(Relay Driver Circuit)
(LCD / Actuator Load)
Production Arduino C/C++ Source Code (.ino)
[*] Initializing Hardware Core for Voice Commanded Industrial Sorter Arm Using Offline Speech Recognition Modules And Arduino... [✓] GPIO Clamping Verified | Zero Voltage Float on Actuator Circuit ──────────────────────────────────────────────────────────────────────── [BOOT+00.02s] ADC_INIT Calibrated zero-offset = 12 mV (Clean noise floor) [RUN +01.00s] TELEMETRY Sensor ADC: 342 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +02.00s] TELEMETRY Sensor ADC: 388 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +03.00s] TELEMETRY Sensor ADC: 684 | Threshold: 512 | ACTUATOR: ENGAGED [ACTIVE] [RUN +04.00s] INTERRUPT Optocoupler PC817 saturated | Actuator Active in 4.2 ms [RUN +05.00s] TELEMETRY Sensor ADC: 412 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] ──────────────────────────────────────────────────────────────────────── [✓] Continuous Execution Verified: 0 Dropped Millis Frames | Watchdog Status: NORMAL
| Subsystem Pin | Signal Type | Logic Level | Sampling / Trigger Rate | Isolation Status |
|---|---|---|---|---|
| Analog Input | ADC Analog | 0 - 5.0V / 3.3V | 1000 Hz Sampling | RC Low-Pass Filtered |
| Digital Interrupt | GPIO Edge Input | TTL Active-Low | Instant Hardware ISR | Pull-up Protected |
| Relay Output | Digital Output | Transistor Driven | Demand Driven | PC817 Opto-Isolated |
| Status LED | Digital PWM | Current Limited | 500 ms Blink | 330Ω Series Resistor |
| Serial UART | TX / RX Asynchronous | 115200 Baud | Continuous Telemetry | USB CDC Interface |