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

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. 

Next get a utility to transfer midi data. For ease of explanation we'll use the common free tool "C6" by Elektron (See support/download section on elektron.se), but any other tool should do it.
Connect the x0xb0x midi in port to your computer midi interface

computer midi out => x0x midi in

Normal configuration should just work.

Updating using midi is quite easy: 

  1. connect the x0xb0x to computer
  2. download a sysex tool like Elektron C6
  3. download the latest n0nx0x2 firmware (or any other firmware)
  4. turn on the x0xb0x in bootload mode, send the .syx file using C6., initiate the transfer
  5. enjoy the lightshow, wait for the x0x to reboot,  you're done!

! Warning
Cheap usb to midi cables are known to have issues with SysEx data.
That's not true for those by more well known brands (Roland, ESI, ..), these will work just fine.

Using USB

Currently there are no public utilities availble to do this with a GUI.
You need command line tools to flash the hex onto the cpu. Use AVRdude, which is cross platform (Install via homebrew on OSX).
You also need the virtual COM port serial driver for the FT 232 usb chip which can be found here for all platforms.

After driver installation, connect the x0xb0x to your computer.
Next you need to find out which serial port your x0x is assigned to.
On OSX look for a tty.usbserial-XXXXXXXX device in /dev
The command to flash the hex is as following:

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

Example:

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

NOTE: A cross-platform GUI tool for this is under development. This section will be updated once it is available.