Pressure Under an Airplane

September 8, 2025

Introduction

Inspired by the video by AlphaPhoenix regarding weighing an airplane, I wanted to see if I could measure the pressure rise under a flying airplane. As an airplane flies, its weight is transferred to the ground by means of a slightly elevated air pressure compared to if the plane were absent. However as there is nothing to constrain the pressure in open air, below the airplane its pressure footprint on the ground rapidly spreads to covering a large area with a low pressure, rather than a small area with a high pressure. Therefore this measurement is challenging, as the pressure difference is expected to be quite small.

Luckily I came across a pressure sensor based on a resonating membrane that has 1 Pa sensitivity and 20 Pa accuracy, which I thought would be sufficient to measure some sort of effect. To improve my chances, I would need to be very close to an airport, where the airplanes are flying at low altitude due to landing or take-off. I remembered that in Washington DC there is a public park immediately next to the fence of DCA airport, so I planned to make the trip there to do some pressure measurements.

Preparation

The sensor required a frequency and voltage reading, where the frequency relates to the membrane resonance and the voltage relates to the membrane (or nearby) temperature. As usual the Teensy 4.1 board was a reasonable choice. I designed a quick PCB to operate off 4 AA batteries and supply about 7 V to the sensor (by boosting the battery voltage with a MT3608 module bought on Amazon) and 5 V to the Teensy (by regulating the boosted output with a linear regulator TPS76850). The 5V output of the sensor is interfaced to the Teensy through a 40k:20k voltage divider, which results in 3.33V at the Teensy input pin. The total resistance is towards the high side but appears to work adequately (assuming 12 pF input capacitance, cutoff frequency is about 330 kHz or 10x signal; additional loading by a 1X oscilloscope probe distorts the square wave significantly). As I was interested in fast (1 second scale) changes in pressure, I did not take great care to design an accurate analog voltage measuring circuit, simply wiring the voltage signal to the on-chip ADC (set up with 10 bit resolution and 32 averages). I would anticipate the noisy temperature signal would lose the 20 Pa accuracy specification on absolute pressure but still maintain the 1 Pa resolution for relative pressure.

The frequency measurement was done by counting the number of 150 MHz internal clock transitions between subsequent rising edges of the sensor output. These are derived from a 24 MHz crystal ensuring stability. I used the QTimer1 module, in a configuration similar to AstroDisplay project, where one timer was used to count the input edges to achieve a divider function, and another timer was used to capture its counter value on a transition of the first timer. An additional timer (timer 0) was used in cascade mode to set bounds on roll-over number of the latter timer. QTimer1 for some reason is not connected to XBAR, so to achieve the input edge capture using the output from timer 2, it was necessary to use a hardware jumper between two pins which were set up as timer 2 (divider) output and timer 1 (timestamp capture) input. With a nominal output frequency of 29.8 kHz, I implemented a divider by 298, to get a nominal count period of 10 ms or sample rate of 100 Hz. In this time, the 150 MHz clock goes through 1500000 ticks, while the 16-bit timer rolls over at 65536, thus the timer is expected to roll over 22 to 23 times during a measurement. This is not a problem because the changes in frequency are small (1 Hz or so) relative to the 29.8 kHz offset, thus we can use the 16-bit value as a result with modulo arithmetic, subtracting adjacent timestamps as unsigned 16-bit integers to determine the difference in time modulo 65536. For extra confidence, the actual number of roll-overs is tracked as mentioned above, however it is not recorded in the data stream as it doesn't change for this data set.

