

The RAK18032 is a high-performance digital microphone that leverages Pulse Density Modulation (PDM) technology to deliver high-fidelity sound capture. Manufactured by RAK, this microphone is based on the Knowles SPH0655LM4H-1 sensor, which is known for its compact size, low power consumption, and excellent audio quality. It is ideal for applications requiring precise audio input, such as voice recognition, ultrasonic sensing, and environmental sound monitoring.








The RAK18032 microphone sensor is designed to meet the needs of modern audio and ultrasonic applications. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Technology | Pulse Density Modulation (PDM) |
| Operating Voltage | 1.62V to 3.6V |
| Current Consumption | 650 µA (typical) |
| Acoustic Overload Point | 120 dB SPL |
| Signal-to-Noise Ratio | 65 dB |
| Frequency Response | 100 Hz to 10 kHz |
| Sensitivity | -26 dBFS ±3 dB |
| Package Dimensions | 3.50 mm x 2.65 mm x 0.98 mm |
| Operating Temperature | -40°C to +85°C |
The RAK18032 has a simple pinout configuration, as shown in the table below:
| Pin Name | Pin Number | Description |
|---|---|---|
| VDD | 1 | Power supply input (1.62V to 3.6V) |
| GND | 2 | Ground |
| CLK | 3 | PDM clock input (1 MHz to 3.25 MHz) |
| DATA | 4 | PDM data output |
| LRSEL | 5 | Left/Right channel select (connect to GND or VDD) |
The RAK18032 PDM Ultrasonic Microphone Sensor is straightforward to integrate into a circuit. Below are the steps and considerations for using this component effectively:
The RAK18032 can be connected to an Arduino UNO for basic audio capture. Below is an example of how to set up the microphone and read PDM data:
| RAK18032 Pin | Arduino UNO Pin |
|---|---|
| VDD | 3.3V |
| GND | GND |
| CLK | D3 (PWM capable) |
| DATA | D2 |
| LRSEL | GND (Left channel) |
#include <PDM.h> // Include the PDM library for decoding PDM signals
// Buffer to store PDM data
#define BUFFER_SIZE 256
int16_t pdmBuffer[BUFFER_SIZE];
// Callback function to handle PDM data
void onPDMData() {
// Read PDM data into the buffer
int bytesAvailable = PDM.available();
PDM.read(pdmBuffer, bytesAvailable);
// Process the PDM data (e.g., convert to PCM or analyze)
// Add your custom processing code here
}
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
while (!Serial);
// Configure the PDM microphone
if (!PDM.begin(1, 16000)) { // Mono channel, 16 kHz sample rate
Serial.println("Failed to initialize PDM microphone!");
while (1);
}
// Set the PDM data callback
PDM.onReceive(onPDMData);
Serial.println("PDM microphone initialized successfully.");
}
void loop() {
// Main loop does nothing; PDM data is handled in the callback
}
PDM library is required for this example. Install it via the Arduino Library Manager.No Output from the Microphone
Distorted or Noisy Audio
Microphone Not Detected by Microcontroller
Can the RAK18032 be used for ultrasonic sensing?
What is the maximum distance for sound capture?
Can I use the RAK18032 with a 5V microcontroller?
Is the RAK18032 suitable for outdoor use?
By following this documentation, users can effectively integrate and utilize the RAK18032 PDM Ultrasonic Microphone Sensor in their projects.