Upgrading The Wand Company's Pip-Boy 2000 Kit with electronics
@Evan J mentioned he had a problem with switches in the top piece, so I though I would have a look at my planned mod and see if it would fit. There is not a huge amount of room as shown below, but not as tight as the screen will be.
I'm using a 12mm tactile push-button and inserting it underneath the existing button. Originally I thought I would cut the existing button down to size and fit in beneath the spring, but woudl be tight and risk damaging the visible button piece if I screwed up so I went with mounting in under the existing button, and drill a hole for it to poke through.
Exploded stack-up: - button - kit holder with hole, kit spring, kit knob, kit button closure
I executed this poorly by trying it at home with a hand drill, instead of making a jig and doing it in a pillar drill at my local maker space, so mangled the piece a bit :( Still managed to salvage it and it looks like it works fine - maybe a millimeter to be removed from the button stop.
Close-up of the modified button holder with the button poking up through the hole
I tacked it in place with super glue and then went around it with hot glue to secure it. In time I might go for an expoy for a more permanent fit. I might have to 3D print a replacement if the damage to this one proves to great...
Loads of room, as long as I don't try to put a hat in there ;). Using the GPIO pins down that end may require soldering wires direct to the pi instead of headers and jumper pins. It will certainly be tight once all the wiring converges on the pi - maybe a GPIO expanded on the I2C bus would simplify the wiring of all the buttons?
The button no gives a satisfying click each time it is pressed, and I know it will work just fine with the pi. The three STAT/ITEM/DATA buttons will get similar treatment but with smaller 6mm push-buttons, but I'm going to do that more carefully so will have to wait for another day.
The two bulbs between the radio and geiger counter on the right hand side of the pip-boy would be easy to swap for LEDs, but I decided to go for LES bulbs instead. While the ones I got were rated for 6V, I wanted to see if I could get acceptable brightness for a 5V rail, and then switch that via a transistor from the 3V3 pi zero GPIO pins.
The existing black plastic needed to be drilled out in order to fit the new bulb holders and bulbs, and then put on a breadboard to test out. Looks like a winner to me:
Also on the breadboard I've buttons to match me intended controls embedded in the pip-boy (WIP) so I can test all the electronics independently to the build. I'll run through all that another time when I have more of it working.
Part of the reason I ended up with an e-ink display is that it had the closest size to that of the opening in the model (a lost of the LCD displays have a wider aspect ratio that leads to some letterboxing). In addition I have always wanted to play around with them so seem like a good excuse.
Now, eink screens have much lower refresh rates (though I am hoping to be able to hack around and improve it a bit for partial refreshing when using the menu system), but at worst case it will just be able to cycle through some different wallpaper images. The advantage being that once an image has been displayed on the screen it is fixed, even if the power is removed. This will make it much less power hungry and will not have to worry so much about draining the battery.
I've gone for the Waveshare 4.2inch 400x300 black and white module - black and white over three colour to get a half decent refresh rate and to fit within the body without having to cut up anything. More of that in another post but before I built it into anything I wanted to do a test to ensure that everything worked so it was out with a pi and the user guide to see if I could get a pip-boy image of sorts onto the screen.
Wiring is courtesy of a JST header beneath the board, photo to remember the colour coding and then I hot glued some header to a piece of foam core to mock up the circuit. Below you can see that I managed to follow the instructions to download the relevant software and then, using the python 3 demo code as a base, upload a typical pip-boy screen using a pi zero W. The image remains even after the power is removed:
I'm happy that I got it all working without much fuss - the image needs cleaning up for the two-colour display (there is no native gray-scale) so the traditional screens may need a little tweaking, but adding a green filter and it looks like it will work nicely. Also scored a kindle with a broken screen for a tenner on ebay, so will be trying to extract the light layer and add front illumination to this screen without trashing it.
Ordered some 128*32 OLED displays to see if I can add screens for the date and time digits in the holo-tape deck.
Trying to score a broken kindle paperwhite to steal the front light diffusing layer to add a front light to the LED.
Will mock up the pi and eink screen to check wiring and how the display will look once finished.
This build is going to take a little bit of thought to get right, and I'm trying to minimize the amount of irreversible changes I make in case they release some updates that are better than my efforts!
Outline plan is to fit a small screen behind the display, a pi zero up in the upper module, electronics to all the buttons, switches and dials so they work and click. A speaker on the radio module and working lights seems easy. Working geiger counter gauge with simulated radiation bursts.
Top module - remove the button support post to fit in the pi zero behind the black divider - will just fit! Make the top button a proper clicking push-button,
Screen in the main module - getting on the right aspect ratio will be tricky and there is not much room to oversize and crop one. Could go a mini LCD screen or e-ink - both have their pros and cons.
Holo-tape deck - The button really needs to be amber and glowing as this is a major discrepancy between the prop and the in-game version that can be fixed with electronics. If possible a working numeric display would be cool, but there is not much space to play with - perhaps a tiny e-ink display would work? To be decided.
Geiger counter module - add a rotary encoder to the dial and maybe make it possible to click as well (using a rotary/push button). The three small buttons should be active, and clicky! The geiger counter module may be best built up on the side plate which may require trimming of the thin plastic bridge on the molding to allow it to easily slide inwards. The external wires could be commandeered to carry signal, but will probably just leave them cosmetic (or see if I can make them part of the fake geiger counter)
Twin vacuum tubes/bulbs - need to get these working, either mini-bulbs for the proper effect, or LED and a 3d printed faux bulb.
Radio module - speaker to fit in the slot, working dial either a pot or another rotary encoder (this gauge has stops on the rotation due to the radio dial bottoming out so may be better as a rotary potentiometer with physical end stops, unlike the upper one. Contacts on the rocker button so I can read it's state, and perhaps illuminating it when the speaker is on.
Battery initially a power bank concealed in the cuff, since there is plenty of room as my forearms are not hulk-like and it will be quick to change should it run out (raspberry pi could be in here too if the top does not work out).
Repaint and weathered to match a lifetime of wasteland abuse - maybe mimic one of the in-game skins.