Step 2: Hardware

So before we get into the dirty work of building the device, I'd like to explain the main components and why I chose them.

Screen: The focal point of the PIP-Boy is of course the screen, and for this I needed something that could display all the data I wanted to at once. My first prototype used a 320 by 240 pixel LCD, but this was a graphically tight fit, so I upgraded a 4.3 inch 480 by 272 pixel LCD from 4D Systems (for reference, this is the same resolution/dimension as a SONY PSP). I picked this particular screen because it provided sufficient resolution for text and graphics in a decent form factor. It is a full color LCD, but I'm only using green colors on a black background as an approximation of the old CRTs. As an added bonus, this screen (like most of their products) has a built-in 16-bit processor (in this case, the Picaso GFX-2) that does all the nitty-gritty interfacing to the LCD and has a ton of built in graphics functions. This greatly reduces the complexity of most projects and is why I often use their displays. It even has a tiny built-in speaker and the ability to play .WAV files! The processor runs a proprietary language called 4DGL which is very similar to C or Processing, which makes it none too difficult to program. Alternatively, the screen can be controlled by serial commands from a host processor, but we wont be using that feature.

Auxiliary Processor: I chose to use an Arduino Duemilanove with an Atmega 328 as I'm familiar with using them and it can handle the GPS data more easily than the LCD. For now, I've used up all the available memory on the Picaso processor, so the Arduino picks up the slack and will also do more of the hardware interfacing in the future.

GPS:  I chose the Adafruit Ultimate GPS because it's small, high quality, cheap (for a very decent GPS) and well documented like all Adafruit products. 

RFID: I chose the RFID-12 from Sparkfun, as it's a tiny self contained module with a built in antenna, and it's dead simple to use. Just power it up, hold up a tag, and out pops the ID over 9600 Baud serial. This is used as a security feature for this version, but I plan to upgrade it to "equip/unequip" items. For what purpose? Nothing practical, but it'd sure be cool.

Input: The main input is a tiny 8 position rotary switch that I found browsing the Electronic Goldmine. Even though it's surplus, it's still a really high quality mil-spec component with a solid metal body and gold plated contacts for < $3. I also found a little square illuminated pushbutton on their site, which seemed almost idential to the "power" light on the in game terminals, it even glows orange! This can be used as a generic input, but I only use it to activate the "Overbright" mode for now. Also, I popped in two rotary encoders for even more input. Unfortunately I decided to program the rotary encoder interface last, but until I optimize my 4DGL code, I don't have any more code space to utilize them :/ The power switch is a key lock (also an Elec-Goldmine find) that was cheap and seems fitting for a military piece of hardware. This also prevents accidental powering or use by anyone with out the key. You can't unlock it with a bobby pin and screw driver. I tried :P

     For those curious about my skill level and how I even know how to do this, I'll be honest, I still consider myself quite the novice. I've owned an Arduino for a few years, but only really began seriously working on projects about a year ago. I've fed my curiosity and sharpened my skills by reading most of the Make, Sparkfun, Hack a Day, and Adafruit tutorials, not to mention the countless little random blogs and personal webpages of makers and hackers everywhere. This was my first time designing a lasercut case and working with GPS modules, so don't be discouraged if you feel this project is above your skill level. Work your way up by taking on projects that are slightly more than you can chew, and eventually you'll grow and be far beyond where you imagined, and be tackling projects like this with ease!
     I tried my best to find components that were readily available and (relatively) inexpensive for the desired functionality. For the basic model, you'll only need to order from a handful of suppliers: Sparkfun, 4D Systems, Radioshack, The Electronic Goldmine, TAP Plastics, and Ponoko. For most of the components, I've linked to their direct pages so you should have no problem purchasing the exact parts used in this project. Depending on what you have on hand, the complete BOM of the base model should cost around $300.

Electronic Components and Hardware:

(3x) scrap metal
(4x) scrap electronics
fission battery
duct tape
sensor module...Just kidding! If only it were that easy... Here's the real parts list:

