[How to]: Repair a broken monome grid - damaged logic board USB socket

Posting in case any of this is useful for anyone looking to repair a broken monome grid, particularly with a damaged USB socket.


I recently bought a broken 2011 grayscale 64 for a good price. The previous owner had accidentally broken the logic board by dislodging the usb socket. They had attempted a repair, but this made it worse - pcb pads around the socket were lifted and burnt. In short, the logic board needed to be replaced.

The grayscale 64 is 10 years old. Monome stock of logic boards for grayscale models are long gone. However, pcb and firmware files are helpfully posted here: https://github.com/tehn/monome-firmware

I printed 3 logic boards on oshpark.com, total ~ $20 plus shipping to EU (anyone needs a gs64rec10 logic board pcb? I have some spare). Ordered the parts (or at least those that are still available, the tilt sensor is no longer in production), and soldered everything to the board. So far so good. Also dug out my AVRISP mkII programmer, and installed avrdude to flash the atmega chip.

https://github.com/tehn/monome-firmware/blob/master/gs64rec10/Makefile contains the relevant incantation to flash the atmega 325 chip:

avrdude -p m325 -b 115200 -P usb -c avrispmkII -e -D -U flash:w:$(TARGET).hex:i -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xff:m

For some reason, my windows 10 setup wouldn’t allow me to converse with the chip via avrdude, in the end I had to install a bulky atmel studio package in order to program the chip.
The final piece of the puzzle was figuring out that the ftdi USB serial chip needed to be renamed to match the monome grid naming conventions. In this case, m64-xxxx. In order to do that, I downloaded an FTDI tool called ft_prog: https://www.ftdichip.com/Support/Utilities.htm#FT_PROG

Had to dig into the old flipmu arduinome site to get the procedure to rename the ftdi chip: http://web.archive.org/web/20160312222407/http://flipmu.com/work/arduinome/instructions/duemilanove-ftdi-based-arduino/

  1. Plug in the grid, and verify that is is being detected by your computer.
  2. In FT_Prog, click ‘Device / Scan and Parse’.
  3. Uncheck ‘Auto generate serial number’, enter your desired grid name, something like m64-xxxx, and hit save.

Thats it! Brand new purple PCB logic board and fully functional grid :slight_smile:

16 Likes

Hot air the original tilt sensor?

Yes it would need something like that I think. I don’t have a hot air gun though.

1 Like