My PiDP-11 project.

I had ad PDP11/20 panel lying around, as well as a Raspberry PI-2, the PI has a General-IO port and since the PI is fast enough to simulate an '11 faster than a real '11 so why not try put it together.

Some documentation was needed, schematics for the panel and a description on how the panel was intended to be used. Now the panel has 18 switches and lamps for address, but the 11/20 only used 16, but as I want to use more than 64KiB memory in the simulation the extra bits will come in handy.
The IO for PI is 3.3V and the panel has 5V TTL logic levels. This is OK for PI to Panel since TTL input levels are 3.3V compatible.

The panel has 42 lamps and 25 switches.
Component side
The PCB with lamps and switches.

Solder side
The solder-side of the PCB.

Visible lamps
Some lamps was broken and had to be replaced, the lamps are 10V lamps but run at a little bit less than 8 volts to get a longer life. They are also pre-heated when not lit so they should light up faster without large current spikes.

Front of panel
Front side of front-panel

Back of panel
Back side of front-panel

Interface board
This is the component side of the interface board. This is a prototype board that i had lying around that was stripped and reused for this project.

As an interesting side note, most of the IC:s on the interface board are manufactured between 1986 and 1991, while the PI is from 2014. So the age difference from the panel (1970) to the interface IC:s is about 20 years while age difference from the interface to the PI is about 25 years. Also interesting that no IC:s on the panel was bad, but three "new" unused IC:s for the interface board was dead.

Back of board
Back side of interface board

Back of board
I also needed a box to put the thing in, that should have exactly the right dimensions, which I could not find so had to build one.

Test in box
Test to see that all the parts will fit. To the far left there is an 8V supply for the lamps and next to it is the 5V supply for the PI and the other logic.

Attached flat cables
As the right connectors was almost impossible to find and would take a lot of extra space I decided to solder the cables directly to the board, carefully avoiding to get any solder on the gold plated areas... in case I should someday find an 11/20 in without a front panel.

PCB in box
Panel in box with cables fixated.

PCB + Interface in box
Added the mounting base for the interface board and the power supplies.

Power supplies added
Adding the interface board.

All inside
Everything in place except the cables.

All inside
Complete unit.
Note that there was no key-switch following with the panel so i had to find one as close as possible, it is not the correct one but quite close. The key-switch now only controls the power to the lamps so they can be turned off when the panel is not in use.

All inside
Component placement on the interface board. Schematics is here. Of course some optimizations are possible. For example changing U2 from 74AC138 to 73ACT138 would make U1 unnecessary. As the external logic is slower than the PI delay loops are needed between writing address and data as well as reading the results. As the number of I/O:s on the PI is limited (there are 17 GPIO-only pins and I may want to use the UART or SPI later) so I decided to go for 4 bit input instead instead of 8. Another thing that could be better is the level-shift from 5V logic to 3.3V which is here done by a resistor divider, using a level-shift IC would be be speedier but I did non have any suitable device at hand. As a late change the latches was changed from level-triggered to edge-triggered so with a change of the port driver U3 can be removed.

Patches and connections to the panel. The panel is designed for a -20V supply for the switches. Probably to break any oxide that can build up in the switches. Some patches are needed if a -20V supply is not available. As I did not intend to use a -20V supply i made the patches. So far it seems to work OK.

Some videos showing the blinkenlichts for some different operating systems:


One of the first operating systems for the PDP11. Used for sysgen of early versions of RSTS
Very primitive by today's standard

RSX11 V4.0

RSX11 the most used operating system for real-time control on the PDP11


RSTS/E is a more all-round os, it comes with emulators for RT11 and RSX. V8.0 is the latest version with the "original" feel before DCL was mandatory.

BSD 2.11

The latest and greatest version of BSD-UNIX for PDP11.