video here of the entire procedure with talking and wobbly camera:
you'll need to install avrdude.
open up your device using a 3/32” hex.
if the plate is tight, you can insert the hex key and push the plate out. don't pull on the encoders.
turn off serialosc! on mac, type:
launchctl stop org.monome.serialosc
the logic board has a bootloader, so no programmer is needed.
download the .hex files– you'll need arc2.hex or arc4.hex
open a terminal and navigate to the folder where the .hex files are stored. for example, if they're on your desktop, type (this is for mac):
make sure your device is plugged in.
push the small button, which activates the bootloader.
then type (mac):
avrdude -p m328p -b 115200 -P $(ls /dev/*tty.usb*) -c arduino -e -D -U flash:w:arc2.hex:i
on windows replace the (ls /dev/*tty.usb*) with COM7 or whatever com port your device is on (you may need to check in the device manager).
important: at the end of this line, replace arc2.hex with arc4.hex if needed.
you should see a progress bar and then it'll be done.
this requires a programmer. the AVRISP2 is what i'd suggest.
to program these boards without taking everything apart (highly recommended) i created a connector which swaps the rows. photos are here if you'd like to build one yourself.
each driver has a address number: 40, 42, 44, 46 respectively from closest to the usb port to furthest away.
the .hex files include 40.hex 42.hex etc.
navigate to the correct folder as before.
be aware that the following line specifies which hex file, so you need to change it for each driver:
avrdude -p m168 -b 115200 -P usb -c avrispmkII -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0x01:m -U flash:w:40.hex:i
you'll see the lights blink, the text will scroll, and you're done.