Introduction: Yet Another PipBoy 3000! (The Mark"K") a Work in Progress

INTRODUCTION

Greetings!

This will be my meager attempt to write an Instructable about my efforts to build a fully functional PipBoy 3000 (Model "K")* based on the Raspberry Pi.

First, a little background about myself, my motivations and abilities, and what I hope to accomplish in this effort. I'm a retired aircraft mechanic, almost 60 years old, with no experience at soldering and only vague knowledge of electronics that I've picked up by osmosis over the years. The only programming experience I have is in basic that I learned over 30 years ago in my youth, and as you may have gathered from the very nature of this project I'm a bit of a gamer and a big fan of the Fallout universe ever since I first started playing the original Fallout on my Amiga. ;-)

Last year a friend conned me into attending the ECCC in Seattle and I was impressed with the vast populace of nerds and geeks having fun! { I had found my people ! ;-) } While I saw many Fallout themed outfits and Cosplay, most were merely cosmetic with only a few being functional.

Second, this project would not be possible without the many examples of “prior art” that exist out there on the web, so as such, it is vastly derivative in nature, if the only reply or criticism you have in the comment section is: “Simpsons did it first!” move along troll. I encourage you to visit as many of these sites as you can, you might find more elegant solutions to problems you may encounter, and I am always open to learning an easier or better way to accomplish a task.

Finally, this is an ongoing, in-progress project. I do not know if this an acceptable method to create an Instructable, if the forum moderators will let it stand, or if I can modify and edit it to reflect the changes that no doubt will occur as various steps are completed or modified. Also, this project has become fairly expensive, you should be aware that most of the functions you are attempting to emulate are easily obtainable as smartphone apps and that it would be waycheaper to go that route or purchase one of the “Limited Edition” PipBoys from Fallout4 off of Ebay!

All of that being said, and out of the way let's get down to it!

*(Mark "K" being a bit of vanity on my part and to distinguish it from the other ones out there! ;-) )

Step 1: Brainstorming-Design&Functions

The PipBoy from the Fallout Universe is an amazing device with many capabilities, only some of which will we be able to copy here in the real world, either due to cost or size restraints. Let's review what it has, along with those that we can find practical to emulate.

Geiger Counter- An essential part of a post-nuclear-apocalyptic world but of limited use in our current Universe and both bulky and rather expensive to implement.

Radio/Music Player- Do-able and fairly inexpensive as long as focus on mp3 player part.

Status Functions- Some of these will be easy to implement, others will be expensive and beyond the scope of our abilities. Body Temp, pulse, galvanic skin reading, and bloodO2 levels are probably our best choices here.

Mapping/Compass- Totally Do-able, We'll need a GPS unit for this!

V.A.T.S.- I WISH I could pause real-time! Failing that, we should probably spring for a camera unit here. (Maybe a rangefinder module?)

Inventory- Basically this will be a list that we will have to manually populate & maintain.

IMPLIED FUNCTIONS:These are things that the device does in the game that are not specifically initiated by the user:

Networking: Since the PB downloads files and connects to Vault networks we'll copy this function with both a USB WiFi and Bluetooth dongle.

Input Device: It is never shown how the wearer enters data into the PB, but we'll definitely need a method unless all we want is a static display!

Power Supply: Not readily apparent in the game where the PB gets it's power from, whether it is Bio-electrical or battery powered.

Mass Storage: The PB data storage is never clearly defined, the Pi limits itself to 32GB(under FATS) that will have to be shared with the Linux OS, the Screens/plates we'll have to load for the PB appearances, and the python code and libraries needed to run our assorted sensors.

Some other possible functions:

Blood Alcohol Sensor (MQ-3)- Self explanatory! ;-)

Hazardous Environ Sensor (MQ-2)- Detect Methane-Propane,etc

Feel free to add as many sensors or functions as you like, but this Instructable will only cover the ones that I intend to implement! ;-)

