Slow speed air flow measurement using BMP388 and pitot tube

I need to measure the speed of air moving slowly (below 1 metre/sec) along a 110 mm pipe.
An anemometer is not suitable for this project as it has moving components.
Has anybody considered creating a manometer using 2 BMP388 atmospheric sensors in 2 compartments attached to a pitot tube?
The Arduino would then need to produce an output being the difference in the two BMP388s. I haven't worked out how to do the calculation yet but should be possible. Absolute measurements are not important but I would calibrate the system using an anemometer.
Alternatively is there a suitable hot wire sensor available?

Can you tell what the difference in air pressure is ?
A differential pressure sensor is often used for that, but there needs to be different pressures at the begin and at the end of the pipe.
A mass air flow sensor (MAF or hot wire sensor) seems to be the best option. Perhaps you can use one that is used in cars.


DFrobot has one that does not need an extra amplifier: https://www.dfrobot.com/product-2066.html.
I don't know about that one, it measures up 150 l/min with an accuracy of 2.5% Full Scale, that is 3.75 l/min inaccurate. That is not for slow air flow.


Manufacturer page of the BMP388: https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/bmp388/ with datasheet.

It has a ±50 Pascal absolute accuracy and a ±8 Pascal relative accuracy. For two sensors that means you have ±100 Pascal accuracy out of the box and with calibrating and tuning it is possible to get near ±16 Pascal accuracy.
For a usable measurement, I would say you need 500 Pascal difference in pressure (5 hPa, 0.5 kPa).

Nope, 1m/s produces only 0.6Pa pressure difference, that's 0.0006kPa... (or as
a manometer reading 60µm (0.06mm) with water)

Wind speed is measured by a turbine or ultrasonically, because pitot pressure is insensitive at low speed due to the dependence on velocity-squared.

pressure = 0.5 x density x velocity^2

Hi, @ianow
Welcome to the forum.

You may need to go to a thermal or hot wire anemometer.
Check the specs on this unit;
testo-405i-Data-Sheet.pdf (246.3 KB)

Tom... :smiley: :+1: :coffee: :australia:

So the BMP388 is not accurate enough by a factor 100 or 1000.

There are MEMS sensors that use the "thermal / hot wire" principle.
With such a sensor in the wall of the tube, the air speed could be measured.
Omron say they can detect the flap of a butterfly: https://components.omron.com/solutions/mems-sensors/mems-flow-sensors-selection.

A MEMS sensor that can be attached to the tube and is compatible with Arduino would be the best to start with. But I can't find such a sensor. I can only find complete modules.

Thank you all for your advice. A hot-wire approach appears to be the route to go.

Sound travels relative to air. A click or tap midway between 2 mic's, count micros or cycles between 1st and 2nd receive.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.