Fueled by the news of Ableton Live’s impending integration with Max, I willed my Arduinome to completion this weekend. A combination of frustration with bugs and holiday distractions sent me off course for a couple weeks. Here’s what happened:
Problem 1: My LED’s were inverted. When I plugged in my arduinome, all the lights would illuminate. They should be unlit by default. I would get the standard scroll pattern, indicating that my firmware was working, as shown in this video:
Solution 1: I had read that these problems could be the result of upside-down IDC’s connecting the breakoff PCB to the shield. I tried rotating the two IDC’s on top of the header pins specific in Sykes’ original diagram. I neglected to try switching the two IDC’s onto each other’s header pins. That corrected my inverted problem. Sykes’ diagram has since been revised to clarify the IDC positions:
Problem 2: One of my columns was not illuminating. I knew the lights and diodes on that column were fine since they illuminated when I crossed a hot wire over from a working column. I double checked the soldering from the button board to the breakoff pcb. I switched my IDC cables to rule out a fault in the connection from the breakoff PCB to the shield PCB . The faulty column’s hot pin passed a continuity test from the button board all the way to the shield PCB, so I figured the problem had to be coming from the shield. I thought this was weird as every other signal coming from the shield was perfect at this point. Could a single pin on my LED driver be dysfunctional?
Solution 2: Turns out the the problem was simpler, yet more surprising. The faulty column’s connection on the shield PCB from the IDC headers to the LED driver was visibly broken! (see image below) I guess Chinese circuit board printing robots aren’t so perfect after all. Fortunately, this was a quick fix. All I did was solder a half inch wire on the bottom of the PCB to connect the two joints and I was in business!
This was my first DIY hardware project and it was a great experience. Soldering is surprisingly easy. De-soldering is surprisingly difficult. Sourcing parts on Digikey is dauting, but opens your eyes to the infinite universe of electronic parts out there (as well as how inexpensive they are if you buy in bulk). Debugging hardware with a multimeter is the only way to find the root of your problem. The feeling I had the first time I toggled LED’s from my computer via Monome Serial is on par with the first time I set up a webserver. I think I have a new passion in this stuff!
Thanks again to all the people who helped me see this project through. My next project is a (non-button) DMX controlled LED matrix based on the prototype boards over at Brilldea. I’ve actually already started. More details to come!