Close

Project Retrospective

A project log for PiDP-11 I/O Expander

16-Bit TTL Compatible I/O Expander for the PiDP-11 and Raspberry Pi

steven-stallionSteven Stallion 09/01/2021 at 14:330 Comments

I first encountered Oscarv's PiDP-8/I project while browsing Hackaday back in 2017. Like many a maker, I dutifully bookmarked the project in my RSS reader (where it still sits today) and turned my attention toward other projects with the intention of swinging around when I had more time. History repeated itself when the PiDP-11 was released and later featured on Hacker News and I knew this would be the year to finally take on building a PiDP kit for myself.

While building the kit, I noticed that while there was a generous prototyping area on the PiDP-11 PCB, there were limited options for integrating it with the Raspberry Pi. Fortunately, Oscar's design exposed the Raspberry Pi's I2C pins in addition to a single unused GPIO pin, which was just enough to squeeze in an I2C I/O Expander. I struck up a conversation with Oscar about enhancing the PiDP-11 with an expansion board and he encouraged me to reach out to the wonderful PiDP-11 community on Google Groups to gauge interest. An enthusiastic response followed and I began work on the design in mid-June.

The design revolved around choosing a suitable I2C I/O expander. I settled on the MCP23016 over the MCP23017/18 as it was the last model that supported TTL logic levels, which would allow mixing 3V3 and 5V logic (period accurate for the PDP-11/70). The interrupt logic was also simpler and limited to a single open drain output, which wouldn't require a buffer to integrate with the Raspberry Pi. Once the I/O expander was selected, a bi-directional I2C level shifter was added to translate signals to/from the Raspberry Pi.

One of the unexpected pleasures of working on such a simple design was being able to focus on the manufacturing and packaging processes. This was the first project I've worked on where I needed to manufacture more than a dozen boards at a time. To keep things simple, I did all of the SMT assembly myself with a benchtop reflow oven and manual paste application using a stencil. A test fixture was needed to validate assembly before packaging PCBs since through hole components would be packaged separately. This was also a chance to dip my toe in having custom cable assemblies manufactured in larger quantities than I can do myself.

Overall, I'm very pleased with the results, and I hope you will be too! This project was a great reminder that even smaller efforts can have something to teach - it's just a matter of focusing on the right things.

Discussions