Firmware update Windows 10 for dummies

Nitrokey updating firmware
In Windows 10:

  • I assume you have the Nitrokey App installed on your Windows computer and the configured Nitrokey is in the USB port. You will see the App residing on the right bottom corner with all the other small icons like your WIFI connection, time and date, and your loudspeaker icon.
  • I assume that you have changed the passwords in the Nitrokey and everything is working normally.
  • Go to the App and find “Configure” and “Enable firmware update”.
  • The Nitrokey might now tell you that it will be disconnected but don’t worry and especially don’t touch it.
  • Let’s assume that the latest firmware version is .50. Download .hex file from here.
  • I don’t really know where to place it for the terminal to find it automatically so let’s move it from the download folder into the Desktop.
  • Download and Install dfu-programmer on your computer. The Nitrokey manual says “install” but that is not right in my opinion. Again just unzip it and place the whole DFU-Programmer folder on your desktop.
  • Open the DFU-Programmer and go to “File” as in the image;
  • Click on “Open command prompt” and then the “Open command prompt as administrator”
  • A black terminal screen will open.
  • Paste the following line after the blinking node: “dfu-programmer at32uc3a3256s erase
    And click enter. The Nitrokey will now be erased:
    C:\Users\yourownname\Desktop\dfu-programmer-win-0.7.2 (1)>dfu-programmer at32uc3a3256s erase
    Checking memory from 0x2000 to 0x3FFFF… Not blank at 0x2001.
    Erasing flash… Success
    Checking memory from 0x2000 to 0x3FFFF… Empty.
  • Now enter the next line in the black screen after the blinking node in one line:
    “dfu-programmer at32uc3a3256s flash --suppress-bootloader-mem C:\Users\yourownname\Desktop\firmware_V0.50.0.hex”
  • Change yourownname into the name of your username on the computer.
  • The terminal will show you this:
    C:\Users\yourownname\Desktop\dfu-programmer-win-0.7.2 (1)>dfu-programmer at32uc3a3256s flash --suppress-bootloader-mem C:\Users\yourownname\Desktop\firmware_V0.50.0.hex
    Checking memory from 0x2000 to 0x2DFFF… Empty.
    0% 100% Programming 0x2C000 bytes…
    [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
    0% 100% Reading 0x3E000 bytes…
    [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
    Validating… Success
    0x2C000 bytes written into 0x3E000 bytes memory (70.97%).
  • Now the last step is to launch the Nitrokey again out of its “Enable firmware mode”
    Enter after the blinking node: “dfu-programmer at32uc3a3256s launch”
  • The computer will tell you that the Nitrokey is launched and connected again.

It worked for me twice, but if it doesn’t, you might have different issues.I cannot solve them unfortunately because I am not a programmer and/or computer technician. You will have to ask the Nitrokey developers.
I just found out how to do this after having lots of trouble with installing the Nitrokey and the firmware. Doing a lot of research how to write in the Command Prompt Terminal and why and how software worked. Not willing to give up. Then writing this little manual I hope will help some other beginners.


Thanks for sharing your results/steps.
We are workin on improving our instructions. We are sorry for the troubles you have had!

1 Like

Your welcome and I appreciate the fact that you deal with some very frustrated users with the utmost patience.
I am not an insider of your organisation but if I humbly may suggest that besides updating your documentation, you also try to update and extend your Nitrokey App to more functionality instead of relying on the quirks of third party software - like updating the firmware.
Most of the third party softwares like for instance the dfu-programmer are made for more experienced computer technicians and not for general public… adding frustration and problems.
I wish you all the best.

1 Like

You are right. Including the firmware upgrade process entirely in the App would surely be the best for user experience. Unfortunately this is quite a big task and as a relatively small company we have limited resources yet.

We will consider doing this in the future. Until then we are looking for an existing solution which is easier to handle and/or are improving our instructions. Thanks for your suggestions!

1 Like

Thanks a lot for the really helpful step-by-step instructions. However, as @nitroalex mentioned, it would be really great to have the firmware upgrade integrated into the nitrokey app. Would be a big improvement for non tech-savvy users.

Just FYI, this is registered as Nitrokey App#321.