Step 2: PARTS & TOOLS REQUIRED:

If you haven't done so already, you should probably read all the other PipBoy instructables first!

dragonator's instructable is here:

https://www.instructables.com/id/A-3D-printable-Pip...

mkarvonen's is here:

https://www.instructables.com/id/PipBoy-3000-workin...

and sabas 1080 has a version here:

https://www.instructables.com/id/Pip-Boy-3000-with-...

All of them have one thing in common, the first thing you'll need is a suitable 3D printed Case! I bought mine off of Etsy before mkarvonen published his version, therefore mine is too small to fit my arm! :-( You would be well ahead of the game to measure your forearm and modify his model to fit!

In any case, once you get a case you'll need to clean up the excess flashing from the printing process and open up the slots and tabs to get a good press-fit prior to painting. (A Dremel with a coarse bit on a slow speed works well for this) I opted for a Bronze color rather than the Olive Drab Green.

So Here is a list of the Tools & Parts Needed:

Tools:

Multimeter

Wire "jumpers" / leads

Various resistors

Dremel- various bits

Soldering iron/solder

Electrical tape

Phillip's Tip Screwdrivers

Needle-nose Pliers

Wire snips

Single edged razor blade (like used in boxcutters)

5 x 7 cm DIY Prototype Paper PCB Universal Board

Sandpaper

small files, round and flat

paint (you may need a primer if not using a plastic specific paint, see dragonator's ins. for tips on painting/aging)

glue (I used a "superglue" gel, a hot glue gun/glue might work just as well)

Assorted Small self-tapping screws

Parts:

3D Printed Case (See above)

Velcro

Elastic Bands and "vest buckles" to attach the Upper half to my forearm

Needle & Thread

Core/Memory-

(1) Raspberry Pi2 Model B (1GB) 900Mhz

(1) Sandisk 32Gb Class10 MicroSD Card

Controls/Inputs-

(1) 1P6T-1 Pole 6 Throw Rotary Switch Selector #{Switch should determine function being accessed GPS/Inventory/etc}

(3)- Yellow LED Mounted over Micro-button Switch {See Step #4}

#{Pressing LED-Switch should A.Light LED B.Turn off other LED if lit. C.Select Which screen of 1P6T to display (ABC) }

(1)- Wheel/Dial Mounted to Pot #{Dial to function as Scroll Wheel on lists, Zoom in/out on Maps} #{Total of 6*3 (18) Screens +/- }

(1) iPazzport 2.4Ghz Mini Keyboard-remote-touchpad mouse

Sensors/Modules-

(1)- Adafruit Ultimate GPS Breakout #{GPS,Altitude,Speed,Heading,etc}

(1)- Kootek GY-521 MPU6050 3Axis #{3Axis analog gyro/tilt/accelerometer}

(1)- Adafruit BMP180 Barometric #{Temperature,pressure,altitude Environment sensor}

(1)- 5Mp Camera module #{PiCamera with opt. 12" flexcable }

(1)- Edimax EW-7811Un #{150Mbs 11n Wi-Fi USB Adapter (!? interfere w/kb?)

(1)- Plugable USB Bluetooth #{4.0 Low Energy USB Bluetooth Adaper}

Outputs-

(1)- 4.3" TFT/LCD Monitor #{4.3" Diagonal 16:9 9-24vDC 2w max consume 75ohm Composite}

(1)- PAM8403 5v MiniDigital Power Amp

(2)- 30mm 2800Hz 8 Ohm 1w Speakers

Power-

(1)- XTPower LiPo 10000mAh/17Wh #{Output 2*USB5v/2100mA & 9-12v (Switchable) 2000 mA}

(1) PNY T5200 Lion #{Output 5v 2100mA (if necessary)

Step 3: PressFit and Paint

Once you have cleaned your case of the excess flashing from the printing process, paint it and press-fit the parts together. If you are using the shapemodel case from dragonator's instructable you'll have to sand/file a small bit off the bottom of the screen enclosure in order to clear the Pi's USB ports. !!! Use extreme care here since it is one of the most fragile parts already. !!! Also avoid installing any screws unless you are absolutely certain you won't have disassemble them again! Although PLA is very durable every time a screw is installed there is less plastic to "bite" the next time requiring you to either oversize the fastener or use some sort of filler!

Step 4: LED-Microswitch Assembly

Previous versions I looked at didn't seem to answer this problem properly, so here is the kludge I came up with.

Locate the small panel assembly that your LEDs mount into, taking a small round file or something similar carefully open up the 3 holes so that the LEDs can almost go entirely into the holes WITHOUTgoing all the way through. Basically you want the LED to sit almost flush with the internal edge of the part, set it aside.

Take your 3 microswitches and using thin strips of electrical tape wrap them so that the metal plate on the top is insulated from anything that might touch it from the sides. Then temporarily mount them to the PCB paper prototyping board, pay attention to which legs are "linked" you'll want them to all be oriented in the same direction to make the wiring easier later, and space them as close as you can to match the hole pattern for the LEDs, I found skipping one row of holes between each switch to line up best, set that aside.

Take your LEDs. You'll need something small and non-conductive to mount to the bottom of them to activate the switches, I was lucky enough to find some small plastic beads from a broken drawer slide about the size of a BB to use. Push them up to the base of the LED spreading the leads/legs evenly. Carefully glue the beads (whatever) in place to the base of the LED. Now, carefully using your needle-nosed pliers straighten your LEDs legs out so that they will go past the edges of your microswitches and through one of the holes in that row you've skipped. Again making sure that the orientation is the same will make it easier to solder your wiring up later, as will choosing holes that are diagonal from each other rather than directly across from one another.

{If I hadn't of lucked upon these plastic beads I was planning on using small sections of plastic tubing from the insides of a ballpoint pen, but I think the beads will be much more forgiving in terms of activating the microswitch, not requiring an exact alignment. }

Later we'll add the resistors, solder the parts in place, and trim the PCB {That's why we went with paper/bakelite PCB rather than fiberglass! ;-) } down so that it will fit into the panel assembly cavity.

