The data from real-time ambient noise monitoring implemented with the Jaleometros needs to be contextualized for an objective and efficient analysis of its measurements. For this, sound recognition is key.
As a first step, we will use the recently released "Sound Event Detection Module D1" board from Seeed Studio.
Fully Local Audio ProcessingPrivacy concerns are one of the biggest barriers to adopting always-listening devices.
The Sound Event Detection Module D1 addresses this by processing all sound data entirely on-device. The system:
- Does not record audio
- Does not store sound data
- Only outputs event detection results
To provide this device with the IoT connectivity required by this project, the XIAO ESP32-S3 Plus board was used, although a simpler board like the C3 could have been used. These boards are fully compatible, but according to your XIAO board, you should change the UART pin definitions in the code. In this example, we use the XIAO ESP32S3.
Additionally this project include:
- a weather station enclosure design adapted to allow the device to be installed outdoors.
- WiFi connectivity and MQTT communication of monitoring metadata have been added.
After 3D printing the parts, resin printing is recommended. Assembly is done using a central support to which the board is screwed. The outer casing consists of 4 pieces held together by 4 screw threads.
##Plug XIAO This device supports XIAO modules and can be connected to any available UART pins on the board. It is compatible with ESP32S3, ESP32C6, and ESP32C3 modules, so you only need to modify the RX and TX pin definitions in the code accordingly. Plug the device in the same orientation as shown in the image.
- Go to the GitHub repository Link
- Click the blue "Code" button
- Select "Download ZIP"
- Save the file (e.g., AudioEventSensor-main.zip) to your computer
Using Arduino IDE (Recommended)
- Open Arduino IDE
- Go to Sketch β Include Library β Add.ZIP Library...
- Navigate to your downloaded ZIP file
- Click "Open" to install
Go to File β Examples β AudioEventSensor to see example sketches
According to your XIAO board, you should change the UART pin definitions in the code. In this example, we use the XIAO ESP32S3.
#define UART1_TX 43
#define UART1_RX 44Jaleometro integrationSetting the deviceFirst, you need to configure the connection parameters for both the Wi-Fi access point and the MQTT broker. This configuration, as well as others related to the enabled recognition types, can be found in the settings.h file:
// WiFi Configuration
const char* wifi_ssid = "";
const char* wifi_password = "";
// Identification
const char* SensorId = "1001IA";// Sensor identifcator number
const char* SensorName = "v1-1001IA-test";
// MQTT Configuration
const char* mqtt_server = "mqtt.iot-foundations.org";
const int mqtt_port = 1883;
const char* mqtt_user = "user_p";
const char* mqtt_password = "";Upload the firmwareOnce the configuration file is updated, we can proceed to upload the sketch to the XIAO board.
MQTT frameIf the connections are successful and after an event is detected, in the topic assigned to the constant mqtt_sub_topic_payload we should see a message similar to this:
{
"detection_type":"glass_break",
"confidence":87.50
}Analytics.If the device is connected to the SensoGrama platform and there is a reference Jaleometer in the same location, we will be able to visualize measurements that will show a correlation of events for easy interpretation. π·
Usage acknowledgments- To Ludo Sanglier for enclosure design: https://www.thingiverse.com/thing:3385510
- Seeed Studio Wiki authors: https://wiki.seeedstudio.com/sound_event_detection_module/











Comments