the monome kit has a bootloader which means you can flash the device's firmware without using an external programmer.
a few different firmwares are available, and we'll produce a few more. since these are open source you're encouraged to extend the firmware and share them here.
you'll need access to the logic board for this process.
these firmwares require serialosc to function. they will not work with monomeserial.
download the zip. unzip.
the individual firmwares will be inside the folder firmware.
remember where you saved these files!
the following step requires you know your serial number.
you can do this in windows in the device manager (get details on the usb port.)
on os x and linux, open a terminal and type:
ls -lrt /dev | grep tty.usbserial
mk kits initially were distributed with serial numbers starting with mk (ie mk0000412). if this is the case on your device, you need to change it to have only an m prefix (ie m0000023).
these applications let you easily change your serial number:
os x: http://dangerousprototypes.com/2010/01/27/pirate-rename-get-a-nicely-named-serial-device/
win: http://www.ftdichip.com/Support/Utilities/FT_Prog_v1.9.zip
the programming script (makefile) needs to be edited for your unique serial number. your serial number looks something like m0000315
within the firmware folder, edit Makefile with a text editor.
at the top, edit the line:
SERIAL = /dev/tty.usbserial-m0000001
so that your serial number replaces m0000001
you can find your serial number by running monomeserial (and various other ways).
windows users: instead of a serial number, you need to specify the COM port your device is on, so this line would look something like:
SERIAL = COM4
you can find your serial number by diving in (this is for xp): system properties > device manager > USB serial port
you'll want to change the COM port to something between 1 and 4: properties > port settings > advanced
it's ok if (for example) COM4 says it's used. just select it anyway (unless you know for certain you have something hooked up to it.)
make sure the device is connected via usb.
using a small length of wire (or something conductive) short the two pins (holes) shown. simply touch one end of the wire to each hole. you won't get any visual or audible cue that this actually did anything, but have faith. you've reset the chip into bootloader mode.
don't leave the wire touching. just touch it momentarily then take it away.
make sure that you're not running serialosc or any other application which will use the serial port for this device.
open a terminal or command line.
navigate to the folder containing the firmware files you downloaded earlier, for example:
cd ~/Desktop/mk/firmware/encoders
now to flash the device, enter command:
make 8x8
where 8×8 is the size of your device. options are 0x0, 8×8, 16×8, 16×16
you'll see something like this:
salt:encoders tehn$ make 8x8 avrdude -p m325 -b 115200 -P /dev/tty.usbserial-m0000001 -c arduino -e -V -D -U flash:w:mk8x8.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9505 avrdude: erasing chip avrdude: reading input file "mk.hex" avrdude: writing flash (5956 bytes): Writing | ################################################## | 100% 0.56s avrdude: 5956 bytes of flash written avrdude: safemode: Fuses OK avrdude done. Thank you.
hard reset your device by disconnecting usb and reconnecting. you're done.
if you ran into problems, don't worry! post to the forum with questions.