This software is currently an Alpha release. Please test and report any issues on GitHub.

If you'd like to support my work on the DreamPi software image, please consider donating to my Patreon. Or, donate via Paypal.me! Thank you!

DreamPi is a piece of software I've written combined with a standard set of hardware which allows the SEGA Dreamcast to connect to the internet without a dial-up ISP.

To demonstrate, here's an old crappy video! (Don't worry, it's no longer manual, just plug and play!)

What You Will Need


To build a DreamPi, you need the following hardware:
Chances are (regardless of region) you will also need to build a line voltage inducer. This is a simple circuit which sends an electric current down the telephone cable. For this you will need:
  • A 0.47uf capacitor
  • A 380 Ohm resistor
  • A 9v battery connector (two if you have a PAL modem)
  • A 9v battery (two if you have a PAL modem)
  • A soldering iron, some solder, wire strippers, electrical tape, and patience

 Right, I have them, now what? 


Connect the Raspberry Pi to the USB modem, connect that to the phone cable, connect the phone cable to the Dreamcast. Then, connect the Raspberry Pi into your router.

Now, download the image, decompress with 7zip (or whatever) and follow the instructions here to flash the image to the SD card: https://www.raspberrypi.org/documentation/installation/installing-images/windows.md

Now, insert the SD card into the Pi, and switch it on!

Configuring DreamKey / PlanetWeb

For PlanetWeb, follow the instructions found here under "Configuring the Dreamcast".

For DreamKey 3.0. You need to set the ISP number to dial to 555.

So, what's the deal with PAL modems?


Right, it took me ages to figure this out. U.S modems come in two forms, model "A" modems, and model "B" modems. Model A modems don't draw their power from the telephone line itself, or at least, they don't require it (some USB modems do however). Model B modems do, and so to do a direct modem-to-modem connection with one of those you need to somehow add power to the connecting phone wire. That's what a "Line Voltage Inducer" does. The best instructions I've found for this are here.

But, it gets even more complicated. Generally PAL modems are classed as Model B modems - they require a line voltage. However, I found that not many PAL users had had much luck getting connected, and when I tried, it didn't work for me either, even with a line voltage inducer!

Apparently it seems that U.S. Model B modems can suffice with only 9 volts added to the telephone line, but in europe our fussy PAL modems require 18 volts!

This is simple enough to do, just build the line voltage inducer as normal, but chain two 9 volt batteries together in series, rather than using just one.

Does it work with all games?


Almost! The only games that currently have online servers that don't work are Toy Racer, and the PAL version of Q3 Arena. These games require Dream Arena authentication but hopefully this will be fixed in 2016.

How Does It Work?


When you switch on the Raspberry Pi, the DreamPi software starts automatically. It goes into "listening" mode. When in this mode, the software listens for the DTMF dial tones from the Dreamcast modem. When it stops receiving these tones it assumes that the Dreamcast has finished dialling and is now waiting for the other end to answer. Because we're not going through the telephone network, there is no ringing tone which is why the software waits for the dial tones to stop.

Once DreamPi stops receiving dial tones, it attempts to answer the call. This can take 10-20 seconds. It then hands over the connection to the PPP process running on the Raspberry Pi. DreamPi then enters a connected state and waits for the connection to finish, at which point it re-enters listening state.

Please note: Whenever the Raspberry Pi is on, the batteries in your voltage line inducer will be draining. Make sure you have plenty of 9v batteries handy! Always turn off the Raspberry Pi when you aren't playing online!

Building a Line Voltage Inducer


See here for better instructions with pictures!

Building a line voltage inducer is fairly straightforward if you have a little soldering experience. It is possible to do this without soldering but you'll probably end up with something unreliable.

A telephone cable is made up of 2 or 4 wires. In reality, only the middle 2 wires are normally used (the other two are for extensions when you have another phone connected). These two central wires are referred to as "tip and ring".

What we want to do is cut one of the "tip and ring" wires, and then bridge the gap we make with the capacitor. The capacitor filters out electrical noise from the batteries that we'll connect.

Once we've restored the connection in the wire by using the capacitor, we then need to attach the batteries and resistor in parallel. The easiest way to do this is to first chain the battery connectors and the resistor. Finally attach each end of your chain to each leg of the capacitor. That's it!

I did everything you said, and it doesn't work!

