XUM1541 ProMicro

The XUM1541 allows you to connect a Commodore drive to your PC and copy files between the PC and a Commodore disc drive.
Creating and writing disc image is also possible.

The main part of this project is the Arduino ProMicro board that can be found for around $4.50 on ebay.
To program the Arduino you will need avrdude and the project hex (xum1541-PROMICRO-v07.hex) file from project github page.

Now connect the Arduino to you PC and run the following command (press the reset button of the Arduino just before you run the command to enter the programming mode):

avrdude -p m32u4 -c avr109 -P comXX -U flash:w:xum1541-PROMICRO-v07.hex

Change comXX to the correct com port that the Arduino uses.
After everything went well, you should see the XUM1541 in your device manager.
Connect the Arduino to a drive.
only red serial connections and a ground are needed.
The green parallel connections are used for nibbler support and require modification to the drive.

XUM1541 Pro Micro connection

XUM1541 Pro Micro connection

The Pinout of the IEC serial bus is as follows:

IEC serial port pinout

IEC serial port pinout

After the drive is connected you can use OPENCBM or CBMXfer (don’t forget to copy the OPENCBM files in the same directory as the CBMXfer folder) to transfer data.
Please make sure you use a 32-bit windows version, else it just fail as the drivers are not signed.

I placed my XUM1541 in a case like shown below.

XUM1541 Pro Micro in (open) case

XUM1541 Pro Micro in (open) case

XUM1541 Pro Micro connectors on side of (open) case

XUM1541 Pro Micro connectors on side of (open) case

