Enviro:bit - Get noise level

I’m experimenting with the enviro:bit noise level using the function library made for the Makecode editor.
When I experiment with pressure measurement, I know that the unit of measurement results is hPa.
But what is the unit of the measurement results returned using the block “Get noise level”?

Well dB is the standard measure of sound level so I’m guessing that’s it.

When I shout at the enviro:bit, the value returned is 578.
It does’nt really match the dB scale, where 140 dB is the noise from a jet engine.
That’s why I don’t think that the enviro:bit returns values in dB.
But I have no knowledge of other units of noise measurement.

Yeah that makes sense. What’s the value when it’s dead quiet?

Dead quiet: value 0.
Unfortunately this depends on the power connection. Connected to a computer via USB cable the value is 0. Connected to a battery pack it depends on the battery condition: When battery is new the value is almost 0. When battery is used the value gets higher.

It sounds like it needs some kind of voltage regulation on the power supply.

The doc says:

  • envirobit.getSoundLevel() - Returns the current sound level, should return 0 to ±443.

So I don’t think the output is in any unit. Just a relative number between 0 and 443. (Sometimes these are referred to as “counts”. So many counts equal so many dB.) If you had a dB meter you could possibly calibrate it.

EDIT:
I just found this on GitHub:


It may get you going.

Thank you for your comments “Crowbot”.

Hello to everyone! I bought Enviro+ mainly to acquire data related to indoor environments and mainly for noise level (dB or dBA).
I’m not an experienced programmer and I can’t find an example “ready-to-use” on the Web to detect the noise level in dB or dBA.
Has anyone found something? it would be crucial for me!
THANK YOU very much to anyone who has suggestions on this!