Schematic and everything you might need are available on github in the blinkencap repo.
The blinkencap will pulse a colour pattern when powered, but it's possible to override this behavior.
Because there are limited numbers of these ASICs to go around, the boards have two use cases: ASIC powered or manual style.
ASIC Powered
If you can get your hands on a TT05 ASIC (an integrated circuit produced during Tiny Tapeout run 05)--a chip that has over 170 user submitted projects within--then you can claim to have the one of the most over-engineered blinkenlights in existence.
All the parts are on the underside of the PCB, to preserve the beauty of this work of art. The ASIC QFN sits proudly at the top of the PCB, at an angle just 'cause it can, and basically does almost nothing.
On top of the clock and reset, each project gets 24 I/O... and here, we just use out[2:0] to drive the LED switches: the blinkencap shoots the lower 3 bits of the output port to control the RGB LED.
How to get the ASIC to control the lights? These chips have a I/O that can be shunted to and from individual projects, one at a time.
In order to get a project going, you need to select it using the on-board mux and (probably) clock it. Fear not, the SAO header has connections to the three multiplexer control pins and the project clock.
The protocol for the mux is described at https://github.com/TinyTapeout/tt-multiplexer/blob/main/docs/INFO.md but in essence you de-assert enable, pulse reset, and tick the increment line a number of times equal to the project id as specified on https://tinytapeout.com/runs/tt05/
Project 1, the "Factory Test", has a counter that will increment the out port on every clock cycle--so that's a good start.
No ASIC? No problem!
If you don't have a TT05 chip, no worries. The circuit will actually automatically toggle individual colours at different rates, thanks to the use of 3 relaxation oscillators made out of inverters from a hex schmitt-triggered inverter IC.
Each of these goes and twiddles the FET controlling one of the LEDs, at a rate determined by the RC combination in the feedback loop.
This signal has to go through a relatively high series resistance before hitting the gate. Which is nice, because it also allows either the ASIC, or you--through the SAO header--to override this and control the LEDs without needing to deal with lots of current.
SAO Pinout
The SAO header respects the basic layout of the SAOv2 (https://hackaday.io/project/175182-simple-add-ons-sao), though the SDA/SCL lines aren't used for i2c.
For boards with the ASIC populated, this will have
- GPIO1: project clock
- GPIO2: mux nRESET
- SCL: mux increment
- SDA: mux enable
For boards without an ASIC, the three LED control gates are on
- GPIO1: red
- GPIO2: green
- SCL: blue
I nominate this for at least "The Best Use Of Yellow Solder Mask Ever" award. Love it!