Driver Board - Additional notes



The DRIVER board is both the the heart, brain, and nerve center of the stribe, and so is the most complex bit. It's made on a 4-layer board, which is more expensive than a 2-layer board. But the 4-layer design helped simplify the circuit. The downside is I've found it practically impossible to de-solder this type of board with home-style equipment, so you'll want to be extra-careful you don't mess up. Take your time and remember: neatness counts.



All the values on the board are silk screened in white to make it easy to figure out where to put things. The only thing to make EXTRA EXTRA sure of - is that the polarity on the 10mf electrolytic caps (cylindrical grey/black ones) is correct, and all the same. Just remember the longer leg is positive (+), and goes into the hole with the square pad around it.



Also, the one position NOT marked with a value is the ISET resistor. It's just marked 'ISET'. This resistor controls the brightness of each MAX7221. The default value from the datasheet shows 9.53k. Instead, I cranked these up to 47k to lower the LED brightness slightly, and the result was I could power the whole board from my USB port. Some call it luck...

You could experiment with these 16 resistor values, maybe even control them programatically from the Arduino. That would be cool.

*

In Summary: The generic circuit-design from the MAXIM MAX7221 datasheet has been replicated pretty much verbatim, 16 times. A 3-wire (CLK, LOAD, SRC) interface, per the example on the datasheet, provides the info the LED drivers need to do their jobs. A convenient location has been provided on the DRIVER board, to allow you, the experimenter, to add off-the-shelf micro-controller prototyping boards (such as Arduino stamps), and/or to design your own circuit.

The DRIVER circuit board performs 4 main functions:

1) It hold 16 complete, standalone MAX7221 LED driver circuits, with 2 supporting capacitors and an ISET (brightness) resistor for each one. Each MAX7221 drives an 8x8 grid of LEDs using 8 andode and 8 cathode connections. In total: 1024 LEDs.

2) The Driver board accepts connections from 8 3-pin/5VDC sensors. Each connection circuit contains a 10k pull-down resistor which pulls the signal to ground when the strip isn't touched. This gives you OFF. Without these resistors, if the signal is grounded to the main buss, the tiny shifts in voltage caused by the other sensors' varying capacitance makes the sensors seem to seem to "drag" each other around. For more on this, check out the Youtube 'soundwidgets' video archive for 6 chainsaw sinewaves fighting like cats. It's kinda funny, like zombie theremins.

Broke students take note: you can get some funky effects just touching the three sensor connections, without actually using the expensive touchstrips - so for instance you could use a sensor you made yourself and wire it up here, hint hint.

3) It provides sockets and logic connections to 2 off-the-shelf Arduino stamps.

a. Arduino MINI 04

The first is a stamp-sized equivalent of the popular Arduino Decimila development platform. But it's tiny and fits into a socket easily made from female headers. It doesn't provide the convenient USB connection, but you add this functionality with the Arduino USB stamp, described below. The MINI has the added advantage of being based on the smaller form-factor ATMEGA128, which gives you 8 ADC converters, rather than the Arduino NG's 6. You can do a lot with 6 ADC's, so feel free to use your existing Arduino and some parts and make a six-strip version. [I mean a guitar does great with 6 strings and a bass does amazing things with 4. You can multiplex your inputs if you don't need speed. But I like monome's choice of 8 as their basic unit of measure, it's a fundamental thing about computing, a base value everyone can agree upon. And it's square.]

b. Arduino USB

Like Arduino MINI, above, but provides USB connectivity for power and serial communication (4 wires).


4) It provides the base of the unit, until a suitable case is made.


I have provided 4 mounting holes in the corners of the DRIVER board, to allow it to be bolted to a faceplate, sandwiching everything together, firmly, against the sensor plate, so I imagine the case will take the form of a faceplate with a hole cut for the sensor area, and a place to mount the stribe from behind, onto the faceplate. You could also put the bolts the other way, pointing out the back into a piece of wood or something. This would at least provide a solid base and protect the circuitry on the back. Make sure everything is working well before you bolt it all into a fancy case that's hard to take apart. Lots of testing and tweaking left to do, remember, and you may mess something up and have to do some wacky hand-wiring. I already suspect a grounding issue that may require an extra wire or two.