I came across this PIP-Boy project on some “best Arduino Projects of 2012” list…
WOW! This is what I really wanted to do with my own semi-abandonded project (oh, I’ll eventually revisit it…)
The pip-boy casting I ordered from Forge Props arrived today!
This isn’t an exact copy from the game, but one that has been altered to use an iPod Touch or iPhone as the screen. I bought a 3.2″ LCD that should be pretty close. I cut a piece of paper to match the LCD screen size and it will fit nicely:
I’ll need to make a black frame for the LCD both because the space isn’t a rectangle but has curves and cutouts, and because the screen is a bit smaller, but I’m really pleased with the potential fit!
The buttons (center bottom of the screen) are a bit smaller than I’d thought. The LED momentary buttons I got from Sparkfun are too big (12mm body), and the non-button LEDs from Radioshack that most other people are using appears to replace the entire cast button detail. Good news is the style of the Sparkfun button looks almost identical, and I might just use it anyway.
I’ve got an awful lot of material to remove with dremeling, as the cast is not trimmed at all. First step will be to cut it to exact shape so I can do a very preliminary test fit on my arm to see how much room I have to work with. Next I need to cut the speaker grill holes and find appropriately sized screws and rivets.
The LCD Screen I’m using uses a lot of pins. In fact, it takes up all the available inputs on an Arduino Duemilanove and even then you can’t use the SD card and Touch at the same time because the Duemilanove doesn’t have enough pins. I’m not really planning on using touch (at least yet) so I’m not too worried about that at least for now. There is the Arduino Mega which has a lot more inputs (and the LCD manufacturer does make a shield for it that lets you use everything) but I don’t own any of those yet and I own 3 Duemilanove. There is the possibility I may need a smaller screen, and if I do, I’ll buy the Mega Shield.
I came up with the idea to use a second Arduino, a Nano – and the MP3 shield they make for it for the audio. The Nano and its MP3 shield are tiny (and the MP3 shield is the same price for either the Nano or Duemilanove, and I use those for prototyping, so I needed a “production” Arduino anyway).
But the MP3 shield uses all but 5 of the digital inputs on the Nano. I’ll need to use 2 of those serial communications with the Arduino controlling the LCD, so that only leaves 3 inputs…
If I use a one-pin-to-one-input I need a lot more: each of the 3 LED button uses 2 (one for the switch and one for the LED itself), so that is 6. The rotary encoders use 2 each (one for forward, one for back) and there are 2 dials, so 4 pins total there. That’s 10. If I want to use the rotary encoder’s “push” function that’s 2 more. I really only need one of the rotary encoder’s push buttons, so let’s say 8 inputs and 3 outputs. I’m short by EIGHT PINS!
Now it turns out that you can use the analog pins (which are normally used for analog inputs like sensors) as digital using the Arduindo’s built-in Analog-to-Digital converter, and the Nano has 8 of them. Whew!, that gives me just enough pins: the 3 digital left over plus the 8 analog pins!
But even better, there is also a method to use a single analog pin and resistors to read a large number of buttons. That will save 2 or 3 pins (depending on if I wire the rotary encoder button to it as well, which I might not, just for simplicity in the wiring).
Between these two methods I should be down to a single analog input for the 3 buttons, 3 digital outputs for the LEDs, 4 digital inputs for the rotary encoders, and one digital input for the encoder button.
Any more inputs and I’ll need a 3rd Arduino or to use a multiplexer that will let me use a larger number of inputs with just a few Arduino pins. Whew!
Update: I realized I was considering the button LEDs inputs, when they are really outputs. I fixed that.
Lots of online sources claim multiple different fonts for the pip-boy.
Here are two of the major contenders prefaced by an in-game closeup of the same text for comparison. First is Gothic 821 BT Condensed (pay) and second is Monofonto (free):
I can’t really imagine Bethesda using a free font, and the kerning/spacing on Gothic looks much better to me…but I’m not 100% convinced. I’ve seen a couple OCR fonts that look really close as well, including one that is already converted for use in the LCD I’m getting. Once I get the LCD I’ll see what that looks like. While I’m totally about authenticity in this stuff, there is diminishing returns: 90% accuracy for little work is more worthwhile that 100% accuracy for a lot of extra work. Time I could spend doing something else on the project…like making the background of scanlines work.
I ordered some parts from Sparkfun which arrived yesterday.
The orange LED buttons I got are too small, and they don’t fit easily on a breadboard because of the arrangement of LED leads. I did get a little breakout board that helps now that a friendly EE soldered it up for me (I really need to get a soldering iron). It’ll at least let me test some things, hopefully.
The rotary encoders I got are “ok” — they may be a bit small, and the “click” when you turn them is pretty weak. They’ll do to start playing with things once I can get them working.
I also got some green EL Wire and the appropriate connectors and inverter for the EL project.
I haven’t posted recently due to some medical issues, but I’m itching to get back into things now!
There is a series of video games called “Fallout” set in a post-apocalyptic future, where the tech is based on 1950s style things, but often with a humorous twist. One of the key features is that some people survived the nuclear war in special “Vaults” (made by Vault-Tec). Each Vault member (called “Vault Dwellers”) wore a wrist computer called a “Pip-Boy” — it had a GPS, stats, giger counter, etc, etc.
Several people have made them for cosplay, either with an entirely fake screen or using looped video on an ipod Touch. I know that with an Arduino I could control a real usable screen, so that’s the goal!
It will need:
I’ve ordered a bunch of stuff for it:
As stuff arrives, I’ll detail it!