SmartMatrix APA102 Library / Open Hardware Photon APA102 Shield

Here’s the latest schematic and rough part placement on the layout. I’ll share the Eagle files on GitHub next time I work on the board.

Some notes:

  • I used AND gates instead of plain buffers to give the option of using the APA102 lines for something other than driving the LEDs (same as the Teensy prop shield). I don’t know if they will ever be used, but the AND gate was the same cost as a buffer, and adding a resistor is trivial, so why not. The default configuration is that the LED drivers will be always on, and the LED_ENABLE pin will be disconnected so it only takes 2 pins to control the LEDs.
  • C2 might not be necessary to smooth out ripples in the power supply, but I put it on anyway
  • You can connect VIN to VEXT directly by jumping the pads of JP8 (SMT) or JP6 (THT). I placed the THT holes far from the APA102 pads to give some space for putting some pins and a jumper. I figure adding right-angle pins pointing toward the USB connector is the best option, as it will be out of the way. The SMT pads are currently on the top layer, hidden under the Photon. I could easily put them on the bottom layer so they’re exposed, I don’t have a big preference here.

Feedback requested:

  • What should be done with the extra space between the mounting holes?
    SparkFun leaves this section open. Do you think adding unconnected prototyping pads here would be useful? There’s enough space for two rows on each side.
    • Downsides to adding more prototyping pads on the edges:
    • That space is needed to provide labels for the pins. Because of the 2x12 female sockets, there’s no blank row like where SparkFun put labels on their shields.
    • it would make it more difficult to break off the edges of the board to decrease the size of the shield.
  • Where should the SMT jumper for semi-permanently connecting VIN to VEXT go, top or bottom layer? (It’s a bit hard to see the jumper right now, it’s the red rectangles centered between the two green THT pads below the microSD shield.