Building MedeMeter
A solar-powered IoT sensor that measures outdoor noise and air quality, with on-device AI classification and a privacy-first architecture.
Visit MedeMeterIf you live near Schiphol, you know the noise. It's constant, it's measurable, and yet getting useful measurements at your own house is surprisingly difficult. Professional sound equipment is expensive, and fixed monitoring stations cannot tell you what is happening at every street or façade. The data exists, but often not exactly where you experience the problem.
That's what this started from. Not a market opportunity, just a genuine annoyance: why is this so hard? And then it turned into an 18-month build.

Working out the architecture
The tricky part early on was figuring out how to run continuous audio classification on a solar-powered device. Those two things don't naturally go together. Audio inference wants to run constantly; solar wants to sleep as much as possible, especially through a Dutch winter with four hours of decent light.
The approach we landed on was event-driven firmware. Audio capture runs in the background via DMA with no CPU involvement, and the processor only wakes up when there's actually something worth classifying. For the LTE connection we use eDRX and PSM, which lets the modem sleep between data bursts and drops current draw from around 150 mA to under 10 µA. Paired with an SD card that buffers data locally when there's no signal, the device holds up well against both bad weather and bad coverage.

Going beyond dBA
Early on we looked at using a machine learning classifier (YAMNet) to identify sound sources like airplanes or traffic. We got it working as a proof of concept, but the more interesting problem turned out to be a different one: dBA tells you how loud something is, but not whether a person actually finds it annoying. A faint hum at the wrong frequency can be unbearable. A loud broadband rush can be barely noticeable. The number on its own doesn't capture that.
So instead we implemented the psychoacoustic metrics from the SQAT model in C, to run directly on the embedded device. Where dBA weights frequencies to approximate human hearing, psychoacoustic metrics go a step further. Loudness (ISO 532-1) models how the auditory system actually perceives volume. Sharpness picks up high-frequency harshness. Roughness measures fast amplitude modulation in the 15 to 300 Hz range, which is what makes some sounds feel grating. Fluctuation strength captures slower, pulsing patterns. Together these give a much cleaner picture of why a particular noise is or isn't bothersome.
SQAT started as a MATLAB toolbox developed partly at TU Delft for aircraft noise evaluation, which made it a natural fit. Porting the algorithms to C for a constrained embedded target was the main engineering work here.

The €7 air-quality sensor worked. Until we put it outside.
Early prototypes used a roughly €7 PM2.5 sensor. On the bench it looked perfectly usable. Outside, especially as humidity changed, the readings drifted enough that the saving stopped making sense.
We replaced it with the Sensirion SEN66. It costs more, but handles temperature and humidity compensation internally and gives us PM2.5, PM10, VOC, CO₂, and temperature from the same module. That temperature measurement also helps compensate for microphone sensitivity drift.
Keeping rain out without ruining the measurement
Protecting an outdoor microphone sounds simple until the protection changes what it measures. A long tube helps keep rain away, but it also creates resonances and changes the frequency response.
After working through the placement with an acoustic engineer, we used a shallow dome with acoustic foam and angled the microphone slightly downward. That gave us weather protection without turning the enclosure into part of the acoustic signal.
Privacy
Putting a microphone outside someone's house is a sensitive thing, and we didn't want to paper over that with a privacy policy. So there's no way for the device to store or transmit audio, not by configuration, just by design. No GPS module either. Location is a postcode, entered once during setup, and data only appears on community maps in aggregated form. It felt important to make these constraints architectural rather than just promises.
Privacy by architecture
From prototype to neighbourhood network
MedeMeter is designed as a citizen sensor: it measures particulate matter and noise where people actually experience them, on the street, instead of relying only on modelled maps. Solar power and an LTE-M connection allow the device to operate without mains power or local Wi-Fi, making installation as simple as finding the right wall or post.

Getting there took close collaboration across industrial design, electronics, embedded firmware, edge ML, cloud infrastructure and field testing. The deployed product analyses sound characteristics locally without recording raw audio, while its measurements contribute to the national RIVM Samen Meten platform for residents, researchers and public policy.

The MedeMeter project received an advisory voucher from the ERDF programme Kansen voor West, via the TU Delft Campus voucher scheme at fieldlab The Green Village.

