Colin’s brain dump

I write lots of code and build cool things


Dotbox: An improved Flight Tracker

This time I built it right

Date: []
Views: [184]
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.

A stack of Dotboxes

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:

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.

Dotbox Prototypes

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.

Dotbox PCBs

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.

Dotbox USB-C power connection

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:

Dotbox Sign-up Code

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.

Dotbox server client relationship

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.

No gods, no masters

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

Pixels and bits logo

Previous »