The Pip-Boy 3000 Mk V - Firmware
Initial Disclaimer
So I was in two minds about whether to write this entry or not because I didn’t want to cause any harm or upset to a company I admire so much, so I reached out to Chris the CEO of The Wand Company who put me in touch with one of the engineers over there, Richard, and they have given me their blessing to write about the upcoming Pip-Boy 3000 Mk V.
The Pip-Boy 3000 Mk V
I like I’m sure many others have been eagerly awaiting delivery of their Pip-Boy 3000 Mk V, I ordered it the minute they went on pre-sale and I’ve been thinking about it ever since, following every step of the development and production. One thing that’s always been on my mind since the original announcement, being a builder of Pip-Boys myself, was how it was going to be implemented, what does the internal hardware look like, what software will they run, what electronics are being used to provide all the physical controls. I’ve even considered how many of them I should purchase given that the first thing I’m going to want to do with one is disassemble it to understand the hardware implementation.
Prior to these devices going out to consumers a web page has been created to allow owners of the new Pip-Boys to update the firmware on their devices, I was instantly intrigued, how does this work? Well, it looks like the page is expecting to use Web Serial to connect to the device and push an update, I have seen this before when updating firmware on my ESP32 dev boards and such, so is this what’s happening here too? Digging through the page source I was able to find a URL that returns the reference to the most recent firmware, and then following that trail a link to a zip file of the firmware.
It’s absolutely worth noting that at this point of curiosity it’s always worth checking what the terms of use are for a given website or service, don’t go digging around in places you’re not supposed to be, even if your intentions are pure.
So, inside the firmware update zip file there’s a few new assets to be added to the device, WAV audio files, AVI video’s etc. The video is quite interesting as it shows one of the displays from the show, entering coordinates and panning a map to a location, so this gives us a hint at how some of those UI elements are being achieved, just by playing an AVI clip! Honestly this makes a lot of sense, it’s enough to give you that feel and experience without being overly complicated, and using by video clips you have complete flexibility to display anything you need to.
Also in here there’s a few JavaScript files and from scanning over them it looks like the firmware for the device is implemented using Espruino a JavaScript for microcontroller implementation. Espruino does get compiled down to binary so while the update files do have the bin there’s not a huge amount we can tell from this, analysing the strings confirms it’s Espruino and searching some of the strings we can tell that it’s using the Espruino graphics library etc. for screen rendering, which is not at all surprising. There’s some references to other AVI files too, so it looks like all the animations and screens, such as the boot screen, the vault boy are all implemented as AVI’s.
Edit: After talking to Richard at The Wand Company he did confirm that the new Pip-Boy’s are indeed running a customized version of Espruino, even cooler he has suggested that “it’s perfectly possible to add extra features to the Pip-Boy by writing your own Javascript ‘apps’”!
Based on some other findings it seems like there’s also some internal SD card storage, setting the users name for example makes calls to store settings on SD. I also spotted there are also some internal factory tests that check presence of SD so we know that’s probably correct. It seems like factory test mode is accessed with a combination of holding KNOB1_BTN
and BTN_POWER
so it will be interesting to try that once it arrives!
My early guesses based on the findings is that it’s probably based off some sort of STM32 Arm Cortex MCU which would make a lot of sense, it’s cheap, loads of resources out there, also in the context of the Tricorder also being Arm Cortex, would make perfect sense as there are skills already in house.
Verdict So Far
I don’t even have the thing yet and I’m now even more excited than ever to get my hands on it. I’m sure once I do, now I know it’s possible to add additional functionality and apps, that’s absolutely going to be the first thing I do, so stay tuned for open source add-on apps for the upcoming Pip-Boy 3000 Mk V.
I’d also like to say a huge thanks again to The Wand Company, this wasn’t my first time chatting to the people over there and every time I’m just really blown away by how fantastic they are and how passionate they are about delivering great experiences to fans.