Improving my ZoomFloppy Pi (version 2)
I love my ZoomFloppy. I use it and copy Commodore 64 floppies to and from Commodore 1541 (.d64) and Commodore 1581 (.d81) disk images. The ZoomFloppy works with a wide variety of Commodore equipment and interface types. However, I use only a fraction of its overall functionality. That said, after using the first version of my ZoomFloppy Pi, I found that I could make some tweaks to improve it.
ZoomFloppy Pi v1 Feedback
First, the USB cable is a problem. Unfortunately, I frequently dislodge the cable and snag myself on the USB mini plug. I tried to work around this issue by adding a USB adapter. That way I could plug a USB stick into the Raspberry Pi 3 B+ to easily transfer disk images. However, that didn’t stop the USB cable from getting in the way. As a result of that attempted effort, I just copy disk images from my Pixelbook Go to the Raspberry Pi 3 B+ using the SCP command. Overall, this doesn’t fix the problem. Therefore, the goal is to eliminate the USB cable. Although, the USB cable also supplies power to the ZoomFloppy PCB.
Secondly, the Raspberry Pi 3 B+ is a comparably large component to the ZoomFloppy PCB. Furthermore, it’s a lot more computing power than this project needs. This makes the Raspberry Pi Zero W an excellent candidate to replace it. The Raspberry Pi Zero W is about a third of the size of a Raspberry Pi 3 B+, and it’s more affordable. Moreover, it could mount nicely above the ZoomFloppy PCB instead of jutting out to the side. However, the Raspberry Pi Zero W and Raspberry Pi 3 B+ have different types of USB ports. The Raspberry Pi Zero W has one USB micro port, and the Raspberry Pi 3 B+ has four USB type A ports.
Raspberry Pi Zero W
Hopefully, I can eliminate the USB cable by directly soldering cables from the Raspberry Pi Zero W to the ZoomFloppy PCB. First, I need to determine if the Raspberry Pi Zero W has places where I can get 5V, GROUND, DATA +, and DATA -.
Soldering wires to these points will provide the necessary power and data lines to create a USB connection. As a side note, these points can be used to add another USB port or different types of USB ports to a Raspberry Pi Zero W.
The ZoomFloppy PCB
This one is more challenging. Unfortunately, after a lot of web searching I wasn’t able to find anything definitive about where to access power and data from the ZoomFloppy PCB. Therefore, I emailed my question to Go4Retro where I bought my ZoomFloppy. Thankfully, they pointed me in the right direction with this response:
The larger 2×20 IDE-like connector has VCC on pin2 and GND on 40. The only places I can see to get DATA+- for USB is on the 2 resistors just behind the Mini USB connector (the small things in parallel with the USB port and the uC. The one closest to the IEC conn is D- and the one below is D+.
RETRO Innovations, Contemporary Gear for Classic Systems
I apologize for the size, but the resistors in question are very small. On my ZoomFloppy PCB the two resistors behind the USB mini port are R2 and R3. R2 is DATA – and R3 is DATA +.
Normally, my ZoomFloppy PCB gets its power through the USB mini port. Now, the ZoomFloppy PCB will receive power from the +5V and GROUND wires on the Raspberry Pi Zero W and will connect to the two pins on the 2×20 connector.
I used jumper wires for the 5V and GROUND connections so I could disconnect them to use the 2×20 connector. Since I will not remove the DATA lines for any reason, I soldered them directly to the ZoomFloppy PCB. Overall, this soldering can be difficult. The ZoomFloppy resistors are very small. I don’t recommend doing this yourself unless you have some experience soldering. Unfortunately, you can easily damage the ZoomFloppy PCB and Raspberry Pi Zero W.
Testing the ZoomFloppy Pi v2
After soldering everything together, I used a multimeter to perform a continuity test on each soldered point. Additionally, I inspected the solder joints to make sure I didn’t create a solder bridge.
Thankfully, no additional software is required for the Raspberry Pi Zero W. Therefore, I inserted the SD card from the Raspberry Pi 3 B+ into the Raspberry Pi Zero W. Also, I used the same power adapter since it’s compatible with both models. Now, let’s turn everything on in the recommended order.
- Start with the Commodore drives off and ZoomFloppy Pi unplugged
- Plug in the cable(s) between the ZoomFloppy and Commodore drive(s)
- Plug in the ZoomFloppy Pi via the power adapter
- Turn on the Commodore floppy drive(s) power switch(es)
Conversely, turning off the ZoomFloppy Pi uses the same steps in reverse. Reference the official ZoomFloppy manual for further details on properly powering on and off the ZoomFloppy and Commodore floppy drives.
Next, it’s time to run a copy test. First, I copied a disk image of Donkey Kong Jr. from my Pixelbook Go to the ZoomFloppy Pi v2. Then, I inserted a blank 5 1/4″ floppy disk into my Commodore 1541 floppy drive. Lastly, I ran a script that calls the appropriate opencbm command to copy the .d64 image file to the 5 1/4″ floppy disk.
After a few moments, the 5 1/4″ floppy disk was ready. I powered off and disconnected the ZoomFloppy Pi. Then, I reconnected the floppy drive to the Commodore 64. Next, I powered everything on and typed LOAD “*”,8,1. Once loaded, I typed RUN and pressed RETURN. After a few moments of disk activity, Donkey Kong Jr. started!
ZoomFloppy Pi v2 is Alive!
Ah, the sweet satisfaction of success. However, there are more ideas brewing that may lead to a ZoomFloppy Pi v3. However, I need to finish a couple other projects first and run some proof of concept tests. In the meantime, I can use this new and improved contraption to continue building my software library of 3 1/2″ and 5 1/4″ floppy disks.