26 Responses to XUM1541 ProMicro

  1. massimo Taurisano says:

    Sorry but how to programm ARDUINO PRO MINI with ARDUINO UNO? Or USB on AURDUINO PRO MINI? I have a problem. Sorry for me english, i am italian.

  2. Massimo Taurisano says:

    thanks for answering. I would like to know which bootloader should I use to be able to enter later in the PRO MICRO HEX file to use as XUM1541. a step by step guide would be helpful to me. thank you again

    • Jeroen says:

      Dear Massimo,

      I got confused with another project where I had an arduino without USB.
      Just connect the PROMICRO with the USB cable to you PC and use AVRDUDE to program the PROMICRO.
      The command to use is in the item above.

      I remember that the programming of the PROMICRO was a bit tricky, you need to press the reset button just before programming it.
      After pressing reset, the PROMICRO starts with a bootloader, and can be programed, but if you wait to long, it will enter the program currently programed on the device and programming is not possible until next reset.

      after programming you computer should see new device on the USB ports (you may need to unplug it for some seconds).

      Tools you can use to transfer data can be downloaded from:
      http://www.6502.org/users/sjgray/software/cbmxfer/cbmxfer.html
      and:
      http://spiro.trikaliotis.net/opencbm

      • massimo says:

        I was able to plan and now the PC will recognize it as me XUM1541 FLOPPY ADAPTER (PROMICRO). I followed to the letter the guides to configure both OPENCBM, CBM4WIN and CBMXFer but is not recognized my 1541 (actually a 1571). My doubt can be whether the PINOUT of the serial are soldered side or not.

  3. Jeroen says:

    The serial pinout shown in the item is the female connector side.
    (like when you are looking at the back of a Commodore drive/computer)

    I also had some troubles with connecting to the drive at first from my 64-bit windows 7, but after using a 32-bit OS (Windows Vista in my case) I was able to use the drive.
    There seems to be a 64-bit signed driver, but I never tried it.

    so far I used the XUM1541 to copy some files to and from floppy (1541 and 1581), and use a real drive in Winvice (very slow access).
    I still hope to find a 1571 so I can test the parallel nibbler feature.

  4. Massimo Taurisano says:

    all good works because I replaced the command of avrdude with STK500V1 instead of avr109 and entered the baud rate 19200, and adding -F to force programming. thank you.

  5. Jacco de Wijs says:

    Hallo Jeroen,

    Ik probeer de XUM1541-PROMICRO-V07.hex te flashen op een nieuwe Arduino ProMicro, maar AVRDUDE geeft me een verification Error at 0x7000 elke keer.
    Daarna verdwijnt de ProMicro uit de device manager en verschijnt de bootloader (arduino leonardo bootloader) pas weer als ik de ProMicro reset.
    Wat doe ik fout hier?

    • Jeroen says:

      Beste Jacco,

      Wat ik kan vinden is dat deze error aangeeft dat er te weinig ruimte is in de AVR.
      Lijkt me echter niet te kloppen, aangezien het bij mij netjes paste.
      Wat je kan doen is kijken of je de laatste AVRDUDE heb (er is een issue wat erop lijkt opgelost in versie 2.2.1) en of een ander (sample) projectje van de arduino ide wel geprogrammeerd word.

      Het commando wat je moet gebruiken om de arduino te programmeren is:
      avrdude -p m32u4 -c avr109 -P comXX -U flash:w:xum1541-PROMICRO-v07.hex
      uiteraard moet je comXX vervangen met de com port waarop de ProMicro gezien word

      Laat even weten of het gelukt is.

      Jeroen.

  6. Srdjan says:

    Did someone make it work on 64bit Windows? Or, maybe on 32bit virtual system?

  7. Ivan says:

    Hello!

    Can i make it with arduino UNO?

    • Jeroen says:

      Dear Ivan,

      the Arduino UNO and Arduino Pro Micro have a different way of connecting the USB port.
      The UNO uses a sepperate chip to communicate to the USB (a Atmel 16U2) while the Pro Micro uses a Atmel 32u4 that has native USB support.

      So it won’t work without changing the xum1541 firmware.

  8. Edwin van Poeijer says:

    Tried to flash a pro micro but getting

    avrdude: Error: butterfly programmer uses avr_write_page() but does not
    provide a cmd() method.
    *** page 127 (addresses 0x7f00 – 0x7f7f) failed to write

    ProMicro is now bricked 🙁
    Any tips, using windows 10 maybe that is the problem?

  9. Jeroen says:

    Dear Edwin,

    I don’t know what went wrong, but I don’t think It’s a Windows 10 problem.
    To unbrick your Arduino ProMicro I suggest you visit the following pages:
    https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader
    https://learn.sparkfun.com/tutorials/pro-micro–fio-v3-hookup-guide/troubleshooting-and-faq#ts-revive

    On the first link there is an option where you use an Arduino to program another Arduino.
    This is what I used to program my ProMicro.

  10. Andreas says:

    Thanks for sharing.

    I have built a XUM1541 according to your instructions and the following works:

    Cbmctrl detect -> works
    Cbmctrl status 8 -> works
    cbmctrl open 8 15 I0 -> works
    Cbmctrl download 8 0xc000 0x4000 1541.rom -> works

    But cbmctrl dir 8 does not work and I cannot find the issue.
    If I use a XM1541 cable on my Win XP the drive works fine.

    Using Macos Sierra and latest cbmctrl. Drive is 1541-II.

    Could it be that I have done any soldering incorrect when the rest works or is it more Software issue?

  11. alberto says:

    Hello.
    I have built up your beautiful project.
    I connected the drive but did not transfer games.
    I do command from cbmwin and do not find the drive. The drive after the command has the red light lit up.
    I use arduino mini leonardo.
    I wrote the file in arduino perfectly.
    Do you have some help for me?
    Sorry my english but I use online translator
    thank you

  12. Juri Fossaroli says:

    Hello i tried your tutorial, and ordered a couple of those pro micro. I have problem programming it, when i execute the command all seem to go normally, but when the veryfi process start it show a verify error at 0x7000 value read is 55 and should be 66 (or inverted i do not remember) obiouvsly the interface do not work and isn’t even recognized bt pc (is like nothing is connected). I tried even with an original arduino leonardo, same behaviour and same error. Since there are lot of avrdude versions, what should i use? What i’m doing wrong?
    Thanks for help

  13. David says:

    Hello, great tutorial ! Just one question: on the xum1541 source repository, there’s a zoomfloppy-schem-*.png file recommending using a 7406N between the pro micro and the IEC bus. Aren’t there any downside to skipping that?
    Thanks!

    • Jeroen says:

      dear David,

      I just build the version I found on the internet and never thought about why other designs use a 7406.
      The only thing I can think of is that the 7406 could drive more power on the serial bus, so the system still works when connected with multiple drives connected.
      (never had any problems connecting a 1541 and 1581 together with it myself).

      Regards,

      Jeroen.

      • David says:

        Hello Jeroen, thanks for your response. I only need to connect to a 1571 through a 1-meter cable, so I’ll try your method then.
        Regards,
        David

  14. Paolo Gilardi says:

    Hi
    your project is very good and works perfectly on my Asus 64bit notebook.
    I would like to know how use the nibbler support: is it somehow related
    to the parallel cable connected to the 6522 ic used
    By Speeddos?
    Thanks in advance

    • Jeroen says:

      Dear Paolo,

      I never finished the parallel nibbler cable, but it uses the same unused port on the VIA as Speeddos does.
      The only difference is that it only it only uses PA0 to PA7 and speeddos also uses CA2 and CB1 of the same VIA.

      As remark I just want to note that on a 1541C, PA2 is used by the drive for track 1 detection.
      On the 1541-II PA2 is grounded.
      You could use the rom of a older version drive and cut the track to this pin.

      Regards

      Jeroen.

Leave a Reply

Your email address will not be published. Required fields are marked *