Internalized DreamPi adapter
This will become a more thorough tutorial at a later point, but here is a work-in-progress basic rundown.
I used a kiosk Dreamcast's dummy modem shell for this mod so that I wouldn't have a port on the back. These are obviously going to be difficult to come across, so you'll have to use a regular modem shell with a hole in it, and cosmetically doctor the hole somehow. Maybe a 3D printed snap-in panel?
Stuff you'll need
In order to do this, you need:
- a Dreamcast modem (I used a revision A U.S. modem)
- Dell NW147/Conexant RD02-D400 USB modem
- DC step up board (like https://amazon.com/gp/product/B011EBSKK0)
- 0.47uF capacitor
- 380ohm resistor
You can get away with other values for the cap and resistor, I used 1uF and 330ohm because that's what I had. You'll also need:
- some kind of plastic glue (I used Gorilla Glue)
- 1mm thick plastic washer
- 5mm thick plastic spacer
You of course will need a multimeter, a soldering iron, flush cutters, etc. -- basic modding tools.
Before you get started, make sure you set up your RPI with DreamPi as usual and make sure it works, your WiFi credentials are correct, etc. You don't want to have to troubleshoot DreamPi issues after you've cut everything up and made a million more variables for failure.
Using flush cutters, break out all the plastic supports except the leftmost screw post and the two short plastic posts on the far right. Glue the 1mm washer to the screwpost you left, and glue the two 5mm plastic spacers to the far right posts you left. After the glue dries, you can place the Dreamcast modem's PCB (discarding the part of the metal shell that typically sits there) on top of the spacers and see that it stands off evenly from the plastic and you can see quite a bit of space inside for the DreamPi stuff if you get creative enough.
Now you need to miniaturize your components. Everything that uses a plug or jack will now need to be direct wired by soldering to points on PCBs.:
- Desolder and remove the telephone jack. Take note of how the two pins left correspond to the two wires in a telephone line.
- Pins 1, 2, 3, and 4 on the Dreamcast connector are all +5V.
- Using your multimeter, identify +5V, ground, and the two telephone wire points on the exterior side of the modem.
- Desolder and remove the telephone jack. Like the Dreamcast modem, take note of how the pins correspond to the two wires in a telephone line.
- Desolder and remove the USB connector. Remember red wire is +5V, black wire is ground, green wire is data+, white wire is data-.
- There are two blue capacitors on the board that make this board too thick to fit. Remove both capacitors, solder wires to the 4 points where the capacitors used to be, and solder to the capacitors to the wires, so that you can stuff these capacitors in an open spot in the modem. You might be able to find surface mount tiny replacement capacitors instead, but I didn't feel like doing that and just extended them and stuffed them away. There's enough space for it.
DC step up board
- This board is to apply the voltage to the 'telephone line' so the modem sees it as an active telephone line. Apply 5V and ground to this board and use your multimeter to tweak the voltage setting on the screw. I used 9V for my U.S. modem, but PAL modems need 18V.
- Desolder and remove the microUSB plug on this board. It might not seem like much but I was able to get some needed space by doing this.
- Take note that on the input side, the board needs +5V and ground, and the output side will be for the capacitor, resistor, and one of the telephone lines in and out.
- You don't need to desolder anything from this board. On the bottom, you'll see PP1 is +5V, PP6 is ground, PP22 is USB D+, and PP23 is USB D-. Identify and remember these points.
Here is a picture I took while constructing mine, showing the USB modem, although parts of it are covered with tape in this pic: https://imgur.com/w3tTsRd
Take your time with this, plan out how you want to connect everything, make sure everything is going to fit as you do it. Make sure that you don't glue anything against the edges of the plastic as the metal shielding will slide in there when you put it back together. This is just a list of what you're doing, not necessarily in any particular order:
- Use the 5V and ground points you identified on the Dreamcast modem to supply 5V and ground to the RPi, the USB modem, and the DC transformer input.
- Connect the D+ and D- points on the USB modem board to the D+ and D- points on the RPi.
- Voltage inducement: Observe the following image that shows the construction of a battery-based line voltage inducer: https://imgur.com/W4r18Ph
Using this as a reference, with the battery connection terminals representing the V+ and V- output side of the DC transformer, construct the line voltage inducement circuit. The telephone line is like a circular loop: Pin 1 from the Dreamcast modem goes through this circuit to add voltage and connects to pin 2 on the USB modem; pin 1 on the USB modem directly connects to the pin 2 on the Dreamcast modem. A better, more illustrated diagram will come later.
Here is what mine looked like after soldering was finished and I determined the whole thing worked, but I hadn't put it together yet: https://i.imgur.com/RFgUa3Q.jpg The image is very messy as it was taken after running into a few snags and having to rip it apart and put it back together again. But what you see in the image works perfectly.
You may want to use electrical tape or some other insulator to protect the boards from one another. I just put strips of electrical tape securely on the RPi. Place the RPi board on top of the USB modem, and then place the Dreamcast modem on top of the plastic standoffs. Carefully replace the metal shielding. You will then screw this together using the one remaining screw post you didn't remove. The left side will be secure, while the right side will be slightly coming apart. Using some tape, very tightly apply tape the right side corner. You want the tape to be tight because if you loosely tape this, your DreamWiFi will slightly protrude from the console 1-2mm. It won't affect the function, but aren't you doing all this work so everything looks cool?