Electronics, coding and hacking. And ADD.

« Soldering fumes exhaust C64 SMD caps »

Cheap, overkill Amiga network adapter


Here's a silly, but functional way of getting your oldskool Amiga online for £25, or should I say, the cost of a Raspberry Pi. I have one, and the other day I realized that I never really used it - it's just sitting there, collecting dust. In the spirit of my recent "get shit done" marathon, I'll put it to use, today.

Also, one of the problems with the Amiga is the lack of modern equipment, such as network adapters. Obtaining one for "unexpandable" Amigas (like the A500, and to some extent the A600 and A1200 if you exclude the PCMCIA port) will cost you an arm and a leg - or two.

Since the Raspberry Pi was just sitting there, and the Amiga lacked (*) a network adapter - why not just connect the dots and get something up and running? I did, and it worked. Here's a quick writeup on what I did - if anyone's interested I can write a more detailed post with all the information I have.

The goal was to use some of the software I had laying around, such as AmiTCP 4.0 demo (freely available on Aminet) and PPP.device (also on Aminet). I would also use an off-the-shelf nullmodem cable, in addition to a custom DB9 serial port on the Raspberry.

Installing AmiTCP and PPP.device on the Amiga is trivial, just run the installers. Configure AmiTCP:bin/startnet to include

online devs:networks/ppp.device 0

before starting AmiTCP, and also make sure ifconfig uses the ppp interface with the client's IP. That's all there is to do on the Amiga.

The Raspberry's serial port was made by hand to save time. Finished modules can be bought on eBay for next to nothing (for reference, like this guy did) if you can afford to wait a few days for the snail mail to arrive.

Amiga serial ethernet, Raspberry daughter board

I verified that the daughter board worked by connecting it to my desktop with a terminal program. By default, the Raspberry Pi will have a login console running on this port at 115 200 bps. This was disabled in /etc/inittab and /boot/cmdline.txt.

Amiga serial ethernet, connected with nullmodem cable

I configured and started the PPP daemon on the Raspberry at 19 200 bps, and started AmiTCP:bin/startnet on the Amiga. To my surprise, everything worked on the first try. PPP connected, the IP address was set, whois, ftp, telnet and ping responded as expected!

Amiga serial ethernet, communication working

All right, so it's not the best speed, and it may not be the most convenient or prettiest solution, but it has a couple of advantages to it:

- Allows you to connect to encrypted WiFi networks not supported by the Amiga
- Reduces the Amiga's CPU load, with a potentially smaller memory footprint
- It can switch between WiFi and cabled ethernet
- Provides firewall, VPN/PPTP, etc
- It's small, bring it to the next copy party!
- Multi-platform: also works on other PPP enabled systems

If this sounds good, why not throw the Raspberry in a case, add a USB WiFi dongle, power it using the Amiga's external floppy port, and wham - you have yourself a portable solution!

*) Not entirely true, but for the sake of the story, let's say it did.


to Cheap, overkill Amiga network adapter

Feed for this Entry


  • Hello.

    Could it be possible for you to detail a bit more the "Raspberry side" of the process ? ( the "configure part" ou the PPP Daemon ... mainly the IP routing )

    Thank you very much.

    #609 | Comment by Olivier Gengler on May 23, 2013 08:57pm
  • Certainly! I will do a quick write-up on the subject very soon.

    #610 | Comment by admin on May 24, 2013 08:11am
  • Awesome, now I have a use for my raspberry pi... It's kinda like the plipbox
    but seems a bit easier..

    #611 | Comment by Martin on May 24, 2013 09:46pm
  • Regarding the IP routing, it's basically a traditional NAT setup.

    With Debian on my Raspberry, I installed the ppp package (apt-get install ppp) to get the PPP daemon.

    Configure NAT:

    echo 1 > /proc/sys/net/ip_forward

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT

    Start the PPP daemon:

    pppd 19200 nodetach netmask connect 'chat -v -f /etc/ppp/' persist /dev/ttyAMA0

    The /etc/ppp/ script is just:

    TIMEOUT 3600

    I *think* that should cover it all. Let me know if I left something out.

    #614 | Comment by admin on May 25, 2013 09:27pm
  • Fantastic solution! FYI I have put various machines on the 'net using this little device (I don't sell them or work for them!): the XT-Nano-XXL. It's a little daughter card that acts as a serial to Ethernet interface for SPI, I2C, RS-232 (protocol, not line levels) and discrete I/O.

    #622 | Comment by Dan on May 28, 2013 06:18pm
  • The XT-Nano XXL is cool and all but it's also $86us.

    #624 | Comment by Knight Fire on May 29, 2013 04:47am
  • the idea is nice. i guess it could be easily done with this:
    TL-MR3020, which only costs around 25$, and has wired and wireless ethernet and runs openwrt.
    you have to solder some pins into the pre-drilled holes to get a console, or use a plain and simple usb-to-serial adapter.

    #625 | Comment by swm on May 29, 2013 10:32am
  • The v2 release of the prism2 drivers for 16-bit PCMCIA Wifi cards on the Amiga supports Encryption WPA2 TKIP+AES. You should get better performance than PPP.

  • That's true (I have a Prism2 compatible card on my A600), but the issue here is the adapter, not the driver. And there's no PCMCIA on the A500. Anyway, this was meant as a low-budget, portable emergency ethernet - "not for professional use" ;)

    #627 | Comment by admin on May 29, 2013 04:45pm
  • You can speed it up by allowing the RPi somehow to manage the entire IP stack (rather than using a stack on the Amiga) — it would take away a heap of processing for the Amiga :D

    #662 | Comment by Chris Dennett on Nov 16, 2013 02:25pm
  • Really nice work there buddy!
    Since I have very limited knowledge in this field I'd like to ask you some questions if don't mind?

    1. Is this solution possible to implement for a SEGA Dreamcast (the DC BBA is rare and expensive)?

    2. The limited bandwidth and high latency, are these factors limited by the Amiga500 or the implementation itself?

    Thanks a lot and keep up the good work!

    Best regards,

    #726 | Comment by Niclas Jacobsson on Aug 7, 2014 07:38am
  • Hi Niclas! Sorry for the delayed response, I've been on a vacation.

    1) I think so. This works with anything with a serial port. A PPP client is required on the DC, but I believe you should be able to find clients that are portable.

    2) The bandwidth is limited by the client, in this case the Amiga's serial port driver which is capped to 19.2K. Luckily there are third-party drivers you can use that will go faster. From what I read, the DC serial port goes well beyond that!

    Good luck, and let me know how it works out! The Dreamcast scene is very exciting.

    #727 | Comment by admin on Aug 15, 2014 09:50pm
  • Hello
    Would it be possible if you could make an iso image of this?
    best regards

    #885 | Comment by Emanuel Hallén on Aug 5, 2015 12:00pm
  • I have tried to replicate this on my own Raspberry Pi for weeks with no luck. It would be awesome if you can post the Raspberry PI disk image with this preconfigured.

    #890 | Comment by Adam on Sep 8, 2015 10:37pm
  • Hello everyone!
    First of all, thanks for the tutorial and all the tips. I've been messing around with this for some weeks and finally got it work in an old mac plus via TCP and PPP (I assume that Amigas have something equivalent).
    As I'm quite noob on Linux, I had to try almost randomly, but there are a couple of details that may be useful to someone (who knows...)

    My hardware setup:
    Link router/RPi: Ralink RT5370 USB Wireless Adapter (wlan0)
    Link RPi/Mac Plus: Prolific PL2303 USB/RS232 adapter (ppp0)
    (So I got a "WiFi modem" connected to the Mac by a NULL modem cable)

    My iptables setup:
    iptables -t nat -A POSTROUTING -i ppp0 -o wlan0 -j MASQUERADE
    iptables -A FORWARD -i wlan0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i ppp0 -o wlan0 -j ACCEPT
    (Notice that I adapted the settings for my hardware, changing "eth0" by "wlan0".
    Also added the "-i ppp0" expression the first command. I have no idea if this is relevant, but the fact is that worked.)

    Another thing that may have been important (sorry if this seems obvious): On the client side (Mac Plus, in my case), the DNS IP address is the router one, not the RPi one.

    I hope not forgotten anything important, but anyway I remain at your disposal for any additional questions, but always remember that I'm completely ignorant about Linux stuff and I'm still not sure how to did this thing to work. In fact, I was about to give up for a couple of times...

    #899 | Comment by Fernando on Nov 9, 2015 10:54am
  • Very interesting. However I don;t understand the section - before starting AmiTCP, and also make sure ifconfig uses the ppp interface with the client's IP. That's all there is to do on the Amiga. -

    Since I have never used AMITCP could you elaborate a bit on how I make sure ifconfig uses the ppp interface, I'm afraid I don't understand the terminology.

    In addition could this be used to access the PIs usb ports? I'm thinking of using the PI to read USB pen drives - usb adaptors are available for the Amiga but very expensive.

    #1058 | Comment by John W on Dec 26, 2016 12:05pm
  • John W: I will do a re-write on this article, as I have received several questions since I published it.

    I will also try to create a preconfigured Debian image for this purpose, so no manual Pi hacking will be required.

  • Can't wait for that!!!

    #1063 | Comment by Methanoid on Jan 16, 2017 12:42pm
  • Sad to say the fresh write up never happened....

    I came back here when looking for a way to use a Pi Zero to emulate a modem.. a bit like a WiFi232 but miles cheaper....

    #1117 | Comment by Methanoid on Jul 3, 2018 01:30pm

About You

Email address is not published.

All messages must be validated by the admin.

Spam messages or messages containing URLs linking to spam, will never be published.

Add to the Discussion

Add to Google