Yeah, well, there's a lot of modems out there, and a lot of things that can go wrong along the way. Things to check:

  1. If your modem has an "online" light, make sure it comes on before you try to dial the Dreamcast
  2. If you modem lights don't come on at all, it might be that the modem wasn't detected properly. Please report a bug, with your modem model number on GitHub
  3. If the lights come on, but the Dreamcast fails to connect, check your line voltage inducer, maybe put in new batteries
  4. Make sure the dreampi is actually available on your network. Try: "ping dreampi.local" from a terminal or command prompt (I don't use Windows, I think that works there too..., definitely works on OSX and Linux). If you get no response report a bug on GitHub and I'll try to help or improve the software
  5. Try plugging a monitor or TV into the Pi, it definitely boots up OK right?

Games / Software Verified to Work

  • Phantasy Star Online Version 2.
  • DreamKey 3.0
  • Quake 3 Arena (not PAL as it requires Dreamarena auth)
  • Sonic Adventure (website)
  • Starlancer
  • Maximum Pool
  • 4x4 Evolution

Games on the Road Map! 

  • Toy Racer
  • Quake 3 Arena (PAL)

How can I thank you?!


Things that you can do to help me:
  • Test and report bugs, maybe even fix them!
  • Reward me with some U.S. model A and B modems (I'm in the U.K)
  • Reward me with some online games for testing (I already have Q3 PAL, PSO v2, Toy Racer, Starlancer)


  1. Thanks again man! Looks like I have some shopping around to do!

  2. What model of the Raspberry Pi will this use? I have both a Pi 1 B+ and Pi 2 B+ I could use.

  3. Any Pi should work, I've only tested with a Pi 1 model B though!

  4. Awesome. I can't wait to try this!
    Question, couldn't you run power off the Pi to the phone line somehow? Avoid hanging a battery off the phone line?

    1. Potentially.. the problem is largely boosting the 5v from the Pi, up to 18v for the line voltage. I have some IC chips to do that but I'm not sure that the Pi will have the power...

      You'd still need a custom circuit board though - I'm working on it :)

  5. It can use a USB-serial cable to use an external serial modem?

    1. Tbh, I don't know! It might work as I work directly with the Linux serial device

  6. Hey!!! Thanks for the awesome raspberry pi image!! I got 18v from the raspberry pi's 5V with a step-up circuit and now I'm dialing just fine. But I'm struggling to find browser that's burnable to normal CD-R and is working. DreamKey 3.0 is too large to burn.... PSO v2 is dialing and showing welcome online screen and after that nothing.... I'm not sure what's going on...I'll continue testing and share the results!

    1. Try one of these. I could get them to burn, but ended up just buying PlanetWeb 2.0 off Amazon for like $4...


  7. Also check this line I found googling:

    # produces the tone

  8. my DreamPi boots and says:

    Raspian GBU/Linux 7 dreampi tty1

    pppd: no process found
    dreampi login: _

    Am I doing anything wrong?

    1. I had to log-in with the default Pi username and password, then start dreampi.py as in the video.
      How do I make this automatic, so I don't need to plug-in a keyboard every time?

    2. This looks exactly right. Did both modem lights come on? The PPP message is normal and shows that it started up on boot already

    3. Yes, both lights are on. I can now get it to dial, and the Pi receives the numbers, then says:




      then it just sits there blinking. It never actually finishes the connection. The Dreamcast eventually says there was no answer.

  9. Can i get this work @my laptop with build in modem ?

    1. Not without a bunch of manual configuration, you'd need to install Linux (e.g. Fedora or Debian) and then copy the configuration from the image...

    2. Ok, thanks... I got my rasp today so now i can forget that laptop thing and get right to the business!

  10. Hi,
    does anyone know if you exactly need the resistance and capacitance values which are described above or is it possible to change them? I fond a website (http://www.jagshouse.com/modem.html) where they used 1k for 24V and 2200uF to reduce the ripple.
    Do you use 330 Ohms and 0.47uF for 18V too?

    CU Octo

    1. Ok, the connection was established and the PPP daemon was started, but I am unable to retrieve a website (e.g. http://retro.hackaday.com). Any ideas?
      Here is the log:

      Nov 21 15:59:38 dreampi Setup complete, listening...
      Nov 21 16:04:07 dreampi Answering call...
      Nov 21 16:04:07 dreampi ATH0
      Nov 21 16:04:07 dreampi OK
      Nov 21 16:04:07 dreampi AT+VLS=0
      Nov 21 16:04:07 dreampi OK
      Nov 21 16:04:07 dreampi ATZ0
      Nov 21 16:04:08 dreampi OK
      Nov 21 16:04:08 dreampi AT+FCLASS=0
      Nov 21 16:04:08 dreampi OK
      Nov 21 16:04:08 dreampi ATA
      Nov 21 16:04:26 dreampi CONNECT 115200#015
      Nov 21 16:04:26 dreampi Call answered!
      Nov 21 16:04:26 dreampi
      Nov 21 16:04:26 dreampi pppd[31492]: pppd 2.4.5 started by root, uid 0
      Nov 21 16:04:26 dreampi pppd[31492]: Using interface ppp0
      Nov 21 16:04:26 dreampi pppd[31492]: Connect: ppp0 <--> /dev/ttyACM0
      Nov 21 16:04:26 dreampi Connected
      Nov 21 16:04:29 dreampi pppd[31492]: found interface eth0 for proxy arp
      Nov 21 16:04:30 dreampi pppd[31492]: local IP address
      Nov 21 16:04:30 dreampi pppd[31492]: remote IP address

      TIA Octo

    2. Small update :). I am able to connect to my router in my local network with via IP address, but I cannot access external websites via IP. Seems to be a routing problem!?

    3. Try the new release, perhaps that will fix it?

    4. Hi Luke,
      I just installed the latest release, but it is still not working. However, I found the problem on my system. The PPP configuration uses the wrong DNS server. In /etc/ppp/options, I see "ms-dns", but in my network I need "". If I change this value manually, everything works fine. Is this a problem with the autoconfiguration?

    5. Try the latest release. The DNS is supposed to point to the Pi's internal IP (this used to be .100 but now it's .99) you should find that the DNS issues are resolved.

      0.98 is here: http://blog.kazade.co.uk/2015/12/dreampi-098-released.html

    6. Sorry, had not mucht time to test it lately. It works fine now. Thanks a lot :-)!

  11. This comment has been removed by the author.

  12. You're sure about everything else? I take it Ferrari F355 Challenge won't work.

  13. This comment has been removed by the author.

  14. I've got everything set up inc. voltage line inducer but when DreamPi boots I get the following fails -

    "not running dhcpcd beacause etc/network/interfaces...failed!" and "defines some interfaces that will use a DHCP client...failed!"

    It then asked me to log in which I did with the default Pi username. And I'm left with -

    pi@dreampi $

    What am I doing wrong? :)

    1. I'm getting the same problem. If anyone knows the problem I'd like to know how to fix it. Thanks

  15. Any plans to add wifi support? That would be great if it could work.

    1. WiFi works now if you know how to configure it on the Raspberry Pi :)

      I'm looking into making this a supported option.

    2. Hi do I need a Pi2? is your image based on a Pi2? Thanks

  16. Are you aware of any USA modems which are "model A" (provide power to the line)?
    I am looking at

  17. Thanks for review! Lot's useful information!:)
    spy for phones

  18. Hi, great work. Is it possible to run the dial in server in the openelec kodi image? Would be nice if I didn't have to swap SD cards every time I want to play online or use kodi :-)

  19. My modem look exactly the same as yours, yet it isn't detected by te RaspberryPi.
    lsusb says;
    Bus 001 Device 005: ID 0572:1300 Conexant Systems (Rockwell), Inc. SoftK56 Data Fax Voice CARP

    Any thoughts?

  20. Ah, my guess it that you have a Hayes compatible modem;

    The modem you provided in your link above doesn't work as it is a softmodem

    1. I bought my modem from Kazade's eBay link and it works for me. However, it has a slightly different PID:

      Bus 001 Device 004: ID 0572:1340 Conexant Systems (Rockwell), Inc.

  21. Is it all possible to grab 10v off the two gpio headers and just wire it into the modem cable to eliminate the need for external battery? I'm no electrical engineer so I don't know if this amount of voltage would blow out something or cause the pi to not function at full power. Though I figured since the pi does offer up 10v from the gpio that it would be usable with the line voltage inducer for NTSC users.

  22. Hi kazade, I tried to build a voltage inducer but I don´t have any experience with solder. How can I know if a did my voltage inducer works without a dreamcast? I did one but it doesn´t work.

    In my country I can´t find any 380 ohm resistor,
    It has to be exactly that value?

    Thanks a lot

  23. Awesome project!

    Don't forget Alien Front Online ;)