BMC PCB 2.2 with BMC64
I was super happy with my BMC PCB v 1.2. It could run BMC64 great and provided an easy drop in solution inside an original C64 case... but there can always be improvements.
V2.0 - V2.0.4
I wanted to make use of the extra USB ports on the Raspberry Pi and so the board was made slightly larger, and an additional USB port was added at the rear.
I also wanted to make it easier to debug BMC64 from the UART port. This required connecting a debug probe to GPIO pins 14 & 15, so I simply ran some traces to a small female header which matched the pinout of the debugger I was using.
At this point I wanted to try switching out the Raspberry Pi 3B+ for a Pi 5 and try to run a newer version of VICE. This is when the trouble started. When I replaced the Pi 3B+ with a Pi 5 and tried to boot it up I kept getting boot errors and it would not start. After a lot of searching I discovered that the Pi 4B and Pi 5 are very picky about the microSD card extensions that they will work with, and the one I had created on the PCB just wasn't working. Hence the v2.0.5 board was created.
V2.0.5 - V 2.1
To try and get a Raspberry Pi 4B or Pi 5 working with the microSD card extension I took a gamble and redesigned it. I moved the external microSD slot to be right under the Pi as close as I could get it to the original microSD slot on the Pi, and a made the GND and 5V+ traces thicker on the main PCB and microSD card adapter, and bingo! It works!
Now I had a board that worked with the Raspberry Pi 3B+, Pi 4B and Pi 5. I did make a v2.1 PCB but I didn't release it. On that board I changed the USB 2.0 extensions to USB 3.0, as the Pi 4B and Pi 5 both have 2 USB 3.0 ports.
Now I had the board working and had moved the microSD card slot in under the Pi I was wondering... can I make this board more compact... enter the v2.2
V2.2
I started the v2.2 design by making the board as small as I could while still being able to be mounted on four stand-offs inside the C64 case. This left very little room for the Raspberry Pi Pico which was used in the C64P keyboard adapter. So I redesigned the C64P to use the smaller Waveshare RP2040-Zero.
You can read about the redesign here.
I also switched to using stacked USB3.0 ports meaning I could have two ports in the same place next to the Pi where I used to just have one, meaning no loss of external ports!
The final layout is as shown below and I called it the "short board" using the same naming convention as is used for the two main models of C64 motherboards.
Summary
So this is now my current preferred BMC64 PCB, the v2.2.
You can find all the details to build it and parts list (BOM) on the main readme in the repository.
Gerbers to order your own PCBs are on the v2.2 release page.