The original inner_face used WS2812B (NeoPixel) integrated RGB LED/controllers. These are great in that they only need one control line to work, update at a decent speed, and are relatively cheap.
Since assembling that project, a new RGB LED + controller solution has emerged on the market – the APA102(C)*. This chip uses an SPI-like interface with both a clock and data line. While consuming more IO, an interface with both clock and data can be driven with far less timing precision than the WS2812Bs which relied on precise delays.
Comparing the two, it seems clear that the APA102(C) is superior in all aspects but price:
| Min update timer/LED
|| 30us (24b @ 1.5us)
|| 1us (32b @ 32MHz)
| Max LEDs in series for 60fps
| PWM rate
| Price (qty 1000)
The key figure of merit here is the number of LEDs that can be run in series for a 60fps update rate. With the WS2812B, it was only possible to run 555 LEDs in series which wasn’t even one full 32×32 panel. The APA102 would theoretically allow twice the number of LEDs used in the original inner_face project to be run through a single SPI port running at 32MHz.
the C in the APA102C indicates its country of origin is China, while without the C (or with a T) indicates Taiwan. The Taiwanese-made LEDs have an improved heatsink and cost ~$0.15 more in qty 1000.