uLCD43 (I ordered mine from this US distributor)
Adafruit GPS (The one I own was slightly older, but now they've upgraded to a module that now has built-in data logging!)
Arduino Duemilanove (or UNO, just as long as it has an Atmega 328)

(11x) 10k ohm resistor
220 ohm resistor
(4x) 6-32  3" machine screws (I picked mine up at Lowes)
(4x) 6-32 nuts
(8x) 4-40  1/2" machine screws
(8x) 4-40 nuts
9V battery clip (the kind that holds it in place, not the little power snaps)
1/8" shaft diameter knob (I bought this assortment and chose the largest)
12mm^2 illuminated pushbutton switch (the one I used is no longer sold by the Electronic Goldmine :(
(here's a replacement that should fit the dimensions of the hole, although this one has a round button)
8 position rotary switch
key lock switch
double sided foam tape
mini protoypting board
1/8" thick 2 5/8" W x 4" L polycarbonate sheet (abrasion resistant)

OPTIONAL UPGRADE PARTS *******************************************************************************************************************************
Geiger Counter: I originally purchased this module when it was cheaper, but here's a similar one still sold at the Electronic Goldmine
(2x) rotary encoder with (2x) 1/4" shaft diameter knobs (I preferred some that I picked up at Radio Shack to the default Adafruit ones)
1" speaker
sculpter's mesh (thin metal wire sheet with a little diamond pattern, available at most arts and crafts stores)
RFID-12 module and matching breakout board
RFID-button tag


Tools and Supplies:

small screwdriver (flathead or phillips depending on what screws you use)
black electrical tape
computer running Windows OS (unfortunately this is necessary for one of the programs)
SD/MicroSD card reader (I just plug mine into an SD adapter and into my printer)
USB-A to USB-B cable
MiniUSB cable
USB to TTL serial board
helping hands
hobby knife
soldering iron
hot glue gun w/ plenty of glue
wire (I use this 22 gauge wire)
female-female jumpers
wire cutters/strippers
heat shrink tubing
rotary tool (Dremel etc.)
lighter or heat gun (I just got my hands on a Heaterizer XL 3K from Sparkfun. I enjoy it way too much ;)
paint primer
military green spray paint (I used Krylon "Camo")

Skills Necessary:

Power tool safety
A steady hand

    This is by no means a beginner project (You'll need a Repair Skill of 50 and a Science Skill of 40 :P ), but don't be discouraged! To successfully build this project you must be familiar with basic electronics. While this model requires very little soldering, you should know the difference between a pull-up or pull-down resistor and not be confused by terms like COM, VCC, GND etc. As  I intended this for people with intermediate skills in electronics, I won't show every single step of the circuit building process, but I will explain the schematic as best I can and my design considerations for each part. If you don't have any experience working with electronics and soldering, check out these great Instructables as a primer!
<p>I wanted to make this but I am unable to print the case. When I submit the design the website denies it saying that the line colors aren't right. Anything you could do to fix this would be apreciated</p>
<p>note: the pip boy 2000 was hand held. the 3000, or some modified versions of the 2500 were wrist mounted. that's about all i know about the older pip boys.</p><p>(or the bling boy 3 billion.)</p>
<p>Hey, do you remember what the cost was to make this? I would LOVE to make one myself.</p>
<p>will you ever put up a page about the wrist mounted version?</p>
I know talking about the game files is touchy, but did you ever have trouble with extracting them, only to get a blank square picture?
Scratch that, I was covering them to jpg instead of png for the alpha channel. ... dur. But I am wondering how you were able to see them to arrange them in visigenie? it still just shows up as a white square
I did have trouble with some of the raw images from the game as they were in a format that is uncommon to most consumers. I made this without visigenie. Do they show up in the image conversion tool?
<p>I've got them converted to .png, and opening them in a photoviewer i can see the images with a &quot;transparent&quot; background. I'm using visigenie has i have about 0 knowledge of coding. But, when i load the images to my project, i just have a white square, because the transparent isn't showing up as transparent. As you can imagine, this presents a problem when trying place 20+ images on say, the STATS screen.</p>
<p>I cant find the 4d sowtware thing, what doi do</p>
<p>cool! :D i think this will be a great and cool thing.</p>
<p>How close are you to a 3000? I really would like to see that.</p>
<p>Ponoko is saying there seems to be a problem with you're line colors when I try to upload the .eps for the case.</p>
<p>I sent Ponoko the .eps for the case and they that there was a white line in the center of the radiation symbol. They said it was an easy fix so they revised it for me.</p>
<p>What are the dimensions for the case?</p>
<p>It is a roughly 6 x 6 x 3 inch box</p>
<p>Hello ,</p><p>It is a cool .</p><p>I don't understand how to copy the images from the game.</p><p>I have the computer version.</p><p>Many thanks</p>
I was actually using this instructable for a school project because i fell in love with the design, but i'm personally not very good at coding
Did you ever update the code to incorporate the other rotary encoders?
<p>I didn't. I scrapped this prototype a few weeks after I built it for the parts.</p>
Awsome pip boy! Id love to see an instructable of a wristbound one! Id make it
<p>Thank you very much. It's long in the works, but it is in the works! The next one will be cheaper, more game accurate, and easier to build.</p>
Also as an idea: how bout adding a clock?
<p>I've got the real-time clock, but didn't implement it. Definitely a necessary feature though!</p>
Do you have a kick starter account, because I believe you could get the money for a 3d printer and supplies needed to put your device into a pipboy case and make it cheaper and lighter from there, o know tons of people, myself included, that would love to see that happen, and you could probably sell some of them off too, after you have the three d printer, the biggest expense will be gone, and if you keep the programming from the earlier ones, it shouldn't be too hard to do, especially having the experience with the other ones also you could add variable colors
<p>I've recently had the good fortune of getting an amazing job. I've got a little 3D printer on my desk at work right now :) Let's see how this goes!</p>
So how is your project going these days? Any where near a 3000 yet?
<p>Nearer-er :) I have had other priorities lately, but I'm getting my yearly Fallout tech itch!</p>
How much would it be to buy one from you fully assembled?
<p>This model was really just a prototype. The design is temporary and can be improved a lot. I'm currently working on a more reproduce-able model 3000.</p>
Wouldn't it be cool to load the a songs and radio dialogue to a small SD and having it play?
<p>Yeah! I've since become very familiar with some nifty audio playback chips from 4D Systems. Also, Adafruit has some really great and affordable audio playback modules with built-in amplifiers too!</p>
<p>Hello i plan on doing something similar but trying to simulate a working 3000 model. I dont want to do this as a simple program, no i want a fully functioning model. I'm not going to work down from the game model but work from scratch using it for ideas. We may work together or against eachother but considering i am going for a rist mounted computer imediatly and your doing... that, i think working togeted will be mutcualy satisfactury!</p>
<p>Go for it! You should start an instructable as a project log!</p>
<p>Hey, out of curiosity, I saw a more recent video of an updated pipboy which seems to have some software updates. Are the links you provided above up to date with the latest sketches?</p>
<p>The more game accurate model that I made uses a smaller screen, so the UI is visually similar, but the code is only handles the game screens (no sensors etc.)</p>
<p>Well if you only had their funding.....</p><p>http://www.tweaktown.com/news/37347/a-working-pip-boy-3000-has-been-thanks-to-nasa-s-spaceapps-challenge/index.html</p>
<p>This is a really cool project! Funding would be quite great :) I'd love to see it as a standalone device however. With all the sensors external, it's a bit harder to use.</p>
<p>Is it possible to add the option to put in the &quot;player name and age like in the fallout games?</p>
<p>Not through the UI as is, but that data is just a couple of strings in the program and can be easily rewritten to be whatever name+status you'd like.</p>
<p>one of my suggetions below number 2 u should make a thing like this guy im gooing to try to put this in my version some how http://www.instructables.com/id/Mini-Audio-Transmitter/</p>
<p>Radio transmission would be super sweet. I do have a little FM transmitter module that I picked up from Sparkfun a while back, maybe it's time I played around with tit again.</p>
For moral status, isn't there some way you can link your prototype to your Facebook/ twitter and make you gain 'points' any time you are mentioned in a post or tweeted about?
<p>There is a service called Klout, that does some sort of internet popularity/power metric, but it mostly seems slimy to me. It would be a unique way to gauge something abstract like social "status" though. Perhaps something like twitter followers would be an easy introductory metric to list.</p>
<p>This is way to cool! Nice work :)</p>
<p>say i decided to use a raspberry pi instead of an arduino. would that work?</p>
<p>these are some things i wanna implement</p><p>radio, GPS, cassette player (or CD player), movie watching, a built in jet-pack so i can have connection anywhere, movie playing, pedometer, being able to call people, a offline map of the world, reminders, perks would be included by putting them in yourself, note-pad, and more. also, PLEASE MAKE AN INSTRUCTABLE FOR THE ARM MOUNTED ONE.</p>
<p>Those would all be awesome features! I was a bit confused about the jet pack initially haha, but an internet connection would be very useful. The arm mounted one has been in the making for a long time, but it is coming!</p>

About This Instructable


609 favorites


Bio: My name is DJ and I make electronic whatsits, 3D-printed thingamabobs, and laser-cut kajiggers for the Instructables Design Studio.
More by Aleator777: Communicator Watch Personal Space Defense System Environmental Alert System
Add instructable to: