How to update your x0xlarge

There’s 2 methods to update your x0x

  • Using Midi (recommended)

  • Using USB (faster, but needs more configuration)

Using MIDI

Get SysEx version of the firmware

First of all you will need a SysEx version of the firmware file. You can get .syx versions for most common OSes here.

If you are a developer making your own firmware, check antto’s as_hex2syx tools to convert your compiled .hex files to .syx.

Get a SysEx utility

Next get a utility to transfer MIDI data. Some options:

Flash the firmware

Updating using MIDI is quite easy:

  1. Connect the x0xb0x MIDI IN port to your computer MIDI interface MIDI OUT port.

  2. Turn on the x0xb0x in bootload mode (using the 16 position selector switch on the front panel).

  3. Configure the correct port in the SysEx utility, select the firmware of choice and initiate the transfer th

  4. Enjoy the lightshow, then wait for the x0x to reboot, you’re done!

Avoid cheap USB to MIDI cables as they are known to have issues with SysEx data.
If you want to buy a USB to MIDI cable, get one from a more established brand (Roland, Edirol, ESI, ..).

Using USB

Currently there are no utilities available to do this with a GUI.

You need command line tools to flash the .hex onto the cpu. Use AVRdude, which is cross platform utility to program AVR microcontrollers. If you are on macOS, you can easily install it with Homebrew.

You also need the Virtual COM Port (VCP) serial driver for the FT 232 usb chip which can be found on the site of the manufacturer, FTDI Chip.

After driver installation, connect the x0xb0x to your computer with USB. Next you need to find out which serial port your x0x is assigned to. On macOS look for a tty.usbserial-XXXXXXXX device in /dev.

The single-line command to flash the .hex is as following:

avrdude -p atmega2561 -c stk500v2 -P /dev/tty.usbserial-XXXXXXXX -b 57600 -e -U flash:w:YOURHEX.hex


avrdude -p atmega2561 -c stk500v2 -P /dev/tty.usbserial-00002114 -b 57600 -e -U flash:w:n0nx0x2.12h.hex