Skip to content

Step 2: load the MIDI firmware through DFU

Alex Simon edited this page Feb 20, 2015 · 9 revisions

These instructions are for OSX

Install dfu-programmer

Official repo is: https://github.com/dfu-programmer

  1. git clone https://github.com/dfu-programmer/dfu-programmer.git

  2. cd dfu-programmer

  3. ./bootstrap.sh (You need automake for this. You can install through brew install automake)

  4. ./configure

  5. make

  6. make install

  7. To double check everything went fine type dfu-programmer --help

Boot into dfu mode

  1. Touch with a wire the 2 pins (Reset & GND) shown on the following image:
    Arduino UNO (You should see the L LED flashing)

  2. To double check go to the Arduino IDE, your board should not be on the Port list anymore

Load the new firmware

You can download the MIDI firmware from here. Right click on Raw > Save Link As...
The firmware has been created by Dimitri Diakopoulos.

Once you are in DFU mode follow these steps to load a new firmware:

  1. Erase the current Arduino firmware: dfu-programmer atmega16u2 erase

  2. Load the MIDI firmware: dfu-programmer atmega16u2 flash arduino_midi.hex

  3. Reset the arduino: dfu-programmer atmega16u2 reset

Unplug your Arduino and plug it back again.

Go back to normal Arduino

Please note that every time you want to load a new sketch you will need to go into "normal" Arduino. Then you will need to go back into MIDI mode to use the board as MIDI controller.

  1. Download the arduino firmware from here. Right click on Raw > Save Link As...

  2. Follow the same instructions before to load the firmware, but using Arduino-usbserial-atmega16u2-Uno-Rev3.hex instead.

Trouble shooting

  • Make sure you have version 0.7.2. Older versions don't have atmega16u2 so you will get a Device not detected message.
  • Some Arduino UNO clones don't have dfu mode, so you won't be able to load a different firmware.

NEXT STEP