Dotbox: An improved Flight Tracker
This time I built it right
Date:
[]
Views: [179]
Categories:
[projects]
Tags:
[flight-tracking],
[pixels and bits]
There's hundreds of my Flight Trackers out in the world now but only one has been made by me. I regularly get asked if they're available for purchase but I've never been willing to take money for one; instead, I've been content with releasing my plans and helping to support others build their own.
![]()
It's not because I'm lazy or don't want to take people's money off them. I'm lazy and love taking people's money, but not for the Flight Tracker as it is currently built. It's just not that great as an off-the-shelf product: something you'd buy as a birthday present and hand over knowing everything will "just work".
Even if I was to build a Flight Tracker for someone and eliminated any hardware-related difficulties, there's a few reasons I wouldn't feel comfortable selling them:
- Getting it on your WiFi requires some specialist knowledge as it doesn't give you a WiFi portal like a normal IoT device. Instead, you've got to configure the WiFi like any other headless Raspberry Pi: messing about with an SD card or playing in the terminal.
- Configuration requires writing a little bit of Python and playing around with coordinates which you need to pull together from online maps.
- The flight data usage currently falls under fair use as it's for personal use, but if I was selling them then I'd need a commercial license. This doesn't scale well as each individual box which pulls in data would need a licence as they all operate individually. This is also highly inefficient.
- Selling something based on a Raspberry Pi is a security nightmare. It's an entire computer with an entire computer's worth of software running on it. That's a lot of software to keep an eye on if you don't want to be putting a compromised computer inside your customer's homes.
- Software updates are a pain as everything is managed via the
gitsoftware versioning system. So you've got to throw some commands into a terminal, probably remotely, which comes with its own quirks, in order to keep the software up-to-date. And that's just the Flight Tracker software! That doesn't include the thousands of other bits of software your system needs to run which need regular (apt-)updates. - It feels weird paying hundreds of pounds for the hardware needed to drive the type of screen you see outside a barber's telling you about their student deals. I'd go as far as saying the electronics for the Raspberry Pi version of the Flight Tracker are overkill and that's reflected in the cost of all the parts used.
If you've ever asked me why I'm not selling these and you see my eyes briefly glaze over, it's because that list runs through my head. It's a fantastically fun device to own and play with but it's nowhere near being a commercial product.
Well, it wasn't.
Six months ago my wife correctly pointed out that since I wasn't selling these myself, then my scope for complaining about why I disagreed with them being a commercial product was limited. I knew that all the above problems would take about six months to overcome - which means it's the perfect time to show off what I've been working on into the wee hours every night.
The Dotbox (prototype)
Please excuse this software engineer's attempt at joinery. The exciting bit is what's going on deep inside the box.
![]()
Everything which follows is my attempt to do this job right. No half-arsing. Custom everything. Electronics designed from scratch, software designed to be industry-grade, security taken seriously right from the early design stages, logo impeccable, and someone else to build the cases.
Custom electronics
Since moving into the space industry, I've been surrounded by fantastic electronic engineers who have completely obliviated the need for me to lay out circuits and see them through production. Getting to do some layout work was a delight, and thankfully those same engineers I've been working alongside for years were kind enough to lend me their expertise and help get these prototypes into the world.
![]()
Isn't it beautiful? And also, it's riddled with bugs which gave me no end of fun to sort out. It's an ESP32-WROOM-Something-Something, which is the WiFi-enabled embedded system inside most smart gadgets. I've got it hooked up to a bunch of level-shifters which handle driving the screen. Little side note: I've used the online version of EasyEDA to design the boards as I'd heard its tight integration with JLCPCB circuit manufacture made getting things out for production very easy, I was actually shocked at how seamless this was.
Unlike the original Flight Tracker, which requires an absolute unit of a power supply, this all runs happily off a USB-C connection thanks to the tight control I can exert over how much power the screen is pulling and because the little processor powering this takes tiny sips of power compared to a chunky Raspberry Pi.
![]()
Again. I'm a programmer, damn it, not a carpentrist. But isn't that nice? All these pictures were taken with the boxes running off some wee USB power bricks.
Custom Software
See all those bits of setup and configuration you need to do when you get a new gadget? Switch it on, connect to it, tell it about your home WiFi, hunt for your home WiFi details, etc etc... The original Flight Tracker doesn't do any of that. To me, that's a huge hurdle to it being a nice gift to hand over rather than a tech-flavoured burden.
Moving over onto my own custom hardware meant I could definitely do this part of the project right. Now, when you first switch on the device, it'll pop up with the details of how to use your phone to connect it to the internet.
Also would be a good time to point out: LOOK HOW SMOOOOOTH THAT ANIMATION IS! Having stared at the Raspberry Pi version of this for four years now, I was drooling the first time I saw the prototypes in action. They are much simpler devices, which works in their favour for driving a tonne of pixels with really tight timing. There's not an entire operating system getting in the way of the device's one job: to make those pixels dance as quickly and with as much control as possible. Jorgeous.
Anyway, i digress. You can then use your phone to help get it online, like any normal networked gadget. This feature alone accounted for about 25% of my anxiety when I'd think about building a commercial version of the Flight Tracker.
Another 25% of the fear when I'd think about how I could make a commercial version of the Flight Tracker was how I'd get updates out to people. I've added a little factory-reset button to the back of the boxes which lets you perform basic system operations like reboots, resets, and most importantly, software updates. All the software comes signed with a special key, which means the boxes know the software was distributed by myself and definitely comes from my server. And again, the graphics are killing it!
Custom Server Stuff
To get this right, the stuff the user actually uses to set up the box once its online has to be slick and a pleasure to use. It doesn't matter if this is the bit of the device they only interact with once and then they just sit and enjoy the flights rolling by on their screen. If people can't easily get the bloody thing working, then it'll be going in the bin.
So here's what happens. You get your device onto your WiFi, it'll say, here's a super-special code, go enter it into the Dotbox website:
![]()
And you do! And what happens? To be honest, that's you mostly done. The device automatically syncs itself to your account and youre ready to start tracking the flights near-by.
You can tweak the settings like where you are, your time zone, and how you'd like things to appear on the screen when there's no flights nearby. It's almost boring how easy it is to finish setting the box up.
At this point, things get really interesting behind the scenes. In the old version of the Flight Tracker, your box would start spamming Flight Radar 24 for hot single flights in your area. This new version connects directly to my Dotbox server where I've set up an MQTT network. Now all the flight data is pulled into a single point (my server) and distributed directly to all the connected Dotboxes based on their geographic location. This also now opens the doors to a lot of fun new features, like being able to publish up-to-date weather data, cool stuff like when the International Space Station is overhead, and all sorts of future possibilities like what trains are rolling past your house or what boats you can see in the distance.
![]()
Can I buy one yet?!?!?!
Almost. I'm now on my second run of prototypes which are working beautifully. These are now ready to get sent out to my crack team of beta testers to help me find all the sharp edges and stuff I've goofed. I think the next run of boards will be the proper production run. I've got a manufacturer shortlisted for making the cases, which will be very similar to my original Flight Tracker case but with an eye on perhaps making them a little less maker-y once this first batch has proven the project can succeed.
There's also still a lot to do behind the scenes. I think the only way this project will financially wash its face is if I go for a subscription-based model and spread the cost of looking up flight data across the user base - it really shouldn't cost more than a couple of fancy coffees per year for each user, but that's going to take some business acumen to finalise.
If you're absolutely chapping-at-the-bit to get one of these, then hopefully you can remain patient a bit longer. Perhaps this project would move a little faster if I did some crowdfunding rather than self-funding, maybe there would be fewer development cycles if I partnered up with people who can help. But I won't - this project is a bit of fun and I don't want to ruin it by being beholden to other people's timelines or expectations.
![]()
If you'd like to know more or add yourself to the waiting list to buy one please go check out the official website at pixelsandbits.live