If at any point you need to update the firmware on the Immortal Joysticks USB Adapter, here is a short explanation of how to do it.
Things you will need:
- An in-circuit AVR programmer (https://amzn.to/4bChf2L)
- Header pins (https://amzn.to/3UZRq7m)
- AVR Dude software (https://github.com/avrdudes/avrdude)
Download and install AVRDude
Head over the the github page, and on the right hand side of the page click on the latest release.
On the next page, scroll dow to ‘Assets’ and select the version that you need for your system to download a zip file with everything you need. In my case it was ‘avrdude-v7.3-windows-x64.zip‘.
Extract the zip file somewhere easy to locate and name the folder something sensible. I kept mine in ‘Downloads’ and named the folder ‘avrdude’.
You will also need to save the updated firmware .hex file in the same folder.
Connect the AVR Programmer
To flash the firmware you need to connect the AVR Programmer to the 6 pin holes on the USB Adapter PCB. You can either solder in a pin header and then slot the programmer on top. Or if you push the pin headers into the programmer, you can just lightly hold them in place in the holes on the PCB ensuring they are making contact with the pads around the holes.
Make sure that the AVR Programmer is connected in the same orientation as shown below. Pin 1 on the USB PCB should be connected to ‘MISO’ on the programmer and Pin 6 on the PCB should be connected to ‘GND’.
Flash the firmware
With the AVR Programmer plugged into a USB port on your PC and the headers seated in the holes as shown above, you can run the software to flash the firmware.
Open Command prompt on your PC and navigate to the folder where you extracted the AVRDude zip file. For me as I extraced the zip file into a folder called ‘avrdude’ in my downloads folder, I had to type:
cd downloads\avrdude
Once you have navigated to the correct folder, run the following code. Make sure that the name of the .hex file matches that of the one that you have saved in the AVRDude folder.
avrdude -c usbasp -U lfuse:w:0xdf:m -U hfuse:w:0xdf:m -B 10 -p t24a -U flash:w:usbadapter.hex
When you hit enter the code will execute and you will see the firmware flashing to the adapter. When it is finished, it will say “avrdude done, Thank you.” you can now unplug the board and use it as normal with the updated firmware.