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

Recent posts on blogs I like:

Against Lyman Stone On Animal Welfare

Demographer Lyman Stone writes:

via Thing of Things March 21, 2025

Product in the age of AI

We’re seeing AI features pop up in every product we use. Slack, Google Drive, etc.

via Home March 18, 2025

How I've run major projects

focus • maintain a detailed plan for victory • run a fast OODA loop • overcommunicate • break off subprojects • have fun • bonus content: my project management starter kit

via benkuhn.net March 16, 2025

more     (via openring)