Firmware update

Igor edited this page Jan 13, 2017 · 21 revisions

OpenDeck uses LUFA Mass storage bootloader to update the firmware on board. When new firmware version is relased, update can be performed easily without any additional PC software.

Bootloader mode can be triggered in two ways - one is using software, other is using hardware. Software trigger is recommended in most cases, as hardware one requires MIDI cable. Note that software trigger can be used only if OpenDeck firmware isn't corrupted. If firmware update has gone wrong, hardware method can always be used, as it doesn't rely on having the firmware already loaded. In and Out LEDs on board will light up when bootloader mode is triggered, no matter which trigger is used.

Software bootloader trigger

To reset the board into bootloader mode, special SysEx request must be sent to the board.

  • Command: F0 00 53 43 00 00 55 F7

Note: handshake message must be sent before sending any other SysEx commands. See here.

Once the board has received this message, the board will first slowly fade out any turned on LEDs untill they're off. After that, board will reboot and show on your PC as removable drive called "OpenDeck".

Windows OS showing the OpenDeck drive

The drive contains two files: EEPROM.BIN and FLASH.BIN.

OPENDECK drive contents

EEPROM.BIN file contains all configuration data stored on board. FLASH.BIN file is firmware currently on board.

Updating firmware

When updating new firmware, several steps are neccessary:

1) Enter bootloader mode

2) Delete the existing FLASH.BIN file

3) Copy new FLASH.BIN on drive. If any warnings appear, ignore them.

4) Eject the drive - Do not just unplug the board from USB port because the board will stay in Firmware update mode that way, even though firmware will actually be updated. If using Windows, please use "Eject" command available when right-clicking the drive. "Safely remove drive" option won't work in Windows. When using other OS, use the appropriate command. If the in and out LEDs blink two times and then turn off when clicking "Eject", the firmware update has been successful.