Novation MIDI controllers

Novation Launchkey MIDI controller firmware #

Note : none of the following information is groundbreaking. Others have figured this out already but it doesn’t appear to have been documented.

Obtaining update files #

Novation primarily uses a specific website to distribute firmware upgrades: https://components.novationmusic.com/

Hidden in the support pages however, there is information on performing a manual firmware upgrade as well as a link for an off-line updater.

That self-extracting .exe file contains a NuGet archive, that can be readily extracted with 7zip. This in turn contains lib/net45/resources/app.asar , an Electron archive, and is also easily extracted with asar extract app.asar app_extracted

The individual firmware upgrade files are located in resources/firmwares :

   75895 Feb 19 21:37 bsii-firmware-696.syx
  263135 Feb 19 21:37 circuit-firmware-3592.syx
  508817 Feb 19 21:37 circuitrhythm-firmware-5695.syx
  432961 Feb 19 21:37 circuittracks-firmware-4469.syx
  125797 Feb 19 21:37 flkey-firmware-68.syx
  118009 Feb 19 21:37 flkeymini-firmware-56.syx
   25339 Feb 19 21:37 launchcontrolmk1-firmware-139.syx
   38275 Feb 19 21:37 launchcontrolxlmk2-firmware-59.syx
  131913 Feb 19 21:37 launchkey88-firmware-27.syx
  121485 Feb 19 21:37 launchkeyminimk3-firmware-425.syx
  132397 Feb 19 21:37 launchkeymk3-firmware-225.syx
...

There is also a firmwares.json file with extra metadata and direct download links for each device.

SYX file format #

Somebody already figured this out for certain models: https://github.com/darkarnium/xkey

Firmware analysis #

binwalk -E and strings both indicate that the file is unencrypted. cpu_rec indicates this is probably some variety of ARM mcu. Most likely STM32F401RB on some (all ?) Launchkey Mk3 / FLkey models according to https://www.ifixit.com/Guide/Novation+Launchkey+mini+Mk3+-+FLkey+mini+Disassembly/158735

Calendar Last update: February 19, 2024