On Friday, I received the prototype batch of PCBs for the second revision of my IO Adapter for the Pi1541 project. Today, I finally found the time to assemble a couple of those boards and so far, everything seems to be working great!
When assembling one of the rev.2 boards, there are multiple alternative configuration to chose from. One of the simplest working ones — shown on the left side in the photo above — needs only three components: a 6 pin DIN connector, a 4 channel level shifter module, and a 40 pin female header to connect to the Raspberry Pi. Most of the possible configurations can be built using easy to solder through-hole components, only!
The Level Shifter
All configurations require voltage level converters. The PCB layout allows you to either use a cheap and ready-made 4 channel module or to fit the same SMD components that the module contains directly to the board.
Technically it doesn’t make a difference which one you chose. Using the module will relieve you of the need to solder SMD components in case you are hesitant to handle those.
The Bus Driver
On his project page for the Pi1541, Steve White currently describes two different options for wiring the Pi1541. “Option A” simply uses a 4 channel level shifter to connect the Raspberry Pi to the Commodore serial bus. This works fine, but you risk damaging the RasPi when connecting three or more devices to the bus. “Option B” requires an additional 7406 logic IC to drive the bus. The Pi1541io board must be configured for one of these two options using solder bridges on the bottom side.
Note that you also need to tell the Pi1541 software which bus driver you are using by changing the options.txt file. Please see Steve’s instructions on how to do this. If you configure your board for “option B” the following components are required:
- 7406 logic IC (U2)
- 100nf bypass cap (C1)
- two 1kΩ pull up resistors (R3, R4)
With “option A” these components are not required.
The SRQ Signal
Also on the bottom side of the PCB there is a place for components to add an optional 5th level converter channel that connects the SRQ signal from the serial bus to the Raspberry Pi. This signal is not used by the C64 and currently it isn’t used by the Pi1541 either. So, there is no need to fit those components now.
Most of the other components are optional too, actually. Some of them are very useful though, like the 5 push buttons. Others are probably better left our for now, like the piezo speaker. I would recommend to fit at least the two LEDs with their resistors and the five push buttons SW1-5.
This is the current BOM updated from the first revision:
|1||P1||2×20 pin female header||eBay|
|1-2||IEC1-2||6 pin DIN socket||eBay|
|5||SW1-5||right-angle push buttons||eBay|
|1||U1||4 channel level shifter module||eBay (China) eBay (Germany)|
|1||U2||7406 IC||eBay (China) eBay (Germany)|
|1||C1||100nf ceramic capacitor||eBay (China) eBay (Germany)|
|1||SW6||push button (optional)||eBay|
|1||D1||3mm green LED|
|1||D2||3mm red LED|
|5||Q1-5||BSS138 FET SOT-23||eBay|
|10||R5-12, R14, R15||resistor 10kΩ, 0805 SMD|
|1||R13||resistor 1kΩ, 0805 SMD|
|1||piezo speaker (optional)|
|4||M2.5 screws, 18mm|
|4||distance rolls, 11mm|
In addition, you’ll still need a Raspberry Pi 3B or 3B+, a micro SD card, a good power supply, and a Commodore serial cable.
I will distribute the remainder of my prototype batch of PCBs to people on Forum64 for further testing like I did the last time. I would actually recommend to wait for those results to come in. If you absolutely cannot wait any longer to try this yourself, here are the Gerber files for you to download. As always: use at your own risk. I’m not responsible for any damage you might cause to your hardware, to yourself, or to anyone else.