Dotstar pixels normally requires 4 wires: +, -, clock and data, which makes them incompatible with standard pogo pins connectors which of course have 3 connections.
However, I can think of several different ways to make that work with 3 wires:
- Put the clock signal together with + or -; Since the power is low frequency, and the clock is high frequency, we can use capacitors to separate the signals.
- use different voltages for ones and zeroes.
- Use a protocol similar to WS2811, but much faster. Something like like 33ns of “high” for a 0 and 66ns of high for a 1.
Out of all these, I think (3) might be the simplest, because the existing WS2811 code can already generate the signal, and all we would need to decode it would be a 50ns digital delay. For a zero, the data signal will have already dropped by the time the delay is over. For a one, the data signal will still be high when we raise the clock signal.
The protocol is a little different for dotstar pixels, but that should be easy to fix in the code. Not sure how well the CPU will keep up with outputting a new bit every 8 cycles though…