StatLight Commands

Welcome! If you're here, you've been roped into one of my mad ideas: LED control via MIDI! Sure, they have really nothing at all to do with each other, but hey, pretty lights are fun!

Checkout a demo video:

This project started as a crazy idea: A lot of external footswitches don't have status lights; you have no idea what they're controlling, or the status of something on the other end. And unfortunately, that's the doing of the manufacturer of whatever device you're wanting to control. But…what if we could shove some controllable LED's onto an aux switch, that you could send commands to and control your own statuses?

Well, here we are! The first product to be home of this design is a Compact 6-switch SideAux auxillary switch pairing with a Morningstar Engineering controller. Along with 6 footswitches (split into two sets of 3 to connect into 2 MC* Omniports), there are 7 RGB LEDs: one per footswitch, and one status LED.

You'll need to provide the unit power (standard pedalboard 9vdc center negative), and the 3.5mm port recieves MIDI: so you'll need to send MIDI into your StatLight unit from a MIDI Out on your MIDI Controller.

Every LED is controllable in color and brightness, as well as the ability to store and recall presets. So, lets get to it!

First, the MIDI channel. By default, I ship on MIDI Channel 14. But if you need to change it, no worry! You can send MIDI commands to change the channel to whatever you'd like.

During boot, the LED flashes specific colors to signify your MIDI Channel. Simply add up the colors to determine the channel you're currently on. The Reds will always come first, followed by the Greens, to hopefully make it easier to count/add them up:

RED = +5

Green = +1

If you want to change the MIDI channel, send PC125 and the config pixel will turn white, then PC1-16 of what you want it changed to. It'll reboot the controller, and you can count the flashes to check the channel.

As the switch boots up in normal mode, everything flashes blue for a second, that's the initial power on. Pretty quickly, they'll turn back off (so quick you might not notice).

Then, a Red/Green/Blue chase pattern will run as a status check of all of the lights.

Following this, the MIDI channel will be displayed, again in Binary format.

And finally, the switch is active/ready to receive MIDI and do light-stuff. The status pixel will turn a dim blue when it's ready.

The status pixel itself is uncontrollable, it is used to relay statuses. However you can enable/disable it's always-on-blue light if you want:

PC NumberWhat it does
119turn off standby blue light
120turn on standby blue light

As for the individual pixels, I've tried to make this as easy as possible, while fitting within MIDI spec. Each pixel is given a range of CC numbers, representing the Pixel + the Brightness. The first number is the pixel, the second number is the brightness

CCMeaning
#0Pixel # at 0 of 9 brightness
#1Pixel # at 1 of 9 brightness
#9Pixel # at 9 of 9 brightness
29Pixel 2, at 9 of 9 brightness
35Pixel 3, at 5 of 9 brightness
40Pixel 4, at 0 of 9 brightness (i.e. off)
70-79Control all pixels at once, with 0-9 brightness

The CC numbers 0-9 are used to control ALL pixels. So CC8 puts all pixels at the brightness level of 8 (out of 9)

The CC value controls the color in a Hue-control style manner;

ValueColor
0Off
1Red @ 100%
2->17Red @ 100%, Green ramping up
18Red & Green @ 100%
19->34Green @ 100%, Red ramping down
35Green @ 100%
36 -> 51Green @ 100%, Blue ramping up
52Green & Blue @ 100%
53-68Blue @ 100%, Green ramping down
69Blue @ 100%
70-85Blue @ 100%, Red ramping up
86Blue & Red @ 100%
87-102Red @ 100%, Blue ramping down
103Red @ 100%
104 -> 127Red, Green, and Blue all ramping from 1% -> 100%, creating “White”

If you want to save presets (a specific set of lights turned on to specific values/brightness), you can do that with Program Change commands, just like most pedals and presets.

First, setup the lights as you want.

Then, send PC126. This puts the controller in “Save Where?” mode with the Status LED lighting white.

Then, send the PC you want to save that setting into. PC1-100 are available to store into.

You will get a confirmation pixel flash, and you're done! To recall it, simply send PC<wherever you stored it>

Single Pixel Mode

Single Pixel Mode.  This mode only allows 1 of the switch-pixels to be on at a time.  When you send a command to light one, it'll turn off the others. This is useful for when you use lights to track what bank you're on or something, you won't need to send OFF commands to the other pixels. The pixel mode does save across reboots, so you can pick your mode and tha'ts how it'll run until you pick otherwise.

  • When the controller boots, you can tell what mode it's in. During the RGBW chase, if all of the lights stay lit at the same color, it's in normal mode. If the pixels only light one-at-a-time, it's in single pixel mode
  • PC122 to activate Single Pixel mode
  • PC121 to go back to Normal Mode (it only does what you tell it)

Random Color Mode

Just want to have some fun? Send PC113 over and over!