Not long ago, someone asked us whether Yoctopuce would be interested in creating an ADS-B receiver. We politely declined because we would likely not sell enough of them to cover the development costs. But we suggested that it should be possible to find an already-made receiver and to interface it with Yoctopuce modules. And this week, we prove it...
What is ADS-B?
Midair collision ranks high in the list of fears of any pilot. It might seem grandiloquent said like this but, from a plane cockpit, the field of vision is far from ideal. In the aviation history, collision occurrences between two planes, without any of the concerned pilots having ever seen the other plane, are not rare. ADS-B is a technology which is becoming more and more current in the civil aviation world. One of its aims is to prevent collisions . Each equipped plane sends by radio its GPS position, its altitude, its direction, and its speed. The other planes in the area can then know where their little friends are and anticipate collision risks.
In Europe, about 80% of airline planes are already equipped. In the long run, air traffic control should mainly use the ADS-B system to work, instead of the current system of secondary radars.
With a few searches on Google, we soon found the µAvionix company which commercializes the pingRx, a tiny ADS-B receiver with a TTL serial output. We ordered one to try it. Making it work with a Yocto-Serial is dead easy: we only need to connect them together and we receive the position data of a good number of planes in a range of about 10 kilometers.
You only have to connect the pingRx to the Yocto-Serial, and it works
As we didn't want to simply affirm peremptorily that it worked, we looked for an application of the system and we had an idea.
A plane counter
It so happens that Cartigny, the village where Yoctopuce is located, is right under the approach to the Geneva airport. We see planes all day long. So we decided to build a system which could count and take a picture of the planes flying over to land at Geneva airport. The idea is to use:
- A pingRx module and a Yocto-Serial for ADS-B reception.
- A Yocto-Color-V2 and two 8x8 Neopixel led panels for display.
- A Yocto-Relay and a camera to take pictures.
- A Yocto-GPS to get the geographic position of the system.
- An Intel Edison to perform computations.
- A Micro-USB-Hub-v2 to connect all the modules to the Edison.
- A USB battery to power everything.
The system diagram
The system is supposed to be completely autonomous, but we still added a USB socket
to enable us to move the console away from the Edison and to debug more easily.
The system, for real
Thanks to the Yocto-GPS, the system knows it geographic position. As it continuously receives the GPS positions of the planes located in the area, it's quite easy to count the planes going through a cylinder centered on the system. In order to count only the planes getting on approach for landing, we decided to count only the planes less than 2km away and flying below 2000m. The counter display is entrusted to a Yocto-Color-V2 driving two NeoPixel led panels, with 64 leds each. This gives us a large 16x8 pixel screen, quite enough to display a two digit counter and completely readable in daylight.
The system in place
In order to limit the collision risk between two planes trying to land at the same time without noticing it, a plane on final approach is supposed to follow a specified descent plan, with a 5% slope generally. Theoretically, landing planes all follow the same trajectory: they follow the same plan and are aligned with the runway. So, if we trigger a camera when the plane is located at a precise distance of our counter system, we should be able to quite easily take a picture of it: the plane is supposed to be always at the same location in the sky. We didn't need much to try it: only a Yocto-Relay to trigger the camera.
Does it work?
The counter part works perfectly. However, the picture part is a bit disappointing: Cartigny is about 8 km away from the Geneva airport runway. Apparently, many planes have not yet reached the plan when they fly over and are completely off target for the camera. Moreover, ADS-B data are broadcasted at about 1Hz, which is a bit low to take a picture with precision of an object moving at 200km/h. Besides, despite using a telephoto lens, picture quality is not great. In short, it probably would have been better to place the system much closer to the airport. But the principle is still valid, let's have a look: