PiDP-11: Replica of the 1970s PDP-11/70

About: Vintage computing type, known to dive into homebrewing computers regularly

The PDP-11 was probably the most influential computer ever. It defined what we think of as normal, it was the first machine you could get Unix for, and Windows can trace its roots to the PDP-11's other big-ticket operating system, RSX-11.

In 1975, the 11/70 was not only the biggest PDP-11, it was also the last-ever to sport a proper Blinkenlights panel. In red and purple. Sorry. Rose and Magenta. These were the 70s. But then - all of a sudden - front panels were gone from our lives and we were supposed to look at dull beige boxes for the next few decades. So very sad.

The really fascinating thing about this computer though, is that it is quite usable even today. You can run a proper 2.11BSD unix (meaning, it has the good bits of unix but not the bloat) - but you can also go back further and run Unix v6 whilst you study the famous Lions Commentary. It does TCP/IP, works as a web server, does (vector) graphics...

The PiDP-11 project aimed to bring back this venerable machine. With front panel. There might be a Raspberry Pi hiding inside, but you can even hook it up to real serial terminals if you like. All the original operating systems and software comes ready to boot.

Like my earlier PiDP-8 project, you can use the software on any Raspberry Pi even without the PiDP-11 hardware. But the idea is to go one step further, by giving it back its physical form: Blinkenlights.

There are actually four stages you can consider:

  • just running the PiDP-11 emulator on your Raspberry Pi and play with the PDP-11 operating systems;
  • adding the PiDP-11 circuit board with Blinkenlights for visual effect;
  • soldering switches onto the board to gain control of the machine over the front panel;
  • buy the complete replica kit with fancy case, acrylic front panel cover and custom switches.

The Pi has plenty of power left to do all the other things you would normally do with a Pi (media server, file server, etc). So you are not limited to just PDP-11 software.

Supplies:

Step 1: Convert a Pi Into a PDP-11

The software part of the PiDP-11 project makes use of the well-known simh simulator and the BlinkenBone project, which adds a front panel driver to simh.

Install your regular Raspbian. Then, add the PDP-11 simulation with these five steps:

1 Make a /opt/pidp11 directory and go there:

sudo mkdir /opt/pidp11

cd /opt/pidp11

2 Download the pidp11 software:

sudo wget https://www3.ispnet.net/pidp11/pidp11.tar.gz

3 Unpack it so the software lives in its designated /opt/pidp11/ directory:

sudo tar -xvf pidp11.tar.gz

4 Run the install script so the PDP-11 autoboots when you switch on the Pi:

sudo /opt/pidp11/install/install.sh

5 Reboot and grab the PDP-11 console:

sudo reboot

~/pdp.sh

(the last line is necessary only when you set up your Pi to autoboot into the GUI. The PDP-11 already runs, and this command brings you to its terminal. When you log in over ssh, you'll be at the PDP-11 terminal straight away)

This will get you a running PDP-11, but all it runs is a small demo program. For now.

Note: both the above pictures are the same PiDP-11, just showing that you can hook it up to a real VT-220 terminal just as well as to a laptop running a terminal emulator.

Step 2: Add the PDP-11 Software History Collection

The previous step gave you the PiDP-11, but only a demo program (idled) to run. The next step is thus to download all the operating systems.

Download and unpack the ‘systems’ collection of disk images:

cd /opt/pidp11

sudo wget https://www3.ispnet.net/pidp11/systems.tar.gz

sudo tar -xvf systems.tar.gz


Also, an even larger variety of operating systems can be added:

sudo wget https://www3.ispnet.net/pidp11/nankervis.tar.gz


Lastly, a huge 1.6GB library of RSX-11 software is available:

cd /opt/PiDP11/systems/rsx11mplus/

wget http://rsx11m.com/PiDP11_DU1.zip

unzip PiDP11_DU1.zip


More things to tweak if you want:

  • if you autoboot into the GUI, you need to open a terminal and type ~/pdp.sh to ‘grab’ the PDP-11. Disable GUI autobooting: “Raspberry icon” ->Preferences-> Raspberry Pi Configuration. You can always start the GUI using the startx command.
  • You can enable auto-login on the Pi, set that using sudo raspi-config and you’ll no longer be bothered by Pi/Linux stuff; you’ll just be dropped into the PDP-11 straight away.
  • As you don't yet have a physical front panel attached to the Pi, read the manual on how to boot operating systems. Quick tip: CTRL-E, then "cd ../systems/rt11", then "do boot.ini" is one way.

Step 3: Start Reading Up

There's still a lot going on in the PDP-11 world. The best thing is, everything is available freely as PDFs.

And once you dig in, do not forget to browse through the thousands of pages of PDP-11 manuals on bitsavers.org, in their DEC subdirectories.

Step 4: Add a Physical Front Panel

Why is a physical front panel interesting?

  • It's Blinkenlights. Front panels are Cool.
  • To understand how a computer, and its CPU, work, nothing beats inspecting a running computer in single step mode, toggling in small programs bit by bit and seeing how they actually drive the computer on the lowest level.

To get a front panel, you could buy the complete PiDP-11 kit (and you're welcome to do so), but you can also opt for the more industrial-looking Do It Yourself option. And this being Instructables, that is what we describe here: send the Gerber PCB design files to any PCB shop and make your own Bare Bones front panel. A PCB would cost a bit less than $15 per unit, in quantity five, from places like jlcpcb.com.

Other things you will need:

  • 64 LEDs (5mm, red)
  • 37 diodes (4148)
  • a UDN2981 driver chip, or equivalent.
  • 2 standard rotary switches
  • 6 momentary and 24 toggle switches, any standard mini-switch will fit.
  • 3 Resistors (1K), 12 resistors (390 ohms).
  • An "extra-tall" pin header connector to connect your Pi. Note! Normal 2*20 pin ones will not work, the Pi needs more distance from the PCB.

If you're really on a budget, or you're just interested in the Blinkenlights, you can even leave out the front panel switches and/or the rotary switches, and be done for <$20 in all.

See the Gerber file in the download section.

Note -- You do not need a serial terminal. Everything can be done wirelessly using ssh or puTTY. Even the vector graphics display can be done wirelessly, through VNC in that case. Or use the Pi's own keyboard and HDMI monitor.

Share

    Recommendations

    • Gardening Contest

      Gardening Contest
    • Fandom Contest

      Fandom Contest
    • IoT Challenge

      IoT Challenge

    4 Discussions

    0
    None
    Alex in NZ

    23 days ago

    This is awesome! How accurate is the emulation? Does it all come to a grinding halt when you start to play Space Invaders on it?
    As a serious question, I love the toggle switches you've used. Can you post a link to a source for them?
    Thanks for sharing your work :-)

    2 replies
    0
    None
    OscarV40Alex in NZ

    Reply 22 days ago

    Emulation is very accurate - not due to me, but thanks to simh, the emulator running underneath. You could play space invaders (the VT-100 version) on 2.11BSD at 5 terminals simultaneously without a blush...

    The switches are custom-made injection molds... which is one reason the full replica kit is kind of expensive. But for the do-it-yourself PCB version presented here, you could use any normal mini-switch, it'll fit the PCB.

    0
    None
    Alex in NZOscarV40

    Reply 13 days ago

    Ah! Thanks for the info on the switches :-)

    0
    None
    edca2001

    25 days ago

    Nicely done instructable, thanks for publishing it. It sure brings back a lot of memories.