UPDATE: For anyone interested in the 3000 model code from my other youtube video, you can find it here as oldPip3k.txt. This only displays various graphics if you have them and interfaces with an arduino for reading switches, but lacks any functionality compared to the handheld version. It's old and clunky, but you're free to see it now!

Now that you've built it, it's time to bring your PipBoy to life. Failed your G.O.A.T test? Not a problem! Follow these next few steps and you'll be a bonafide PipBoy Programmer in no time!

So what's actually going on inside both processors? On the Arduino side, not a whole lot. The Arduino is just parsing the NMEA data from the GPS, reformatting it into a fixed packet length of around 45 bytes and spitting it out on serial to the uLCD43's Picaso processor. If you take a look at the 4DGL code, thing seem a lot more complicated, but the majority of the program is just writing all the graphics for the display. The 4DGL program mostly just waits for the packet from the Arduino and then updates the display information on the Navigation tab for the user to look at. I commented a lot of my code, so it should be pretty straight forward if you're trying to read it. I hate when people provide lengthy code, but fail to comment properly, leaving readers to struggle. What's the sense in sharing your program if you're not going to share it with users of all skill levels? So hopefully there is no mystery to my code and you can learn from it. I can't really claim any credit for 90% of the Arduino code as it's mostly from the example Adafruit Library. The 4DGL code is however entirely my own labor of love and due to being 1000+ lines of code, I wont display it as an image here. It'll open fine in any code editor like Notepad++ if you just want a peek without having to download the 4D systems' suite. It's very much like the Processing language, so it should be relatively easy to follow.

To get started you'll need two different programs:

Arduino IDE v 1.0

4D Systems Workshop Suite

Download and install the programs to your computer (Unfortunately the 4D software is Windows only, so Apple and Linux users will have to find a Microsoft machine for these next steps)

I extracted the images and sounds directly from my game files on my computer so I can't legally redistribute them. I wouldn't want to have to delete this Instructable for silly legal reasons :( So I won't detail how to extract them either, BUT it is very easy to do should you search elsewhere. I will still show you how to properly put graphics and sound files onto the uSD card for use with 4D systems LCD and OLED screens.

Before we can upload a bunch of images to the micro SD card and plug it into our screen, we'll need to format the card. According the the Graphics Composer user guide, you need to do a full format, so uncheck "quick format" and go for a stretch or snack. My computer took about 5 minutes to completely format a 2GB card.

Loading images onto the micro SD card:

1. Fully format card

2. Open Graphic Composer Software (4D Workshop-->Tools-->Graphic Composer)

3. Click the "add" button at the bottom left corner of the software

4. Select all the images you want to add and hit OK

5. Once all the images are loaded into the software, click the build button

6. Select the first option (4DGL, SGC Picaso - GCI - FAT Selected Folder)

7. Make sure the output folder is your micro SD card (usually drive D:\)

8. Click ok and double check the SD card drive to see that the files were downloaded (two files called ".gci" and ".dat" on the card)

9. Open the ".dat" file and save in at another location on your computer

10. remove the card from the computer and pop it into the micro SD slot on the LCD

There are multiple ways to diplays images using 4DGL, but I'm using a function that requires you to name the images by it's index position in the ".dat" file. So the first three images in that file are thus indexes 0, 1, 2 etc. This will make more sense when you refer to the code in the included program.

Compiling and loading the 4DGL code to the LCD screen:

1. Download the attached file "PIP4DGL"

2. Open the 4D workshop software

3. Change the "Platform" in the toolbar to uLCD-43PT_GFX2

4. Plug in the board to USB to Serial board (TX to RX0, RX to TX0, VCC to 5V, GND to GND, and RST to DTR

5. Make sure the output is set to the right COM port of the tab next to the Compile and Download Button

6. Wait for the colored circle on the toolbar to turn blue (should only take a couple seconds)

7. Check the "Destination->Flash" option on the toolbar

8. Click the "Compile and Download" button

Compiling and loading the code the Arduino:

Before loading the code to the Arduino, we need to follow the instructions from Adafruit here

1. Download the attached files "PIPARDU.ino"

2. Open the PIPARDU file and double check that it compiles

3. Plug in the board.

4. Upload the code.