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!
Skinr3 years ago
Just a couple of suggestions.

1) Heart rate monitor - the elliptical exercise machine my mom has allows you to measure your heart rate by gripping the metal handles. If this were wrist mounted, I'm sure that kind of functionality could easily be built into the strap.

2) Holotape casing - use old 8-track tapes. I know they're not 100% identical to the game's holotapes, but it would probably be easier to modify those than to make new things from scratch. Plus, there is already a mechanism (crude and failure prone, but that's to be expected after 30+ years) inside for the storage of data; this means that some cut-out holes exist in the case already.

I love this build, and am looking forward to seeing the results.

Another thought, Modify a laptop HDD with a square case and a plug, put a little closable slit in the top (Like what old Nintendos had for the game cartriges) and have a connection on the bottom of the "Holo-tape" like the old nintendo cartridges had. That'd do the trick at least, not exactly accurate, but I'm sure it'd be easier than implementing a tape deck into it.

Instructable needs to add an estimated cost field to the side bar.
Aleator777 (author)  shizumadrive2 years ago
Terrific idea! Have you submitted this thought to the Instructables staff?
I'm going to.
love the idea for this and for the heart rate could you not use a device that measures pulse and calculates beats per minute?
also do you know of any good instructables about basic computer programming? tutorials? i'm pretty keen to learn about them but no one is willing to teach :(

some time in the not so distant future i may have a crack at this project but based on one of the computer terminals you see in the game :)
Aleator777 (author)  lonewanderer2 years ago
Thanks! You certainly can use such a device for measuring heart rate. I have one in mind, but that'll have to wait until version 4.

Not sure about Instructables, but there are plenty of people and places around the net who have this stuff available for free. If you really want to get into programming, Python is a great start. Most of the concepts learned for the language are useful in many other languages too. Here's a great resource on learning Python that is highly recommended:


Awesome that you're interested in the terminals too. I had wanted to build a miniature working version for some time, but I've got many other projects ahead of it. A guy on Reddit made a highly accurate emulator of the hacking game in java. You can play it online here:


And here is his source code (for when you're up to speed on programming and want a reference for how the terminal might work:


Hope this helps. Stay safe in the wasteland fellow wanderer!
Ahh all this is awesome!
Thank you for this research material
I'm working my way through it in between shifts lol
and good luck with the pip boy projects (and others i'm sure are awesome!)
Aleator777 (author)  lonewanderer2 years ago
No problem, I'm glad I could be of some help. Keep it up. I want to see a hardware fallout terminal build on the front page in six months. Putting points in real life science skills is the way to go!