Step 5: Display and Sound Choices

Originally I had planned on using a 4 inch touchscreen for both data input and display. Unfortunately the display I first bought attached to the Pi by mounting to the GPIO pins, ALLthe GPIO pins! How the heck am I going to hook up all the sensors and accessories I need to add with all the pins being covered?!?

So instead I went with this:

http://www.amazon.com/gp/product/B005CFLMNC?psc=1&...

While it isn't HDMI, it is relatively low power draw (12v <2w) and still 16:9 format. It also is about $35 cheaper, but DOESN'T block any of the GPIO!

Since this means we'll have to use composite output from the Pi it also means we'll have to fabricate a TRRS 4 pole plug:

http://www.amazon.com/gp/product/B00IE7V58C?psc=1&...

but since we are working in a really confined space we'll have to either come out with a right-angle adapter first, or bend this plug we're building into a right-angle and forego the plug cover it came with and just go with some heat-shrink-wrap.

In addition to using this plug for composite video, it will also provide the left and right audio input for our PAM8403 5V Mini Digital Power Amplifier. The power source for this will probably come from either GPIO pin 2 or pin 4, both of which push a 5v output, the only question is whether to throw a pot into this circuit to externally manipulate volume or should we try and alter the volume internally in the Pi?

After feedback, internal control it is! We should be able to control volume internally in the Pi by using the alsa-util set!

sudo apt-get install alsa-utils

sudo apt-get install mpg321

sudo apt-get install lame

We'll have to make sure the above code { or something similar } is loaded and run somewhere in the boot process, this will give us the ability to play MIDI,WAV, and MP3 files .

Raspberry Pi Contest

Participated in the
Raspberry Pi Contest