Blinky Lights

October 21st, 2018
contra, jammer, music
My rhythm stage setup now has a lot of settings: toggles for piano, jawharp, bass winds, high and low drums, high and low footbass, plus which instrument I've set my jammer buttons to (accordion, sax, etc). I've been using my computer screen to show status for each of these settings, in text-only shorthand:
        dh             acc
  fh    dh             acc
  fh                   acc
  fh                   sax
That's saying I:
  1. turned on high drums
  2. turned on high footbass
  3. turned off high drums
  4. switched buttons from accordion to sax
My laptop isn't easy to see when I'm playing, though, so I wanted some little LEDs to show status. I asked for suggestions and ended up going with the Blinkstick Strip:

I have the lights set at 20% brightness for now; I find that at full brightness they're painful to look at. Stages are usually reasonably dark, so this seems about right. They're still too bright for my camera to do a good job with, though.

For most of this project I've been using as low level a Mac API as possible because I want to minimize latency, this isn't needed with status lights. It comes with a python interface (blinkstick-python) and I wrote a little UDP wrapper (blinksticknet) which I've now updated my central code to use (jammermidilib.h:set_light). The protocol is just four byte udp packets: one byte for which light, then one byte each for red, green, and blue channels. Here's what this looks like end to end:

(The thing I'm demonstrating at the beginning is that for me left foot I can have it make any combination of drums / no drums and bass / no bass. I'm representing this with one light that can be red or not, and blue or not, with purple for when they're both on at once.)

Comment via: google plus, facebook, substack

Recent posts on blogs I like:

Thing of Things AI use policy

dynomight recently wrote an article calling for bloggers to state publicly whether and how they use AI

via Thing of Things July 6, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

Variable fonts aren't universally supported

I make a lot of webpages. I also use Lockdown Mode on iOS and MacOS for a bit of extra security. Sometimes I realize that I forgot to test on Safari and it looks like crap, or I test and don’t notice that there’s been a problem for months (as was the case…

via Home June 27, 2026

more     (via openring)