I’m writing this update from the Hong Kong airport on a rapidly depleting laptop battery, so it’ll be a little hastier than usual!
🌱 ADSBee in the Field
Testing of ADSBee 1090 in various ground and air-based applications continues! If you’ve ever wondered what ADS-B looks like from 4500ft, here’s a nice screenshot from one of our beta testers. 🎈

🔧 Firmware News
🏁 Release Candidate System
Beginning with firmware 0.7.5, pre-release versions of the firmware will be published as “release candidates”. This will allow more uniform testing of new firmware versions across the community, instead of ye olde “download this binary from a random hotfix branch’s CI pipeline output). If you’d like to get in on the action, you can get started by trying out 0.7.5 release candidate 3 (0.7.5-rc3 for short)!
Starting in firmware version 0.7.5, firmware version provided by the AT+DEVICE_INFO
command, and displayed in the web console, will reflect both the semantic version of the firmware (e.g. 0.7.5), as well as the release candidate (e.g. rc3). If no release candidate is provided, the firmware version is a stable release.
Please note that running release candidates is only recommended for testers who are interested in helping find bugs while trying out the latest and greatest features! If you’re using ADSBee for something important, or don’t want to deal with the headache of unexpected behaviors, I recommend sticking with stable releases.
🐛 Bug Alert: Firmware 0.7.4
Firmware 0.7.4, released last month, contains a number of usability fixes for MAVLINK, but breaks the webpage serial console. This bug snuck past testing, since this release was primarily intended to address features used by local (e.g. USB / serial) consumers of ADSBee aircraft data. If you’re using ADSBee to feed a online exchange, or otherwise interacting with an ADSBee using the web console, it’s recommended to revert to firmware version 0.7.3 for the time being.
🚧 Under Construction: Firmware 0.7.5
Firmware 0.7.5 is in active development, and will fix a laundry list of issues that have been discovered in firmware 0.7.4 (including the network console bug). It’s also slated to introduce some major new features, which I’ll dive into with more depth once it’s released. For now, here’s a high level overview of what’s happening in the latest PR as well as those that have already been merged this month:
- Adds a real-time position filter that rejects invalid locations decoded from valid CPR packets. This is a relatively rare occurrence, but very occasionally results in single-sample invalid aircraft positions, since the current receiver firmware does not apply any filter to aircraft locations based on velocity or previously known location. Implementing this feature in a performant manner was somewhat difficult, as the RP2040 does not have an FPU, and calculating distances between points on Earth requires some yucky trig functions and floating point math. My current solution involves some rather large custom-generated fixed point haversine and arcsine or square root lookup tables, as well as a small amount of floating point math. These functions add about 20-30us of latency to the ingestion of decoded position packets, which should work fine for most applications (not_great_not_terrible.jpg), but I’m still looking for ways to make it faster! Many thanks to @error414 for his original discovery of this bug, as well as his clever position filter implementation!
- Reworks packet received timestamps to properly advance with a 48MHz clock instead of the 125MHz CPU clock (thanks to @wiedehopf for pointing out this issue and suggesting the fix). Work is ongoing to improve timestamp jitter, as ADSBees currently have too much clock jitter to be used properly as MLAT receivers.
- Support for future hardware iterations that will not include EEPROM (settings stored in flash).
- Support for future hardware iterations that include a UAT receiver.
If you’d like to help test things out, take a look at 0.7.5-rc3 and post about bugs on Discord!
⚙️ Hardware News
🥲 New hardware when?
The ADSBee store has been sitting empty for a few weeks since the original hardware batch sold out. Rest assured, a new batch is in the works! The new production batch will feature a quantity of receivers with dual-band hardware, and I’m still sorting out the details of making sure the prototype hardware is working right. Sit tight for a formal announcement soonish! We should be on track to kick off production once any tweaks from bringup of the hardware prototypes are integrated into the new design.
🏬💻 Huaqiangbei is lit 🔥
I went to China for the last two weeks of the month to catch up with family, visit some contract manufacturers, and check out the electronics markets in Huaqiangbei, Shenzhen. I’ve heard people bemoan the decline of the electronics markets in Shenzhen over the past few years, and always wanted to visit there myself to see what the markets are like.
I can say, unequivocally, that the electronics markets are still kicking, and absolutely awesome! With my grade school level Mandarin, I was able to haul home, at great prices (I swear that it would have been financially insane not to buy all of this):
- Numerous reels of 0402 and 0201 resistors and capacitors.
- A partial reel of log power detector ICs.
- A vibratory screw feeder.
- A torque-limited screw gun.
- A custom designed two-part EMI shield can (including custom sheet metal stamp tooling).
- A spot welder.
- A preheater hotplate for PCBA rework.
- Custom made RF cables.
- 0201 resistor and capacitor sample books.
- More stuff I’ve inevitably forgotten about until I dig through my giant duffel bag tomorrow.
If you ever have a chance to visit the markets, and you like hardware, and you know someone who has some ability to converse in Mandarin, I can absolutely 1000% strongly recommend the trip. It was like being a kid in an infinite candy shop!
I think that my experience at the electronics markets was best encapsulated by my first interaction with a vendor there, who happened to sell RF cables. I pointed to a weird looking SMA to dual OD1.13 U.FL cable splitter and asked the vendor if they were in stock. She replied that they had to be custom ordered, and she didn’t have any available. I asked what the lead time was, expecting it to be a few weeks (if I was lucky, maybe it was a few days and I’d be able to pick up samples before I left). She replied “20 minutes”. I placed the order and a small army of helpers appeared in the rear of the booth and began assembling and soldering 10 sets of custom cables. I walked away with 10 custom made RF splitter cable samples, for the price of 50 yuan (about $7 USD).
Anyways, enjoy the pictures! If you are planning on visiting the electronics markets, and want some pointers for good vendors that I found, shoot me a message on discord. I now have a ream of WeChat contacts with names like “<indiscernible Chinese character> Very Nice Resistor Lady” (English label added by me) and I’d be more than happy to share them with people.