The measured frequency (or rather period) is written to a file on an SD card using the exFAT library and RingBuf.h ring buffer implementation, with a data write to SD call when 512 or more bytes are ready to write. This method was copied over from acoustic camera project where it was used to write data at rates exceeding 1 MB/s. Here, with each sample taking 2 bytes, all that was needed was a leisurely 200 B/s, so there was really no need to worry about buffer overruns. The firmware .ino file may be downloaded here; note I copied code blocks from other projects so many things are not optimized. Later on a computer the file is read in, the period is expanded by adding in the 22 roll-over periods, and frequency is found by applying a 298 multiplier. The Scilab script to process the pressure recording binary file may be downloaded here. The analog voltage for sensor temperature is not stored to the file but is displayed in the serial console, and was nominally valued 163 (with 1023 corresponding to the chip voltage of 3.3 V), so this is used for analysis with the accuracy impact mentioned above.

PCB milling

In the interest of time I decided to mill this simple PCB using my mini CNC mill. As usual, after carefully setting up the height map and Z offsets, the first pass with the V cutter was too shallow and left conductive regions between many traces, while the second pass taken 0.2 mm lower was too deep and left traces much narrower than intended. Anticipating that something like this might happen, I used 0.5 mm wide traces that were generously separated from everything around them, so even though the last milling operation was too deep, what remained of the traces was still wide enough to be usable. The main challenge was with the copper annular regions around the through holes, where the margins were not as forgiving, but I addressed this by soldering with large blobs to reach the traces beyond the annular regions. When soldering this, I had a realization about why solder bridges seem to form when you don't need them (such as between IC pins) and to not form when you need them (such as on a solder jumper): it has to do with the vertical sides of the gap, where pins help with the surface tension to bridge the gap and a flat surface does not. In any case, recalling the struggles of soldering the 0.5 mm pitch DS3502 digital potentiometer without a soldermask in AstroDisplay, I ensured that the only surface mount IC here (the TPS76850 regulator) was an easier to work with 1.27 mm pitch. I also increased the amount of copper removed to give almost 1 mm of clearance around each trace, to make it easier to clean and optically inspect the finished PCB. The barrel jack for the batteries, PJ-102A, required milling slots instead of holes, which I did but the result looked a lot like a hole anyway (due to some combination of too fast feed rate and larger end mill than called for in the datasheet) so was not worth the extra set-up time. After milling, I applied flux to where the solder should go and then melted some solder on each pad, after which I soldered the components by hand, finally applying a conformal coating. The PCB worked as expected.

White rectangular PCB with connectors on a countertop   Milled copper surface of one-layer PCB with surface mount components on a countertop
Photographs of the front and back of completed PCB to connect the pressure sensor to the Teensy 4.1.

Muffler tube

As the airplanes would be passing fairly close overhead, and there is a lot of sound generated by the turbines and wings, I assumed that more stable pressure readings would be achieved by using a pneumatic low-pass filter, consisting of about 7 m of small diameter (6 mm) soft plastic tubing and 1 m of large diameter (15 mm) soft plastic tubing (to create an acoustic mismatch), with the large diameter tubing further stuffed with some cloth material for sound damping, and the whole assembly connected to a muffler from an old vacuum pump. Based on the speed of sound, this should be responsive at about the 20 ms scale. I tested the performance of this by putting one end of the tube against my ear and the other next to the exhaust port of a very noisy vacuum cleaner, and I could barely hear the noise, which seemed like an adequate amount of damping. However later trials showed that the pressure sensor I intended to use peforms just about the same with and without this noise-damping structure. I took readings both with and without it, to see if removing it would show some faster (10 ms scale) characteristics of the pressure distribution, but there was no readily observable difference. At the 100 Hz sample rate I would expect to see some low frequency acoustic waves, but perhaps their amplitude is small relative to the 1 Pa sensor noise (1 Pa corresponds to 96 dB sound pressure level, and below this microphones would be more appropriate sensors; I attempted this measurement with the microphones of the acoustic field camera and a paper airplane, but the built-in high pass filter structure in the microphones (intended to equalize the diaphragm with ambient pressure) completely attenuated the pressure bump expected at around 1 Hz).

Measurements

Metro

