There are a lot of US military activity in the area between Taiwan, Hong Kong and the South China Sea. Transports, SIGINT, reconnaissance, protection of US carriers in the area… mainly conducted by the US Air Force and the US Navy. Here is a list of planes seen in past few months (click on the link to see the radar map when the trackers got a MLAT position – these aircraft generally do not broadcast their position on ADSB):
AE049B – Tail number: 61-0313 – Boeing KC-135R – US Air Force
AE1492 – Tail number: 96-0042 – Boeing E-8C Joint Stars – US Air Force
Some years ago, I bumped into an article on Mashable about Jeremy Merrill using a Raspberry Pi ADS-B tracker to detect aircraft flying over his house and display the origin or destination of that plane (see article here and github there). As my place is just on a busy plane corridor, that gave me an idea. I decided to work on a similar project based on Piaware. Looking at how he did it and at the long literature you can find on the web on ADS-B, I created this site, my own software in Python to run on my Pi and other fun stuffs. I also ran into this site by SonicGoose and that gave me many new ideas (including the basic structure of this site – I never had any experience of html or php before).
One key part is getting access to aircraft databases to get more info from the ModeS hex code you get from the Piaware tracker. I am sharing my own database of planes, airports and routes I detected with one of my trackers (I have a fixed one at home, another one in Briancon in France (solar powered and connected by SigFox!) and a mobile one I take with me during my trips over the world).
When I started few years ago, I didn’t know that it will become such a fun project!
Updates
[2019/02] Update of installation script and new links [2019/05] Update of the Radar page that now use my own positions database. Added aircraft silhouettes and Airlines logo. [2019/05] Changed the domain to FoxtrotCharlie.ovh !!! [2019/06] Changed landing page and reworked index for Google [2019/07] Added Great Circle tracks between origin, destination and seen positions on Radar [2019/09] Added Airports data, API page, better sitemap for Google index [2020/01] Added a solar powered ADS-B tracker in Briancon, with a SigFox interface by SNOC to send new / special planes to this database when Wifi is off – works great! Running an ADS-B tracker on a solar panel is quite challenging. After some research, I believed a 20W solar panel would be enough, but the stick consumption is very high, and solar energy production is far from stable… after few month using it, I would need about 80W to be able to power the system for 24h (Raspberry Pi 4 + Flightaware Pro Stick Plus + SNOC SigFox). SigFox is a great solution to replace a 4G modem which would also take too much energy. The limitation to 6 messages per hour is manageable, as I am only reporting new or special planes to this website, while the detailed data are stored and shared when the device has access to wifi. The biggest issue I didn’t plan for was that the Pi doesn’t have a RTC, so time was wrong (it only progress when the Pi is on, about 8 to 12h per day… after few days, it was completely off). Hopefully, I could also use the downlink SigFox messages to get the network time and update the Pi time at each boot. Here the limitation is at 4 messages per day. It is controlled by the callback feature so it is quite easy to be sure you will not exceed the budget, even with a Pi with no idea what is current date or time. Next step is to work on shuting down properly the Pi when battery is low in order to avoid memory issue. So far it works with multiple wild shutdowns per day, but I don’t know for how long. [2020/02] Updated the stats page to show more details [2020/03] Added tweets on Sigfox interface with Briancon tracker [2020/07] Working on adding MoPi-2 on the solar powered tracker to allow clean power down. Changed all the time in UTC. With trackers everywhere, it doesn’t make sens anymore to be on Hong Kong time. [2020/09] Added a new blog. Let’s hope I will post regularly from now on![2020/10] API optimisation – reduced the errors from 2% to 0.05% [2020/11] New landing page with a RSS feed reader to get up to date links to my blog posts. Let’s see the impact on Search ranking! [2020/12] Upgraded all my Raspberry Pi code to Python3. I have been delaying that for a long time, but it was much easier than expected. Further optimisation of the API to reduce the error rate further. Some trackers are now at 0 errors, some still at 0.05%, still struggling to understand why.
I have been tracking planes in Hong Kong for few years now with my Raspberry Pi based ADSB trackers. There are few airports in range (Hong Kong, Macau, Guangzhou, Shenzhen, Zhuhai, Huizhou), which was giving me quite some traffic (about 2000-2200 different aircraft per day).
Then came COVID-19. Many international airlines stopped to come to China. Many domestic flights were cancelled too. And then the crisis went worldwide. Daily traffic dropped to 600 aircrafts per day at the peak of the crisis.
Since then, it has been slowly recovering. As China domestic traffic went back almost to normal, I am now at 1300-1400 aircraft per day, still far away from where it was.
Bad news are coming from everywhere… Cathay Pacific just announced they will suppress 6000 positions and stop Cathay Dragon. Many smaller airlines have been bankrupt. Most of the others have retired their old or not efficient aircraft earlier than initially planned (B747 and A380 are the most iconic ones).
And restrictions to international travels are still in place in many countries, while the epidemic is restarting in Europe, and never really slow down in US. Can the industry recover from such an unprecedented crisis? I wish it will! My bet is that it will take time and that it will have deeply modified the industry. 2020 will be a turning point in any case and resilience now has to be in every airline strategy.
I have been gathering data for few years now, from multiple sources (databases found online, some special aircraft found manually online, …). I now have more than 32,500 entries in my Aircraft database, including 6,000 that I flagged as “special”, meaning military or any other interesting features (helicopters, rare aircrafts …).
I also have more than 16,000 airports and 160,000 routes.
They are all accessible through dedicated API.
Search aircraft by Mode S code or tail number
You can access my database of aircraft through the following API: https://www.foxtrotcharlie.ovh/API/public/api?ModeS=XXXXXX where XXXXXX is the ModeS code of the aircraft, on 6 digits in hexadecimal. https://www.foxtrotcharlie.ovh/API/public/api?Registration=XXXXXX where XXXXXX is the tail number (or registration) of the aircraft (in some countries, tail numbers have a – like in China B-8638, it should be put here). The output is in json format (RFC4627). Working samples of the API: https://www.foxtrotcharlie.ovh/API/public/api?ModeS=78102f https://www.foxtrotcharlie.ovh/API/public/api?Registration=B-8638
Time stamp when my trackers first detected the Aircraft
Timestamp
LastSeen
Time stamp when my trackers last detected the Aircraft
Timestamp
Json structure description for Aircraft API
Search airports by ICAO code
You can also access my database of airports through the following API: https://www.foxtrotcharlie.ovh/API/public/api?ICAO=XXXX where XXXX is the ICAO code of the airport on 4 characters. The output is in json format (RFC4627). Working samples of the API: https://www.foxtrotcharlie.ovh/API/public/api?ICAO=VHHH
All the information provided by these API are provided as is and for information only. They are coming from different sources and may contain mistakes or be out of date. Please use with caution and at your own risk.
You are welcome to comment if you see mistakes. Mode S codes can be re-allocated to new aircraft, and keeping the database up to date is not an easy task.
One of the most surprising catch of 2019 was for sure seeing a Spitfire in my new aircraft list! I had to check if that was correct or a mistake somewhere in the database of Mode S codes I collected.
It turned out it was the real thing! The Silver Spitfire was doing The Longest Flight, for the 75th anniversary of the D-Day invasion. A 30 legs, 22,138 miles trip around the world.
If your a fan of Aircraft Tracking, I highly recommend the article from Global Investigative Journalism Network (or GIJN) “Planespotting: A Guide to Tracking Aircraft Around the World“. This is one of the most comprehensive article I have seen on the subject, addressing it from multiple angles (#avgeek, journalist, activist, …). They even propose a short version if you just want to start tracking.
An interesting article about how Buzzfeed is training an Artificial Intelligence (AI) to detect planes circling over San Francisco (mainly law enforcement and other contractors).
That’s an interesting direction… I will have a look at how to do that and detect anomalies in trajectories on my trackers. I expect to see more planes circling due to delay in the local airports (Hong Kong, Shenzhen, Guangzhou) than spy planes!
More details here on how they use a Random Forests algorithm to classify potential candidates. I found Random Forests libraries in Python, so that definitely going in my to do list.