I'm building a kite flying robot, for which I want to measure air speed. So I combined a Pitot tube with an ADC and connected it to my Raspberry Pi using this tutorial.

It seems to work perfect, in that it receives data, but I'm not sure what this data tells me.

I get a constant stream of numbers, mostly between 502 and 504 when nothing happens. When I blow on the tube the number increases to 550-600, or even up to 1000 when I put my lips on the tube and blow with force.

My question is now; what does this tell me about the air speed in meters per second? 500 seems to be zero air speed, but what does 550 or 600 tell me? Is there some kind of conversion table for this?

All tips are welcome!


2 Answers 2


In a classic pitot tube setup, we make use of a liquid (density $\rho$)in a U tube. One end of the U tube is connected to the dynamic pressure source (front of the pitot) and the other end is connected to the static pressure source (side/ below the pitot).

Now as the air (density $\rho_{air}$) speed increases, the dynamic pressure pushes on the liquid in the U tube and raises the level (by $h$ metres) in the static arm of the U tube. Using Bernoulli's principle, we determine the velocity (in $\frac{m}{s^2}$) by the formula, $$v=\sqrt{\frac{2\rho g h}{\rho_{air}}}$$

Looking at your sensor, it is unlikely that it consists of a U tube mechanism. Instead it probably uses a diaphragm of some sort with static and dynamic pressures pushing from opposite sides.

In this situation, unless you can find a calibration graph from the manufacturer, you have very little option but to manually graph the output against known air velocities and then build a look-up table of some sort. You could do this with a variable speed fan and a handheld anemometer.


First, the method you have followed should work quite well.

The pitot setup you mention already gives you differential pressure, which means all you have to do is convert the pressure data (whatever the unit) into airspeed.

The pitot sensor page says that it's already used in APM 2.5 (ardupilot mega).

this is general info for airspeed sensors, from APM web page

calibration technics and flight test procedures

The basic formula is like this: dynamic pressure equals to 0.5 x rho x V^2 ; Inversely

V = sqrt (P_dyn / (2x rho))

  1. Check your units of measurement (what is the unit of 504 in your reading?).
  2. Convert dynamic pressure to Pascals
  3. use a rough number for air density (1.225 kg/m3 at sea level).

And there you have Airspeed (V) in m/sec.

Good luck.

Sorry for the bad notation. (Typed on mobile).

attention: your readings will be sensor local speed, and this can be quite important if you really want to get accurate results.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.