Buttonpad capacitor decoupling
The current buttonpad design does not incorporate a bypass capacitor, which is something I feel as neccessary for consistent and proper function. More info about retrofitting bypass capacitors onto the buttonpads can be found on my flickr feed.
Backwards transistor silkscreen on buttonpad
The base is fine being in the middle, but the transistors on the buttonpads need to be rotated 180 degrees or 'backwards', essentially you are swapping the collector and the emitter.
Lack of established RGB protocol
Currently the Octinct firmware simply changes colors based on led on/off events. Cycling through the colors, while this is very pretty it is not very useful. I have no plans on developing a RGB protocol so I leave it up to you and the Arduinome team to do what you do best.
Even though the Octinct mux's the color channels it is still capable of drawing 320ma per panel, or 1.2amps for all 4 panels. This is well above the 500ma onboard regulator of the arduino, and definitely above the 100ma max of the usb spec. What I have done to get around this use 4.7k resistors on the iset of buttonpads, this gives you less than 100ma per board at full brightness, the downside is that the buttons are not near thier theoretical max brightness. The led's are probably pushing 5-6ma vs. the 20ma+ (because they are mux'ed) they could handle.
This is partly why the heavy version of the Octinct was developed, it has a 2-pin 3.5mm screw terminal allowing you to power the arduino and Octinct off of a higher amperage power source. The screw terminal isn't some magical voltage regulator though and clean regulated power needs to be provided through this terminal not just some wall wart. Also make sure and remove the arduino ext/usb power jumper so that you don't damage anything.
I should mention that while I have tested external power sources using the screw terminals I have not tried currents in excess of 500ma, it should work fine ... should being the operative word!
If you do decide to try a high current version (greater than the onboard regulator) you may want to look into beefing up the gnd and vcc lines on the buttonpads, the traces are fairly thin, primarily the idc to 5940 could use some beefing up.
Transistor base resistors
While the buttonpad would be more efficient with mosfets it has transistors, the interesting thing about transistors is that they have a gain ratio, and require more current to turn on, as the current they are turning on increases. This means if your octinct is running ~300ma off the onboard regulator the transistors may only need a couple ma to turn on, however if it's cranking 1.2amp or more, the efficiency goes down as well as the current goes up. This means you may need 7-8ma or more to turn on the transistors. This poses a couple of considerations.
First each color pin on the arduino is driving 4 transistors, and each pin is only rated at about 40ma. Multiply 8ma by 4 and you can see we are starting to push the limits of this design. It should probably be redesigned with better power isolation and mosfets however I leave that up to someone else.
Second if you choose a higher current for the transistor bases but don't need it, you end up using more current overall, this may be a problem if you intend to run off the onboard regulator only. You will need to verify that you power usuage is inline with ratings. My recommendations are the following:
- Reduced brightness Octinct running off of onboard regulator, use 4.7k resistors on the shield for the bases. This should be good up to the 400ma or so you would want to pull from this configuration.
- Max brightness Octinct running off of external power supply, use 1.5k resistors on the shield for the bases. This should be good for up to 1.2amp.
- Be prepared to swap out resistors if you are playing with high amperage operation as I have not tested this fully.
The buttonpads do not share all of the same mounting holes as the sparkfun pads, namely it is missing the mounting holes on the interior of the board. I suggest, as I have done myself to use XNDR's arduinome mounting method where the edges of the pcb are trimmed and the boards are retained as a group.
Long term durability
Since there are things that are not optimal about the design it is unclear if long term operation will stress any of the components out. Technically mux'ing color channels and sourcing them through a constant current driver like the 5940 should be ok, but it is certainly not the application intent of such a chip. Since the different led elements have different forward voltages the 5940 is readjusting to each led cycle to maintain a constant current. The ramifications of this over the long haul I can't really speculate.