Airflow Sensor SpeedometerPosted: August 9, 2026 Introduction Here's an experiment to see if an FS3000 Air Flow Sensor can be used as a speedometer for an R/C car. The sensor can detect anything from 0 m/s (meters per second) to 7.3 m/s. The microcontroller for this project is an ESP32 and communicates with the sensor over i2c. Every ~200ms the ESP32 broadcasts the current value from the sensor over UDP to a computer. The idea here is that the speed of the air flowing through the sensor should be the speed the R/C car is traveling. Video The video shows the 2 cars used to test the circuit. The first car appears to go around 1.6 m/s (5.8 km/h / 3.5 MPH) peak and the smaller car is around 2.1 m/s (7.6 km/h / 4.8 MPH). Explanation I originally got this FS3000 Air Flow Sensor for a specific project that haven't been finished yet. The original project was done with an MSP430 so I left the assembly language test code for the MSP430 in the git repo incase it's useful for someone. For this project, being an ESP32, it is coded in C++ using the provided i2c library in the Espressif devkit. Have to admit, it was 1000 times easier than programming it in MSP430 assembly talking directly to the hardware. The source code for both of them is in the git repo linked at the bottom of the page. Results The first 5 bytes are a checksum byte, 2 bytes of big endian airflow data, and 2 bytes of 0x00. The decimal column is the airflow value and the column on the right is the value converted to m/s based on the datasheet of the FS3000. Cybertruck
58 01 a7 00 00 423 | 0.03 m/s
37 01 c8 00 00 456 | 0.10 m/s
bf 02 3f 00 00 575 | 0.35 m/s
42 02 bc 00 00 700 | 0.62 m/s
ac 03 51 00 00 849 | 0.93 m/s
2d 03 d0 00 00 976 | 1.16 m/s
02 03 fb 00 00 1019 | 1.23 m/s
c1 04 3b 00 00 1083 | 1.33 m/s
69 04 93 00 00 1171 | 1.47 m/s
5a 04 a2 00 00 1186 | 1.49 m/s
64 04 98 00 00 1176 | 1.47 m/s
1d 04 df 00 00 1247 | 1.58 m/s
33 04 c9 00 00 1225 | 1.55 m/s
36 04 c6 00 00 1222 | 1.55 m/s
3b 04 c1 00 00 1217 | 1.54 m/s
ea 05 11 00 00 1297 | 1.66 m/s
15 04 e7 00 00 1255 | 1.60 m/s
f0 05 0b 00 00 1291 | 1.65 m/s
06 04 f6 00 00 1270 | 1.62 m/s
59 04 a3 00 00 1187 | 1.49 m/s
6a 01 95 00 00 405 | 0.00 m/s
4a 01 b5 00 00 437 | 0.06 m/s
4b 01 b4 00 00 436 | 0.06 m/s
Adventure Force McLaren
56 01 a9 00 00 425 | 0.03 m/s
55 01 aa 00 00 426 | 0.04 m/s
f8 02 06 00 00 518 | 0.23 m/s
c5 03 38 00 00 824 | 0.88 m/s
9a 04 62 00 00 1122 | 1.39 m/s
f9 05 02 00 00 1282 | 1.64 m/s
60 05 9b 00 00 1435 | 1.88 m/s
17 05 e4 00 00 1508 | 1.99 m/s
65 05 96 00 00 1430 | 1.87 m/s
34 05 c7 00 00 1479 | 1.94 m/s
6c 05 8f 00 00 1423 | 1.86 m/s
5a 05 a1 00 00 1441 | 1.88 m/s
2e 05 cd 00 00 1485 | 1.95 m/s
fa 06 00 00 00 1536 | 2.04 m/s
c3 06 37 00 00 1591 | 2.14 m/s
be 06 3c 00 00 1596 | 2.14 m/s
6a 01 95 00 00 405 | 0.00 m/s
6a 01 95 00 00 405 | 0.00 m/s
6a 01 95 00 00 405 | 0.00 m/s
Pictures Above is the Cybertruck and McLaren used to test the project. The Cybertruck has the airflow sensor taped to the top and circuit/battery in the back. Here is a top view of the Cybertruck with the airflow sensor and circuit. Source code
https://github.com/mikeakohn/small_projects/tree/main/airflow_sensor
Copyright 1997-2026 - Michael Kohn
|