riesz.io


PiDP-11 from Obsolescence Guaranteed

Here are some details of my PiDP-11 build. If you are not familiar with the PiDP-11, you can read about it at the manufacturer's website. Briefly, it is a hardware replica of the DEC PDP-11/70 with an emulated system running on an enclosed Raspberry Pi computer.


My finished PiDP-11

I did not take any photos of the board assembly, but there was nothing helpful that I could add that wasn't already covered by the several guides and videos that are available.

What I did document to some degree is the post-build fitting-out of a power supply and RS-232 connections. Additionally, getting all these into the PiDP-11 required expanding the case. I've done nothing revolutionary, but this page may help answer some wiring or assembly questions without readily googleable answers.

Treat everything described here with skepticism. I am a very lazy amateur and have no credible expertise in electronics or electrical safety.

THE CASE

There seem to be a couple of 3D-printed options available. I began with one presented in the "Show us your kits" thread from the PiDP-11 list on Google Groups. However, I chose a derivitave design from Louis Mamakos that provides a single piece. The design file I used I used is pidp11_v9-complete.stl. I went to Craftcloud to order three pieces from a printing comoany called ZLabs3D for USD 73.26 plus tax and shipping. I glued the three pieces together to obtain this:

With the front panel:

Plenty of room to work with in there. If I were to do it again, I would take the time to figure out how to modify the STL design file to print a single, 6-inch-deep piece instead of three 2-inch-deep pieces.

The previous two photos show the case extensions merely resting on the front panel and not attached to it. I'll get to the attachment later with the final assembly.

THE POWER SUPPLY

I selected a Mean Well LRS-35-5 along with a switched and fused AC power inlet assembly and mounted them both on the back panel board supplied with the PiDP-11 kit. With the help of a drywall saw I made an opening for the power inlet and, with some "this looks pretty good" placement, mounted the power supply on the inside of the panel.

The wires supplied with the power inlet are used to feed the power supply. A 5.5x2.1mm male barrel connector pigtail carries 5V from the power supply to a matching female pigtail soldered to the 5V input on the PiDP-11 board (P5). All of these cables are secured to the power supply cage with small zip ties.


Ignore these DB-25 connections—they were wrong

KEY SWITCH HOOKUP

This was the easiest part. I simply snipped a short female-female breadboard jumper in two and soldered the ends to the keyswitch. The other ends are plugged into two pins soldered into the header labeled "KEYSWITCH POWER".


Keyswitch connection. Also note the female power pigtail soldered directly to the "5V" and "GND" connections.

PI CONSOLE

This was the second-easiest. I used a MAX202 RS232 to TTL Converter purchased from DigiKey. It is a TTL-to-RS-232 converter circuit connected directly to a female DE-9 connector. The connector is mounted in one of the DE-9 holes provide on the back panel. I would have preferred a male connector, but I have made do with a gender changer.


MAX202 RS232 to TTL Converter For Arduino from DFRobot
Image from DigiKey

The converter TX and RX pins are wired directly to pins soldered to the TX and RX holes of the P5 header. The cable I used is a 60cm Breadboard Jumber Cable with four jumper wires. The 5V and GND pins on the converter are connected via additional jumpers to 5V and GND pins soldered into the "PROTOTYPE AREA" of the PiDP-11 board.

The TX pin on the converter is connected to the TX pin on the board. The RX pin on the converter is connected to the RX pin on the board.



USB TTL ADAPTERS

I wanted to take full advantage of the features of the PiDP-11 board, including using the spaces for MAX2xx chips to convert TTL serial signals to RS-232. The first part of this was installing the conversion ICs. Instead of soldering them directly to the board, I soldered a pair of 16-pin DIP sockets and plugged into them MAX232ACPE+ ICs purchased, again, from DigiKey. The reasoning I used for selecting this particular IC is unremembered. Later, I installed the necessary ten 0.1μF capacitors. I used ceramic capacitors in this case because they are readily available and non-polarized. The legs were spaced awkwardly and I had to bend them a little to get them to fit into the prepared holes on the PiDP-11 board.


The four HiLetgo USB Serial TTL Modules were chosen more-or-less at random from the hundreds of options available from Amazon. The jumper on each module must connect the VCC and 5V pins to provide the 5V signal that the conversion ICs are expecting. Wiring the modules to the 5V TTL PORTS headers on the PiDP-11 board is simple: TX to TX, RX to RX and GND to GND. Once again, I soldered hookup pins into the 5V TTL input and RS-232 output headers.


Now for wiring the RS-232 output to the ports on the rear panel. I selected male DB-25 connectors that had on the back pins rather thatn solder cups. This made it trivial to hook them up by trial-and-error. As with the DE-9 above, I used four more 60cm cables to make these connections.


Not the correct pins!!

However I wanted to use DB-25-to-8P8C (RJ45) adapters so that I could hook the ports to a small terminal server I had lying around. Why a terminal server? Several reasons: I don't have the space, budget, or time for several antique dumb terminals and I already had the terminal server for some reason; It makes managing and accessing the PiDP-11's ports almost trivially simple from anywhere; And nostalgia... back in the day my university used a network of terminal servers to manage access to all of its VAXen.

My terminal server is a Tripp Lite B094 which uses Cisco pinouts and I had to wire the DB-25 connectors accordingly. From the PiDP-11 RS-232 output headers: TX to pin 4, RX to pin 8, and ground to either pin 7 or pin 5.



Still not the correct pins. I'll take a picture of the correct hookup eventually.

I bundled all five of the 60cm jumber cables together with zip ties and then used a zip tie to secure them to the PSU cage.

Earlier I noted that I had later installed the capacitors for the MAX232 ICs. In a fit of laziness I neglected to finish reading the part of the instructions that mentioned them. It turns out that if you don't install them, the MAX232 ICs will transmit RS-232 data but will not read it. Or it will read TTL data but not transmit it. One of those. Either way—surprise, surprise—they will not work without the capacitors.

FINAL ASSEMBLY

After all the cables were hooked up I was able to finally tuck them into the case and close it up. Holding it all together are four 1/4x6-inch lag screws.


I used a 1/4-inch (I think) drill bit to open up the existing screw holes in the front panel to accommodate these larger screws.


Here are the lag screws with washers

With the DB-25 serial adapters attached


All hooked up

Finally!

MISCELLANEOUS NOTES

The DB-25 and DE-9 ports are held in place with #4 standoff screws and #4-40 nuts. They allow plug thumbscrews to be used with the ports.

At some point I'll go figure out how to properly enumerate the USB serial devices so that their TTYs are consistently connected to the same ports.

Depending on what sort of serial device you're connecting to a port, you may need a null modem. You can find little ones the size fof those tiny gender changers. Helpfully, the pin connections on the DB-25 ports allow you to easily swap the TX and RX lines if necessary.

I have tested the USB-ttl-RS232-DB5-8P8C-terminal-server connections and have verified that they work as expected at a variety of line speeds. But when SIMH uses them as a TTY it is SLOW—like 300 baud slow. I have either misconfigured SIMH or there is a bug in SIMH. The terminal server is still speaking to the port at a higher speed; SIMH is just talking back very slowly.

I get perpetual undervoltage warnings despite adjusting the PSU to the limits of my comfort zone. I've tried using a 12V PSU with a 5V DC-DC converter with the same results. I have no idea how to resolve this.

THANK YOU

Thanks to the team at Obsolescence Guaranteed for putting together such a cool and engaging kit. And thank you to the community whose discussions have provided such helpful guidance!

QUESTIONS? COMMENTS?

I've created a GitHub repository for this project where you can ask a question or leave a comment by submitting it as an issue.