I spent many years working in experimental nuclear physics — a lot of which involves putting electronic modules in racks and then connecting them with patch cords, sound familiar? — and one thing I learned early is that when there’s a data acquisition problem, most of the time it’s due to a bad cable, or a bad cable connection.
Remember faster than light neutrinos? That was a cable problem.
Faulty cables are bad enough when they carry signals. When they carry power, it’s worse. Synthesizers don’t have to deal with the multi thousand volts one occasionally needs in physics experiments, but even +12 V where ground or -12 V is supposed to be can cause some serious damage to your circuits.
I’ve never had a problem with commercially-made Eurorack ribbon cables, though I know people who have. Lately I’ve been making my own cables instead — it’s easy and IDC connectors go for about $0.20 each, 10-conductor ribbon for about $0.20 a foot, and most relevantly, the lowest price commercial cable sources have tended to be out of stock a lot lately. And I suppose I really should trust my own cables more than ones made by some stranger, but I don’t. I used to just assume the cables would be good, probably a bad assumption, but now I worry they’ll be bad, probably a silly worry. Solution: Test them. You can test a cable with a multimeter easily enough, especially if you have three hands and the patience and care to run through checking all possibilities for open connections and shorts.
Or you can get an Arduino to do it.
I stumbled across this Arduino powered Eurorack ribbon cable tester project recently and immediately said, Yes! Gotta make one! The photos show one built on a prototyping board, and I’m kind of puzzled by them. Where are the resistors? Where are the wires? All on the underside, I suppose, but why? And how? It’s a pretty simple circuit but you do have to connect the rather scrambled 4051 pins to the Arduino and the connectors and it just seemed more messy than I wanted to deal with as a stripboard. So I forked the project, made a few minor changes to the circuit and software (mostly just the ordering of the connections), and drew up a PCB which I had made.
While waiting for the PCB, I bought the 128×64 OLED display module. It’s monochrome, though I got a version with a yellow and blue overlay that jazzes it up a bit. These modules are is obtainable cheaply at the usual suspects like Amazon Marketplace, eBay, and AliExpress. They don’t seem to be carried by any of the established vendors like Mouser or SparkFun. The project specifically uses a version with four pins: VCC, ground, and two connections for an I2C interface.
Assembly was quick. The one monkey wrench had to do with the OLED. The original designer had an OLED whose four pins were VCC, GND, SCL, SDA, in that order, so that’s the order those are connected to a female pin header on the board. Not until I’d built everything did I notice the OLED I’d bought, which superficially looked identical, had the pins in the order GND, VCC, SCL, SDA. So, for testing, instead of plugging the display’s pins directly into the header, I linked them with some male-female jumper wires, swapping the order of VCC and GND. For the longer term, these displays are cheap enough even from domestic sellers that I just went ahead and bought another one, this time one with the pins in the order that matches the board so I could dispense with the flopping-around-on-wires thing.
The software uses a couple of readily-available Adafruit libraries. I downloaded them from GitHub — they were available through the Arduino IDE but only in very old and incompatible versions. Some sketch tweaking was required for my version of the board but in the end it all works. And so do my homemade cables!
I went back into Pcbnew to put a second header footprint on the board, so it’ll take either OLED type, and I also added mounting holes while I was at it. Not that I really plan to order another run of these boards, but you can if you want. Schematics, PCB layout, and Gerbers are in a GitHub repository.
Cheap insurance! I can guarantee subluminal neutrinos and non-shorted power supplies now.