Mod checker

With the number of synth module designs and modifications I’ve been doing, with the number of times I’ve needed an oscillator or a clock or a CV on the bench, with a VCO coming up that’ll need calibrating — I decided it was time to go ahead with a version of the Mutable Instruments Module Tester.

This is a thing that generates clocks, gates, control voltages, and audio frequency signals for testing synth circuits, and that accepts and analyzes audio and gate inputs. MI had it on the market for some years but no longer. However, the design and firmware are open source. Pusherman sells the PCB. So does AmazingSynth, as well as the pre-flashed ATMEGA644P MCU and an acrylic case. Or you can go to Émelie Gillet’s GitHub, download the design repository, and do with that what you will.

What I willed was something with a few slight modifications. Laser cut acrylic has its place, I guess, but I had something else in mind for an enclosure:

That’s similar in size to the Module Tester PCB, a bit larger. I could have used the Tester PCB as is and put a custom faceplate over it, but I decided instead to resize the PCB for a snug fit and to forego the faceplate. So (having previously made a fork of the repo to convert the old Eagle files into the newer format that KiCad can import) I pulled the design into KiCad and enlarged the board to 213×133 mm.

Of course I didn’t stop there.

I modified the footprints to show reference and (where applicable) value for all components on the silkscreen. The resistors needed that particularly. I think they had references on the original MI board but somehow they got nuked in the KiCad import. Or not, but they weren’t there.

My version:

(Resistor references are likewise missing on the Pusherman version of the board.)

For the LCD module, I wasn’t sure whether I wanted to solder it in place or use a pin socket. In the latter case the module would be dangling unsteadily if no other support were provided, so I decided to add mounting holes matching the ones on the module. I could use screws and 10 mm spacers to secure the module if I decided to go the socket route.

I decided as long as I was making a board for me, I might as well use components I had already. The MIDI connector footprint looked like it might not quite match the connectors in my stash, and the horizontal 1/4″ audio jack was definitely different. So I substituted those footprints.

I also changed the Eurorack style power header footprint. It was an unshrouded vertical format, and I was thinking I’d rather have it at right angles to the PCB, so I made it a shrouded right angle footprint.

And there was my first mistake. I failed to notice in the schematic, the -12 V rail was connected to symbol pins 15–16, and +12 V to pins 7–8, the opposite of the usual convention. With an unshrouded header that doesn’t matter, you just plug the cable in whichever way is right, but my shrouded header footprint was backwards.

There were a few other cosmetic changes. I labeled it “Euro/Kosmo Synth Mod Checker” instead of “Eurorack Synth Module Tester” because apparently Gillet likes derivatives to be renamed (at least commercial ones, which this isn’t). Then I uploaded the design for fabrication and got going on sourcing parts.

There were a number of components not available from Tayda, so I put in one of my largest Digi-Key orders for the ones that weren’t. That included a Mean Well DCWN06A-12 power converter, suggested by AmazingSynth as an alternative to the slightly quieter but twice as expensive TRACO TEL 5-1222. Thankfully I still had a bag of Thonkiconn jacks, so I didn’t have to order them from yet another vendor. (Since I do mostly Kosmo I’d very briefly considered making all the jacks 1/4″, but that would have made for a much harder layout revision, and the smaller jacks and cables are probably better on the crowded workbench anyway.) Somehow I forgot about the 40 pin DIP socket so I had to make a separate Tayda order for that. Eventually the board and all the components arrived and I started building.

I noticed the power header problem early on. I couldn’t just turn the header around, of course, because it would have been pointing the wrong direction. I could have mounted it on top of the PCB instead of underneath it. But I decided to just go with a vertical header after all, oriented the right way.

Another error, and I’m amazed I spotted this without hours of perplexed troubleshooting, was that somehow I’d ended up with a capacitor with one end floating instead of grounded. A small added wire took care of that.

It came time for the LCD module and I decided, what the heck. I soldered it. Slightly crookedly, but only slightly.

And it was all together.

I checked power connections. I found one or two not connected, fixed those. Installed the ICs. As usual I used my pin straightener to prep the narrower 0.3″ chips. I was worried about the ATMEGA644P pins until I turned the pin straightener over and realized I’d forgotten it was reversible, with provisions for 0.6″ chips on the other side. Never used that before. It worked fine.

Then it was time to flash the chip.

Which is also something I’d never done before. Not quite, anyway; I’d flashed a bootloader on a Nano a while ago. But I’d never worked with a bare MCU and the avrdude command line interface. I hooked up my Uno clone to the ISP header, downloaded avrdude, and tried several commands that resulted in avrdude saying “WTF?” before hitting on the right combination of options… and up came the user interface!

Kind of. Only one of the LEDs was working and nothing happened when I pushed the rotary encoder. I fixed them. More bad solder joints — I don’t know why I had so many.

But maybe I’ve found them all, because I’ve tested about everything (except the MIDI in, haven’t done that yet) and it’s working! Here it is in its fancy enclosure.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s