Initialization and Output plotting
Visualize microphone samples in the Serial Plotter
This example initializes the SPK0641HT4H-1 on ESP32 and streams decimated PCM samples to the Arduino Serial Plotter for quick signal visualization.
#include "Soldered-Microphone-SPK0641HT.h"
constexpr int PDM_CLK = 4;
constexpr int PDM_DIN = 19;
Microphone mic;
void setup() {
Serial.begin(115200);
mic.begin(PDM_DIN, PDM_CLK, 16000, 16, 512);
mic.setHPF(true);
mic.setGainDb(10.0f);
}
void loop() {
const int range_limit = 3000;
Serial.print(-range_limit); Serial.print(' ');
Serial.print(range_limit); Serial.print(' ');
int16_t samples[256];
size_t count = mic.read(samples, 256);
for (size_t i = 0; i < (count < 8 ? count : 8); i++) {
Serial.print(samples[i]);
Serial.print(' ');
}
Serial.println();
}
Function reference
mic.begin(int pinData, int pinClk, uint32_t sampleRate, uint16_t bitDepth, size_t samplesPerBuffer)
Initializes the microphone driver and PDM capture with given pins and audio parameters.
Returns value: bool, true on success
mic.setHPF(bool enabled)
Enables a high-pass filter to reduce DC and very low-frequency components.
Returns value: None
mic.setGainDb(float gainDb)
Applies digital gain (dB) after decimation.
Returns value: None
mic.read(int16_t* dst, size_t samples)
Reads up to 'samples' PCM16 values from the capture buffer. Returns how many were read.
Returns value: int, number of samples read

Connection example.

Expected output.
Full example
outputPlotting.ino
Example showing how to Initialize a microphone and show the values sampled from it on the Serial plotter