This post will cover the steps I took to build a custom miniature shell/controls for the Oregon Trail handheld (sold by Target). I had actually completed this build last month, but it took some time to put this write-up together.
Disclaimer This post is written for informational purposes only. I assume no liability for damage done to your equipment or for any injuries you may incur attempting to emulate this project. Please be careful when working with electricity.
Earlier this year, Target released a handheld “portable” version of the old game, The Oregon Trail. Now when I hear “Target”, I usually think clothing & home goods. But apparently they sell lots of novelty items too, and that’s exactly what this is. Designed to look like an old Apple II computer, this handheld emulates the 1985 (Apple II) edition of the game, right down to the case’s power button being shaped like a floppy disk, which needs to be “inserted into” the computer to begin play.
It does a fair job of emulating the original game (in full color); you can trade and hunt for food, keep tabs on your family and supplies, and even enjoy the music and sound effects via a mono speaker. The controls, however, are a little iffy; the action buttons are ok, but the D-Pad consists of 8 individual buttons arranged loosely in a circle, which makes the hunting mini-game cumbersome.
Now while this is a wonderful display piece, it’s not the most portable of handhelds. When you pick it up, the first thing you’ll notice is how light it is (only 8.9oz, or 255g), and if you were to open the shell, you’d see why: it’s cavernous inside. The screen and PCBs take up less than a third of the available space.
That got me thinking about how I might shrink it… only to find out Ben Heck beat me to the punch! His original intent, and most of the video he produced, was focused on dumping and modifying the EEPROM itself (the memory chip containing the game’s save data), but ultimately he included a short montage of how he built his compact redesign. What isn’t provided though (as far as I could find), are any instructions on how to build your own.
So, I’ve gone ahead and completed my own take on it, with a few modifications:
My final design’s specs:
Measurements: 119x54x17mm (4.7×2.1×0.7in) – originally 92x150x45mm (3.6×5.9×1.8in)
Weight: 3.8oz (107g) – originally 8.9oz (255g)
Battery: Built-in 2500mAh rechargeable (3.7V) LiPo battery, with micro-USB charging port and red/green status LED – originally 3x disposable AA cells (4.5V)
Audio: Front-facing mono speaker with added switching 3.5mm headphone jack
Improved single-piece 8-way D-pad
Let’s look at some of this in a little more detail.
Redesign – The Battery & Charger
The base handheld uses three disposable AA cells to make a 4.5V battery (1.5Vx3AA’s), but the system immediately steps this down to 3.3V for the rest of the system. This means we can safely run the system with a single rechargeable 3.7V LiPo battery, without having to step up the voltage.
Note: A cell’s output voltage is not a fixed value. The voltage a cell is labelled with, be it a 1.5V AA or a 3.7V LiPo, is only the “nominal” (or average) voltage output. A fully charged 3.7V cell will actually output 4.2V at first, but as it discharges the voltage will decrease to ~3.0V (some cells may go as low as 2.5V) before its protection circuit cuts off power to prevent over-discharge damage.
Example of the voltage output over time for a typical rechargeable LiPo cell vs a non-rechargeable AA alkaline cell.
Finding a battery was simple enough, eBay has a wealth of inexpensive LiPo cells to choose from. I used the length & width of the system’s circuit board as a guideline for the cell’s dimensions and looked for the highest capacity cell that fit. I ended up with a 2500mAh cell measuring 68x50x5mm.
Note: For those following along, my specific battery may not be available by the time you attempt this. This is a problem I’ve run into on other projects – the availability of specific model cells on eBay is fickle. If you’re unable to get the exact same model I used, you’ll have to shop for one that fits within the above dimensions.
Note: LiPo cells usually have a 6-7 digit number printed on them, in this case “505068”. This is just the dimensions of the cell: 5.0mm thick x 50mm wide x 68mm long – including the protection circuit (the bit wrapped in yellow tape).
As for recharging it, there are also a variety of prefab USB charging circuit boards to choose from. My selected device has a maximum 5V, 1A draw, measures 22mm x 17mm, and has two status-indicating LEDs to show when the cell is charging/full.
Finally, I wanted to have these lights visible outside. The charging board is configured so both LEDs share their power input (i.e. the anode terminal), and are controlled by making/breaking their connection on the output (cathode) terminal. This is perfect as it allows us to use a single bicolor LED to indicate both charging states.
As the name implies, bicolor LEDs can emit two colors, in this case I used a red/green bulb. A basic LED has two terminals, the anode (positive) and the cathode (negative). Bicolor LEDs have three terminals and come in two flavors: common anode, where each color gets a separate cathode terminal and share a single anode, and common cathode, which is the opposite. We’ll use a common anode for this configuration.
Redesign – Audio Components
The audio design for this project went through a few iterations. Since the primary goal of this project was to compact the final build as much as possible, the original 28mm x 8mm speaker had to go. I originally intended to have the speaker be rear-facing (which would have allowed a speaker up to 20mm), but this created a two fold problem: one, shrinking the speaker meant the sound would already be softer than the original, and two, directing the sound away from the player would make it even harder to hear.
So after playing Tetris with the internals I managed to make space for it to face forwards, at the cost of shrinking it even further to a 15mm x 3mm piece. This also consequently meant a further drop in audio quality, but since there’s really not much game audio to begin with, I felt it was an acceptable trade-off:
Audio Comparison – Original vs Replacement Speaker
Sound quality comparison between the original and the new speaker. The new speaker produces less bass and has a more tinny sound quality, but I’ll live with it for the space-savings.
Next, I added a switching headphone jack – a bit superfluous given the minimal game audio, but I thought it would still be a nice touch. Switching jacks are neat because they’re mechanical, so they don’t require any additional control circuitry. When they’re wired inline with a speaker, inserting/removing a headphone plug will physically disconnect/reconnect the speaker (and thus external audio):
The system only actually produces mono sound though, so our stereo jack needs to be wired with both channels tied together, otherwise you would only get sound in one ear.
Finally, the volume button. To help clean up the face of my design, I moved the volume button to the top side of the shell. I couldn’t find a low enough profile button on eBay, so I bought one off Digikey with the speaker.
Redesign – The Controls
Luckily, the original controls are simple membrane buttons, and each individual control has a dedicated signal line. When a key is pressed, its signal line is shorted to ground, pulling down the line’s voltage (except for two special snowflake keys that are pulled up by shorting to a 3.3v connection). Knowing this, all we need are some tiny momentary tact push buttons to mimic the original controls.
The D-Pad was the biggest issue with the original unit’s controls. It was good enough for navigating the menus, but trying to use 8 individual directional buttons was too cumbersome for the quick reactions needed while hunting. Since 8-way D-Pads don’t exist (as far as I could find), my original idea was to use a pre-built 4-way D-Pad and connect it to a series of logic gates to detect when either the diagonal (NE/NW/SE/SW) or just the cardinal (N/S/E/W) directions were pressed, but Ben’s idea to just use 8 tact buttons was just simpler. A custom 3D printed D-pad will sit over the tact buttons and press down on each corresponding direction… coulda done it with logic gates though… just saying.
Additionally, since I included a headphone jack and wanted to make the speaker front facing, I didn’t really have the real estate to fit all 5 buttons on the right, so I delegated the volume control to a shoulder button next to the headphone jack.
The reset button was the only one I debated about including. The original button the back of the main circuit board needed to be removed to make way for the battery, but in my test it doesn’t seem to actually reset the devices memory, it just restarts the console – equivalent to toggling the power switch. In the end, I just stuck it on the back of the new control pad circuit board for the sake of having it.
Redesign – The Shell & Buttons
Since I had recently acquired a 3D printer, I was able to print my own shell for this project. I used a (very) old copy of 3DS Max to first create approximations of all the components (battery, circuit boards, LCD, etc), then I built the new shell around them.
The buttons are an earlier design, I simplified the YES & NO to just Y & N.
My printer is a bit low-end, but it did the job on a budget. If you own a printer as well and want to make the pieces yourself, I used a 0.3mm nozzle for the shell/LCD trim and printed them in PLA, but the material (and color!) is up to you. See the Bill of Materials for a link to my model files. Otherwise, if you don’t own one, you’ll have to shop around for a service. I’ve never actually ordered from an online service before, so unfortunately I can’t offer a recommendation.
I printed the shell/LCD trim at 0.12mm layer height with a 0.3mm nozzle.
The buttons were a little trickier. At first I was going to just print plain-faced buttons and write the symbols on them, but then I had the idea to recess letters/symbols into the faces. Using a lot of trial and error, I came up with a set that I was satisfied with. I included both sets of buttons in my pack of 3D models.
I made several attempts varying the heat, speed, flow rate, and other settings to find a nice balance. I used a 0.2mm nozzle at a 0.08mm layer height.
Redesign – The Circuit Boards
We’ll need two new custom circuit boards to mount all the controls and components to. I designed a layout for each half of the unit, and had them professionally printed by OSH Park; it only cost $16 for three sets (minimum order size) and I had them in a week and a half. You have a few options:
You can use my milling files to order a set of your own from OSH or your preferred service (see the download link in the Bill of Materials section below, use the default 1oz, 1.6mm thick options during checkout);
You can buy a blank prototyping board and layout the traces yourself (considerably more work for not much less cost);
I can mail you one of my spare sets for the cost of shipping (I have 2 extra).
Picture of the circuit board’s rendered preview vs the final product.
Bill of Materials
Not including tools & misc parts I already owned
1x . . . 2500mAh 3.7V LiPo cell [ link ] – (Note: If this specific model is unavailable, see the Battery Redesign section above for tips on selecting a replacement)
First, we need to disassemble the original unit. Do the following:
Open the unit by removing the four screws (blue circles) from the back of the unit – throw the screws away.
Inside the unit, disconnect the “try me” device (purple circle) from the back panel of the shell – throw away this screw.
Cut the two red/black battery wires (green dashed lines) as close to the back panel as possible – leave the other end attached to the circuit board. Throw away the back panel of the shell.
Remove the seven screws (red circles) holding the main circuit board, speaker, and power switch in place – throw them all away.
Throw away the gray plastic piece holding the speaker in place (cyan arrow).
Remove the four screws (yellow circles) holding the button pad circuit board in place – save them, we’ll reuse them later.
Take the assembly of circuit boards/LCD/speaker out of the shell – save the clear plastic window (pink arrow) from the LCD, throw away the dark gray plastic LCD bracket (orange arrow) and the front half of the shell.
Next, heat up your soldering iron and do the following:
Desolder the two white “try me” wires from the circuit board (blue circle) – save the wires for reuse later.
Desolder the two yellow wires from the speaker (red circle), leaving the other ends attached to the circuit board – throw away the speaker.
Desolder the three purple/gray/white power switch wires from the circuit board (green circle) – throw away the switch/wires.
Desolder the two sets of rainbow-colored wires from the main circuit board (cyan circles) – save them for later.
Cut the two sets of rainbow wires from the control pad circuit board (purple dashed line) – throw away the control pad.
Next, we need to remove some components from the circuit board itself. Do the following:
Desolder the two legs of the large capacitor (blue circle) and set it aside – do not throw it away, we’ll reuse it later. Note: The upper half has a small amount of glue holding it to the circuit board, gently slice it with a razor or pen knife (green dashed line) to remove the capacitor, but be careful not to damage the circuit board.
Desolder the four legs of the reset button (red circles) and throw it away. This one is a little difficult to remove; what I did was cut the legs at the base of the button using wire snips and threw away the body of the button, then desoldered the remainder of the legs afterwards. Note: Only two legs are actually part of the circuit, the upper-left and lower-right are just for stability.
Note: If you tear either of the traces (like I did…dummy), there are alternate connection points. The lower-left pad goes to the 3.3V connection, and the upper-right pad goes to test point T2 (the upper-left and lower-right pads don’t matter).
Next, you’ll notice that there’s ~15mm of wasted space along the sides of the original PCB. Since the goal of my project was to shrink the final build as much as possible, we need to trim off the excess PCB along the edge of the copper tracing. Using a Dremel drill, cut along the red dashed lines to reduce the board’s width from 80mm to 65mm:
Note: The large copper section surrounding the board is just the ground plane, so it won’t hurt anything if you clip into it a little.
If you don’t want to do this step, you can omit it, you’ll just need to modify the provided 3D model of the shell to accommodate the uncut PCB. The new circuit boards shouldn’t need to be modified.
New Circuit Boards – Components
Next, attach the following components to the custom ‘LEFT’/’RIGHT’ circuit boards:
Take eight (8) rectangular tact push buttons and solder them to the ‘OT-LEFT’ board in the spaces labelled U, UR, R, DR, D, DL, L, & UL (red circles) – these are for the 8-way D-pad.
Take four (4) rectangular tact push buttons and solder them to the ’OT-RIGHT’ board in the spaces labelled YES, NO, ENT, & WGN (blue circles) – these are for the yes, no, enter, and wagon buttons, respectively.
Optional – If you want the reset button, take one (1) more rectangular tact push button and solder it to the ‘OT-LEFT’ board in the space labelled RESET (green arrow) – all this button seem to do is restart the system (equivalent to toggling the on/off switch), so it’s non-essential.
Take one (1) right angle tact push button and solder it to the ’OT-RIGHT’ board in the space labelled VOL (yellow circle) – this is for the volume shoulder button.
Take one (1) stereo headphone jack and solder it to the ’OT-RIGHT’ board in the space labelled HP1 (purple arrow).
Take one (1) right angle power switch and solder it to the ‘OT-LEFT’ board in the space labelled PWR (cyan circle).
New Circuit Boards – Wiring
The original unit comes with plenty of wire for us to reuse, so we won’t need to pull any new wire. Take the two sets of rainbow-colored wires from the old button pad and peel them apart into individual strands, then use them to make the below connections.
Note: There is only enough space for one layer of wire between the main circuit board and battery, so wires cannot cross here. The wire lengths provided below should give you a tight fit:
Cut a 35mm length of wire – Connect one end to ‘+3.3V‘ on the main board (oriented upward), and the other end to ‘3.3V’ on the ‘OT-RIGHT’ board (brown wire).
Cut a 30mm length of wire – Connect one end to ‘SOUND‘ on the main board (oriented upward), and the other end to ‘VOL’ on the ’OT-RIGHT’ board (purple wire).
Cut a 20mm length of wire – Connect one end to ‘ENTER‘ on the main board (oriented downward), and the other end to ‘ENT’ on the ‘OT-RIGHT’ board (red wire).
Cut a 22mm length of wire – Connect one end to ‘GND‘ on the main board (oriented downward), and the other end to ‘GND’ on the ’OT-RIGHT’ board (orange wire).
Cut a 25mm length of wire – Connect one end to ‘NO‘ on the main board (oriented downward), and the other end to ‘NO’ on the ’OT-RIGHT’ board (yellow wire).
Cut a 27mm length of wire – Connect one end to ‘YES‘ on the main board (oriented downward), and the other end to ‘YES’ on the ’OT-RIGHT’ board (green wire).
Cut a 30mm length of wire – Connect one end to ‘WAGON‘ on the main board (oriented downward), and the other end to ‘WGN’ on the ’OT-RIGHT’ board (blue wire).
Desolder the two (2) ‘SPK’ wires on the main board and resolder them in place, flipping their orientation to downward. Cut the left wire to 73mm and the right wire to 78mm, and connect them to the two ‘AUDIO’ pads on the ‘RIGHT’ board (yellow wires) – use small pieces of electrical tape to pin the speaker wires down as shown.
Next, grab the ‘OT-LEFT’ board and make the following connections:
Cut a 51mm length of wire – Connect one end to ‘D_R‘ on the main board (oriented upward), and the other end to ‘DR’ on the ’OT-LEFT’ board (gray wire).
Cut a 49mm length of wire – Connect one end to ‘D_L‘ on the main board (oriented upward), and the other end to ‘DL’ on the ’OT-LEFT’ board (purple wire).
Cut a 48mm length of wire – Connect one end to ‘D‘ on the main board (oriented upward), and the other end to ‘D’ on the ’OT-LEFT’ board (blue wire).
Cut a 46mm length of wire – Connect one end to ‘RIGHT‘ on the main board (oriented upward), and the other end to ‘R’ on the ’OT-LEFT’ board (green wire).
Cut a 41mm length of wire – Connect one end to ‘LEFT‘ on the main board (oriented upward), and the other end to ‘L’ on the ’OT-LEFT’ board (yellow wire).
Cut a 39mm length of wire – Connect one end to ‘UP‘ on the main board (oriented upward), and the other end to ‘U’ on the ’OT-LEFT’ board (orange wire).
Cut a 37mm length of wire – Connect one end to ‘U_R‘ on the main board (oriented upward), and the other end to ‘UR’ on the ’OT-LEFT’ board (red wire).
Cut a 35mm length of wire – Connect one end to ‘U_L‘ on the main board (oriented upward), and the other end to ‘UL’ on the ’OT-LEFT’ board (brown wire).
Cut a 46mm length of wire – Connect one end to the left of the three ‘CON1‘ pads on the main board (oriented downward), and the other end to the right of the three ‘SWITCH’ pads on the ’OT-LEFT’ board (yellow wire).
Cut a 42mm length of wire – Connect one end to the center of the three ‘CON1‘ pads on the main board (oriented downward), and the other end to the center of the three ‘SWITCH’ pads on the ’OT-LEFT’ board (orange wire).
Cut a 38mm length of wire – Connect one end to the right of the three ‘CON1‘ pads on the main board (oriented downward), and the other end to the left of the three ‘SWITCH’ pads on the ’OT-LEFT’ board (red wire).
Cut a 84mm length of wire – Connect one end to ‘GND‘ on the main board (where we connected the orange wire to ‘OT-RIGHT’), and the other end to ‘GND’ on the ’OT-LEFT’ board (red wire).
Optional Reset Button: Cut a 32mm length of wire – Connect one end to the upper-left reset button pad on the main board (oriented downward), and the other end to the left of the two ‘RESET’ pads on the ’OT-LEFT’ board (blue wire).
Optional Reset Button: Cut a 36mm length of wire – Connect one end to the lower-right reset button pad on the main board (oriented downward), and the other end to the right of the two ‘RESET’ pads on the ’OT-LEFT’ board (white wire*). *Note: I tore the trace off the main circuit board, so I had to use the 3.3V pad towards the bottom-left of the main board (where we connected a brown wire earlier).
Note: Ignore the two white wires I connected to the capacitor traces, that’s for the next step and I forgot to take a picture in between.
Next, the capacitor and speaker connections. The capacitor wires will start from the main circuit board, snake above ‘OT-LEFT’, bend down above the L, U, UR, UL connections on OT-LEFT, then dip back down below ‘OT-LEFT’, where they will connect to the capacitor.
Cut a 37mm length of wire – Connect one end to the upper (negative) capacitor pad on the main circuit board (red circle).
Cut a 39mm length of wire – Connect one end to the lower (positive) capacitor pad on the main circuit board (blue circle).
Snake these two capacitor wires above and then back below the ‘OT-LEFT’ board as shown – they should lay on top of the L, U, UR, UL wires.
Connect the capacitor to the two wires, making sure its negative terminal connects to the upper pad on the main circuit board. The capacitor has a large blue stripe down one side with a “–” symbol – this side is the negative terminal.
Cut a thin strip of electric tape to hold down the two capacitor wires (as well as the wires from the previous steps).
Cut a 30mm length of wire – Connect one end to the right ‘SPKR’ pad on the ‘OT-RIGHT’ board, and the other end to the speaker’s right pad (purple wire).
Cut a 27mm length of wire – Connect one end to the left ‘SPKR’ pad on the ‘OT-RIGHT’ board, and the other end to the speaker’s left pad (green wire).
Battery And Charging Circuit
The charging board has two surface mount (SMD) LEDs built-in, a red one to indicate charging and a blue one to indicate full. Fortunately, the LEDs are circuited in a way that allows us to easily connect across them with our 3mm bicolor LED. What you’ll need to do is bend and trim the three legs of the LED to match the diagram below. This allows us to jigsaw the piece around the boards existing components to reach the original LEDs’ terminals.
The tip of the new LED should poke just 1mm past the edge of the charging board’s USB port.
Note: If you don’t want to do this step, the board’s built-in LEDs are actually bright enough to shine through the new shell (at least they were for my white PLA print, your mileage may vary), you’ll just have to close the hole I made in the shell for the LED.
Now, take the battery and do the following:
Trim the battery’s black wire to 22mm.
Trim the battery’s red wire to 40mm.
Trim the main circuit board’s black ground wire to 37mm.
Trim the main circuit board’s red power input wire to 26mm.
Twist the battery’s black wire and the main circuit board’s black ground wire and connect them to the negative output pad of the charging board (blue circle).
Twist the battery’s red wire and the main circuit board’s red power input wire together and connect them to the positive output pad of the charging board (red circle).
And with that, the circuit board wiring is now complete! Flip on the power switch to quick test it and the unit should power up! It’s also a good idea to give the buttons a quick gentle test; jump into a game and try out the controls.
Now we’ll finish the final build. First, assemble the two halves of the D-Pad by layering a little glue along the top of the octagon peg (green circle) and sticking the two halves together. Note the two recessed triangular bits on the bottom half (purple arrows). Use these to orient the top half of the D-Pad so one leg of the D-Pad’s + is between the two triangles (like the blue guide). Do not orient it so the two triangles are between the two legs of the red + mark.
Take out the plastic LCD screen protector we saved at the start. Use either scissors or a razor blade to trim it to ~55mm wide (red dashed line) to fit the new LCD “trim” piece. Place the screen protector on the actual LCD, aligning it with the left side of the LCD (blue guidelines). Snap the gray trim piece on top.
Next, place the battery in the bottom half of the shell, so its wires are at the upper left corner.
The charging board and LED should snugly fit into place as shown.
Rotate the circuit boards around so the entire assembly fits over the top of the battery/charging board. The pegs on the four screw posts (red circles) should fit snugly into the mounting holes of the ‘OT-LEFT’ & ‘OT-RIGHT’ circuit boards.
Fit the D-Pad piece on the ‘OT-LEFT’ board. Be sure to orient it so the two “missing triangle pieces” from before (purple arrows) sit along the LCD. Additionally, you’ll need to cut a small piece of cardboard, 1cm2 to fit in between the four Yes, No, Wagon, and Enter buttons.
Next, take the top half of the shell and the Yes, No, Wagon, Enter, and Volume buttons. Put them into their respective holes and use a little tape only on the outside of the shell to hold them in place while we install them.
Finally, get the four screws we saved all the way back at the beginning, the ones used to hold the original unit’s keypad in place. We’ll use these for our new shell.
This part’s a little tricky, place the top half of the shell on the rest of the assembly, starting along the top half so you can slide the power switch in to place. Gently close the top half of the shell down (red arrow). Several things can slide out of place, so keep a flashlight and a thin, bendable tool handy (like a paperclip), to maneuver them.
With the shell closed, carefully flip it over and put the four screws into place (blue circles). Note: The screw posts aren’t threaded, so you’ll have to force them in, but this will help hold the case together better.
Peel off the tape and you should be done!
Testing & Conclusions
Overall I’m very satisfied with the results. Breaking down the project’s objectives:
Make it smaller and lighter: By volume, my final build measures 1/6 the size of the original, and weighs only 107g (41% of the original’s weight).
Incorporate a rechargeable battery: My build runs off a 2500mAh rechargeable LiPo cell with an incorporated red/green charging status LED.
Improve the controls: The new single-piece D-Pad is better than the original 8-button scheme, but not perfect. I went through a few iterations to get it to where it is now, but it’s sticky in places, particularly along the right side where you have to press a bit hard to get the buttons to register. It works well enough for what this project is, and it’s definitely better in the hunting mini game, but there’s some room for improvement.
Audio revisions: The replacement speaker works just fine despite downsizing it. I can’t imagine needing the game audio any louder than what’s produced. The headphone jack works as well; the speaker automatically cuts off when headphones are inserted, and resume when headphones are disconnected. The one thing I’ve noticed though is headphone audio is very loud, rivaling the unit’s built-in speaker. It’s a predicament I’m not sure how to resolve… I almost need to attenuate the incoming signal, then amplify it between the headphone jack’s output and speaker input… food for thought.
Finally, anyone reproducing this might want to add in some sort of caps to cover screw holes. I may have oversized them a bit, and the screw recesses pretty deep – or at least I should sand down the ridge of the hole for the sake of comfort.