To get a sense of scale, during the metro ride to the airport I recorded the pressure inside the train. Grosvenor station is at ground level, while the next station Medical Center is underground, and between the two there is a tunnel entrance. From beginning to end of the ride, there was an increase of slightly over 200 Pa due to the lower elevation underground. Upon entering the tunnel there was a spike of about 1400 Pa, which caused observable flexing in the windows and was sufficient for my ears to "pop". Similar spikes of 400 Pa to 1000 Pa occurred when passing tunnel sections where the cross-sectional area changed, due to the piston effect of the train inside the tunnel; there may also be effects due to passing by air intake and exhaust shafts inside the tunnel. Fans in the train pull air inside the car and with the doors closed there is a slight overpressure, upon doors opening the pressure equalizes with the station, and this difference was about 30 Pa.

Plot with blue and red lines, flat and spiky regions, x axis time (0 to 180) s, y axis pressure (101400 to 103200) Pa
A plot of pressure over time during a metro train ride between two neighboring stations. Blue line is without averaging, and red line is with averaging; there is no significant difference on this scale. The large spike around 80 s is due to entering the tunnel. The small drop around 165 s is due to doors opening.

Taking off

I arrived at the Airport Park / Gravelly Point by taking the Mt. Vernon Trail. It is possible to stand in the park such that the airplanes pass almost directly overhead. When I arrived, the airplanes were taking off in the direction of the park; pilots prefer to take off earlier along the runway so by the time the airplanes were flying overhead they were quite high up, at least 10 wingspans by my estimate. I recorded a few trials, and what seemed like small bumps of 2 Pa or so with some airplanes, were not consistently observed with other airplanes. To make sure I knew where to look in the data, I used a stopwatch to time when the airplane passed overhead relative to the pressure recording start time, however this was not always easy to set up in time (there are only a few seconds between seeing the airplane taking off in the distance and it passing overhead) and on some recordings I was left guessing where the "bump" should have been.

Plot with blue and red lines, a small bump, x axis time (0 to 30) s, y axis pressure (102174 to 102194) Pa
A plot of pressure over time with airplane taking off and flying overhead. Blue line is original data (100 Hz BW), red line is filtered (10 Hz BW). A bump of 3 Pa and about 2 s width could be made out amongst the noise of about 10 Pa pk-pk (1 Pa pk-pk after filtering). But is this really due to the airplane?

Plot with blue and red lines, noisy and flat, x axis time (450 to 480) s, y axis pressure (102114 to 102136) Pa
Another plot of pressure over time with airplane taking off and flying overhead. The airplane passed at some point, but there is no clear bump that can be visually separated from the noise.

Plot with multiple lines, noisy and flat, x axis time (0 to 45) s, y axis pressure (102165 to 102205) Pa
Pressure over time with multiple airplanes taking off and flying overhead, with all data filtered and artificially separated vertically for clarity. Red rectangles have been drawn to show where the airplane pressure should be visible, based on stopwatch timing. Again there is no clear pressure rise beyond the ~2 Pa level.

Landing

I was getting ready to leave, somewhat surprised by the lack of results, but eventually the wind changed and the airplanes were landing flying over the park. With the approach path, pilots prefer to land earlier (and softer) on the runway, so the airplanes were now perhaps only 2 wingspans above the ground when passing overhead, and it seemed to be a much more promising opportunity to record some pressure increases. Indeed there was a dramatic improvement in the signal, with excursions of 30 Pa to 70 Pa depending on the airplane type and vertical trajectory and sensor position relative to track center. These were unambiguously above the 1 Pa sensor noise, and correlated in time with the airplane flying overhead, visually Gaussian-shaped bumps with a width of about 1 second. In some cases the bumps were followed by a protracted (ten seconds) period of reduced pressure, but I am not sure if this is a real aerodynamic effect or some type of sensor hysteresis.

Plot with multiple lines, large central bump, x axis time (-10 to 10) s, y axis pressure (-10 to 90) Pa
Pressure over time with airplanes landing overhead, with all data filtered and aligned to center the pressure peak at time 0, so the axes are relative time and pressure. The bumps range in height approximately from 30 Pa to 80 Pa and have width of about 2 seconds. Overall pressures after the peak seem to be lower than before the peak by 3 Pa or so for about 10 s.

Plot with multiple lines, noisy, x axis time (-5 to 5) s, y axis pressure (102150 to 102230) Pa   Plot with multiple lines, smooth, x axis time (-5 to 5) s, y axis pressure (102150 to 102230) Pa
Some more airplane landings, aligned in time but with absolute pressure. Left plot is without filtering (100 Hz BW), and right plot is with filtering (10 Hz BW). There does not appear to be any fine structure in the pressure peak that requires the 100 Hz bandwidth.

Plot with multiple spikes, x axis time (150 to 800) s, y axis pressure (102120 to 102230) Pa
Pressure over time zoomed out to show the intervals between airplanes passing overhead, to illustrate the magnitude of sensor noise and low frequency variations. At around 560 s, I moved the sensor so its gravitational orientation changed and the reading increased by about 10 Pa with a 15 Pa noise spike (there is also a smaller noise spike around 215 s). The 5 other spikes of about 50 Pa magnitude at 255 s, 375 s, 520 s, 630 s, and 780 s are all due to airplanes flying overhead. The oscillations near 300 s and 550 s are likely due to me walking while holding the sensor.

Conclusion

This study has confirmed that there is indeed a "pressure shadow" under a flying airplane, which is surprisingly difficult to measure due to the low pressure change involved even when the airplane is passing close overhead. This looks like a smooth bump-shaped profile of pressure rise, which is adequately recorded with a 10 Hz bandwidth and <10 Pa pressure noise. It seems that more intricate questions, such as whether the shadow is directly under the airplane or lags behind it during flight, or the existence of an extended negative pressure zone following the shadow, would be better studied by simulation or wind tunnel testing, due to the numerous noise sources (mostly wind and weather phenomena) and timing difficulties when measuring a real airplane.

Composite photo with two airplanes against sky background, one appearing small and another appearing larger
Screenshots from videos I recorded exemplify the difference between apparent airplane size when taking off (top photo) and landing (bottom photo) in the direction of the park, with the landing airplanes clearly closer. For the factor of 5.7 calculation, I use frames where the airplane is directly overhead, to avoid perspective errors; the frames shown here were picked to have the entire airplane visible so the sizes are not as different.

I recorded videos of the airplanes passing overhead, and in the absence of an absolute scale, I can attempt to measure the relative size in pixels of the wingspan of the airplanes when they were taking off vs landing in my direction. Averaging 3 flights in each case (which could have been all different airplane types) gives a factor of 5.7 difference in overhead height. This is similar to my visual estimate of about 10 wingspans height taking off and 2 wingspans height landing (or factor of 5). If we assume the weight of the airplane is carried by the air within a cone under the airplane, with the cone sides at 45 degrees to the vertical and cut off the cone top at the level of the airplane so there it is 1 wingspan in diameter, we can estimate the pressure at ground level based on the circle area of air adjacent to the ground within the cone. There is thus a nearly quadratic dependence of pressure with height, and for a factor of (5 to 5.7) difference in height, we expect a factor of (25 to 32) difference in pressure peak. With the observed (30 to 70) Pa peaks under landing airplanes, then it is possible that there are (0.9 to 2.8) Pa peaks under taking off airplanes shown above, which is not visible consistent with the sensor noise levels. Further if we assume an Airbus A320 mass of 80000 kg and wingspan of 34 m, using the cone pressure distribution model gives a 35 Pa peak at 2 wingspan height and 2 Pa peak at 10 wingspan height, which is broadly consistent with the observed pressure magnitudes. Overall this was a successful set of measurements.