Arduino "Cannot open DFU Error"

Correct it’s probably showing there’s a driver conflict because you also installed the same driver for CDC data.

You should first manually uninstall / delete CDC data from device manager.
Restart computer.
Connect the board via USB and let Windows install the correct driver for it while it is a Proffieboard.
Then reinstall/replace STM32BOOTLOADER to use WinUSB (v6.1.7600.16385) with Zadig.

tl;dr *By all means follow the above suggestions since either way you need the ability to upload properly and all of this is good learning.

What’s your overall goal here? Change fonts? Add fonts and additional bladestyle presets? Use what you have that is “factory”? Do you want to possibly add to it as well? Are you also considering using a different prop option?

Did you simply try putting their version of the prop file into the ProffieOS prop folder? This will provide the opportunity to put the saber back to its “factory” setup, give you a basic framework, and allow basic expansion to bladestyles and associated fonts.

Did you try simply editing the config keeping the config top and bottom intact to try to edit from there?

Just making sure I understand. So after deleting the CDC Data driver…restart PC > plug in saber > and then put saber in Bootloader mode before opening Zadig?

You don’t need to open and activate Zadig every time. It’s a one and done thing to setup the pc.

My goal was mainly to add fonts ive purchased to my saber.

To somewhat summarize up till now, I had gotten to a point where i could upload BUT was getting the DFU error at the veyr end. I had gone into Zadig and replaced the CDC Data driver with the STM32 Bootloader driver, thinking that would fix it and of course…here we are now.

It is definitely a learning experience and honestly makes me want to create a more cohesive updated “how to” video for adding fonts as the tutorials i followed were okay but honestly didnt account very well for the Zadig portion…

in my case it seems i may have to run in a few times to get things back to normal. at this juncture im all for running it 100 times in order to get back to the point where i was just getting the DFU error at the end of my upload :sweat_smile:

Can’t get clearer than this:
Plug in the board via USB not holding BOOT button.
Delete the CDC Data driver and include the checkmark to remove/delete this device.
At that point, you should likely hear the computer bing sound that a USB device connected. That should be the PC finding the board and it should install the correct driver for Proffieboard (CDC Data etc…) by itself.
You can check when it’s done that Arduino sees a Proffieboard under menu Tools>Port.
Restarting computer is just for good measure, but prob not required.
After the Proffieboard driver had been installed by Windows, hold BOOT, press and release RESET, then release BOOT.
Open Zadig and drop down menu for Show All Devices.
Select STM32BOOTLOADER and install driver WinUSB (v6.1.7600.16385)

That’s the last time, other than a crash or disconnect during upload, that you should ever need to worry about bootloader again.

1 Like

Thank you for the super clear instructions :slight_smile: , it looks like STM32 Bootloader is now back under Universal Serial Bus devices in Device Manager!

In this case now, with my saber plugged in and still in Bootloader-mode, would it be alright to attempt a Verify and Upload of my new config?
Or should I disconnect and reconnect my saber first and have it connect normally before doing so?

Yes, that’s totally fine.

Uploading by putting the board in bootloader mode is always fine, with two caveats:

  1. it’s extra work compared to having arduino put it into bootloader mode for you (which is what happens when you have a port selected in arduno → tools → port)
  2. If you end up using the BOOT/RESET buttons a lot, they will eventually wear out and fall apart. Don’t do that.

Will keep the physical boot+reset button-use in mind as i did notice they are very small and delicate buttons

It looks like my driver issue was partially solved as my upload did complete 100%, however i am now getting the “Cannot open DFU device 0483:df11” error at the very end when it tries to transition to dfuMANIFEST state.

i feel like im very close to resolving this but missing something? would this be in relation to the KEEP_SAVEFILES_WHEN_PROGRAMMING command?

That is normal, you can ignore that.

is there anything i can do to ensure my font is added to my saber? when i unplug my saber and go to test im not hearing the font i added

You keep saying that you have KEEP_SAVEFILES_WHEN_PROGRAMMING defined.
Read what that does.
You don’t want to use that if you are looking to add fonts and styles and upload changes.

1 Like

^That. Just temporarily disable it via 2 //'s before that line and save the config and flash it over. This will let you do the changes and not have the main program preventing it.

//#define KEEP_SAVEFILES_WHEN_PROGRAMMING

Once you do the flash you can always go back and remove the //'s and flash it back in, or honestly just do like some of us do, simply leave it disabled if you’re gonna be playing around with the config for a while.

Basically you want it disabled doing a new flash and once you verify the saber is where you like redefine the line and flash it back in. *Again, or just leave it be. I’ve yet to ever redefine it in mine.

1 Like

Ohh okay I see, I was confused on that bit and after doing a thorough read-thru I understand. I’ll look to give this simple config edit a try and probably keep it disabled as I do plan on adding a few other fonts I’ve purchased to the saber.

Will report back if all goes well! thank you all so much for the info and being patient with me :slight_smile:

Hi all, I can report back that I my new font is now successfully installed and working on my saber!!

Disabling “define KEEP_SAVEFILES_WHEN_PROGRAMMING” did the trick, however I also want to note I had to put my saber in Bootloader mode for the Upload to work properly. While it’s not the most convenient, I am content with potentially doing this each time I want to add a font

May I suggest checking out what @profezzorn just shared as a viable alternative instead?

re: Zadig is dead, long live libdwi

1 Like

Are you running Windows 11?

Nope! Currently Win10, 21H2

And i was able to resolve my issue after following your instructions and fixing my driver via Zadig. The only thing after that was disabling the “Keep SaveFiles When Programming” command in my config which now allows me to upload my config to the board.

Now I’m looking to try the installer Profezzorn posted earlier

That installer replaces Zadig, and the goal is to avoid needing to use the onboard buttons to invoke bootloader mode.
But you’ve already installed the right driver with Zadig so shouldn’t need to do use that alternate way (unless you still have a problem?)