Stoicheia troubleshooting

[I tried submitting this through the web contact form using a couple of different browsers but can’t tell if it came through; the form stays on the screen after hitting the Submit button]

Hi! I have inherited a Stoicheia that is DOA, and am trying to troubleshoot it. If you don’t have time to answer these kinds of support questions, I totally understand, as I work for a synth company and we have limited resources to address such inquiries about modules not under warranty.

I assume someone reversed the power cable, but there is no visible damage to any components. D2 and C2 were both shorted (looked fine but tested for continuity using a multimeter), but replacing both has not brought the module back to life. No LEDs light up. The ATmega168 is receiving ~4v on pin 7, but I have not tried re-flashing it with code yet, as I don’t have a programmer at home. Are there some simple tests I can do with other components to identify other potential issues in the circuit? I’d love to repair it here if possible, rather than ship it to you from the US.

Thanks in advance.

Martin has kindly replied by email; I may post here with updates after I try flashing a new ATmega168.

Update: I flashed code onto a new ATmega168 and replaced one of the 2N3904s. Still no luck reviving it! Not sure what to try next.

Hi fang,

when you programmed the new Atmega, did you also set the fuses?

For the ATmega168 they should be:

EFUSE = 00
HFUSE = DD
LFUSE = FF

While for ATmega328 we use:

EFUSE = FD
HFUSE = DA
LFUSE = FF

We use avrdude to set these, with a command like this (for ATmega168):

avrdude -p atmega168  -P /dev/ttyACM0 -c avrispv2 -u -U efuse:w:0x00:m -U hfuse:w:0xDD:m -U lfuse:w:0xFF:m

though the exact details will depend on your type of MCU, programmer and port.

The flash command looks like this, and should be performed before setting the fuses:

avrdude -p atmega168  -P /dev/ttyACM0 -c avrispv2 -e -U flash:w:EuclideanSequencer.hex

(or use VoltageControlledEuclideanSequencer.hex for Klasmata)

Helpful, thanks! I previously set the fuses to values from a different project at work. With these new values I was getting some errors when using an ATmega168, but everything worked fine with the ATmega328. Still having the same issues though. My next step is replacing the other 3904s since I have some here, to rule that out.

Are you getting any LED activity when you plug a clock into bottom corner jacks?

Success; the module is now working!

After the original problems with the module before it came to me, the further problem was definitely in the realm of user error (a vast universe that often intersects with our own). I had saved the hex file from Github using a browser (old version of Firefox on an old installation of Linux Mint on an older work computer), and the browser saved it as an html file despite the .hex extension. Once I re-saved the raw hex file and re-flashed the chip, everything was fine.

Thanks so much for your help on this. I’ll leave it up as a cautionary tale.

1 Like