-
Notifications
You must be signed in to change notification settings - Fork 57
LED control
This section explains how the LEDs are controlled on OpenDeck boards. LEDs can be controlled using received MIDI messages or via connected components on board (local control).
See this page for details.
There are several modes which can be used to control the LEDs on OpenDeck boards. Control modes can be split into local, where LED is controlled via internal MIDI messages generated by buttons, encoders or analog components connected to the board, and MIDI in, where LED is controlled via incoming MIDI messages (both via DIN and USB).
- MIDI In: Note (Single value) - In this mode, notes are used to control LED state. Brightness and blink control aren't possible in this mode. Color for RGB LEDs in this mode cannot be controlled (it will always be set to red on match). LED is turned on in this mode if the following is true:
- Incoming MIDI channel equals to LED channel
- Incoming MIDI Note equals to LED activation ID
- Incoming MIDI velocity equals to LED activation value
- Local control: Note (Single value) - In this mode, buttons and FSR sensors connected to the board which are configured to send Note messages are used to control LED state. Brightness and blink control aren't possible in this mode. Color for RGB LEDs in this mode cannot be controlled (it will always be set to red on match). LED is turned on in this mode if the following is true:
- Local MIDI channel equals to LED channel
- Local MIDI Note equals to LED activation ID
- Local MIDI velocity equals to LED activation value
- MIDI In: CC (Single value) - In this mode, CC messages are used to control LED state/color. Brightness and blink control aren't possible in this mode. Color for RGB LEDs in this mode cannot be controlled (it will always be set to red on match). LED is turned on in this mode if the following is true:
- Incoming MIDI channel equals to LED channel
- Incoming MIDI CC index equals to LED activation ID
- Incoming MIDI CC value equals to LED activation value
- Local control: CC (Single value) - In this mode, buttons and FSR sensors connected to the board which are configured to send CC messages are used to control LED state. Brightness and blink control aren't possible in this mode. Color for RGB LEDs in this mode cannot be controlled (it will always be set to red on match). LED is turned on in this mode if the following is true:
- Local MIDI channel equals to LED channel
- Local MIDI CC index equals to LED activation ID
- Local MIDI CC value equals to LED activation value
- Program change (Single value) - In this mode, program change messages are used to control LED state/color. LED activation value is ignored in this mode. Brightness and blink control aren't possible in this mode. Color for RGB LEDs in this mode cannot be controlled (it will always be set to red on match). In this mode, both MIDI in and local Program Change messages are used so that the LED state is always in sync. LED is turned on in this mode if the following is true:
- MIDI channel equals to LED channel
- MIDI program value equals to LED activation ID
- MIDI In: Note (Multi value) - In this mode, notes are used to control LED state. Brightness and blink control are possible in this mode. Color for RGB LEDs in this mode can be controlled. LED is turned on in this mode if the following is true:
- Incoming MIDI channel equals to LED channel
- Incoming MIDI Note equals to LED activation ID
- Incoming MIDI velocity is any value which doesn't turn the LED off (see Control values)
- Local control: Note (Multi value) - In this mode, notes are used to control LED state. Brightness and blink control are possible in this mode. Color for RGB LEDs in this mode can be controlled. LED is turned on in this mode if the following is true:
- Local MIDI channel equals to LED channel
- Local MIDI Note equals to LED activation ID
- Local MIDI velocity is any value which doesn't turn the LED off (see Control values)
- MIDI In: CC (Multi value) - In this mode, CC messages are used to control LED state. Brightness and blink control are possible in this mode. Color for RGB LEDs in this mode can be controlled. LED is turned on in this mode if the following is true:
- Incoming MIDI channel equals to LED channel
- Incoming MIDI CC index equals to LED activation ID
- Incoming MIDI CC value is any value which doesn't turn the LED off (see Control values)
- Local control: Note (Multi value) - In this mode, CC messages are used to control LED state. Brightness and blink control are possible in this mode. Color for RGB LEDs in this mode can be controlled. LED is turned on in this mode if the following is true:
- Incoming MIDI channel equals to LED channel
- Incoming MIDI CC index equals to LED activation ID
- Incoming MIDI CC value is any value which doesn't turn the LED off (see Control values)
- Preset change (Single value) - In this mode, LED is turned on if the current preset matches the LED activation ID. Color for RGB LEDs in this mode can't be controlled.
- Static / constantly on - In this mode LED is constantly on from the moment the board is powered on and doesn't react to any local or remote events.
Table below is valid for all Multi value control modes. When single color LEDs are used, color is ignored (when not off) so any value which doesn't turn the LED off will turn the LED on.
MIDI value | Color | Blink speed / timer | Blink speed / MIDI clock | Brightness |
---|---|---|---|---|
0 | Off | None | None | None |
1 | Off | None | None | None |
2 | Off | None | None | None |
3 | Off | None | None | None |
4 | Off | None | None | None |
5 | Off | None | None | None |
6 | Off | None | None | None |
7 | Off | None | None | None |
8 | Off | None | None | None |
9 | Off | None | None | None |
10 | Off | None | None | None |
11 | Off | None | None | None |
12 | Off | None | None | None |
13 | Off | None | None | None |
14 | Off | None | None | None |
15 | Off | None | None | None |
16 | Red | 1000ms | Whole note (48 pulses) | 25.00% |
17 | Red | 1000ms | Whole note (48 pulses) | 50.00% |
18 | Red | 1000ms | Whole note (48 pulses) | 75.00% |
19 | Red | 1000ms | Whole note (48 pulses) | 100.00% |
20 | Red | 500ms | ½ note (24 pulses) | 25.00% |
21 | Red | 500ms | ½ note (24 pulses) | 50.00% |
22 | Red | 500ms | ½ note (24 pulses) | 75.00% |
23 | Red | 500ms | ½ note (24 pulses) | 100.00% |
24 | Red | 250ms | ¼ note (12 pulses) | 25.00% |
25 | Red | 250ms | ¼ note (12 pulses) | 50.00% |
26 | Red | 250ms | ¼ note (12 pulses) | 75.00% |
27 | Red | 250ms | ¼ note (12 pulses) | 100.00% |
28 | Red | None | None | 25.00% |
29 | Red | None | None | 50.00% |
30 | Red | None | None | 75.00% |
31 | Red | None | None | 100.00% |
32 | Green | 1000ms | Whole note (48 pulses) | 25.00% |
33 | Green | 1000ms | Whole note (48 pulses) | 50.00% |
34 | Green | 1000ms | Whole note (48 pulses) | 75.00% |
35 | Green | 1000ms | Whole note (48 pulses) | 100.00% |
36 | Green | 500ms | ½ note (24 pulses) | 25.00% |
37 | Green | 500ms | ½ note (24 pulses) | 50.00% |
38 | Green | 500ms | ½ note (24 pulses) | 75.00% |
39 | Green | 500ms | ½ note (24 pulses) | 100.00% |
40 | Green | 250ms | ¼ note (12 pulses) | 25.00% |
41 | Green | 250ms | ¼ note (12 pulses) | 50.00% |
42 | Green | 250ms | ¼ note (12 pulses) | 75.00% |
43 | Green | 250ms | ¼ note (12 pulses) | 100.00% |
44 | Green | None | None | 25.00% |
45 | Green | None | None | 50.00% |
46 | Green | None | None | 75.00% |
47 | Green | None | None | 100.00% |
48 | Yellow | 1000ms | Whole note (48 pulses) | 25.00% |
49 | Yellow | 1000ms | Whole note (48 pulses) | 50.00% |
50 | Yellow | 1000ms | Whole note (48 pulses) | 75.00% |
51 | Yellow | 1000ms | Whole note (48 pulses) | 100.00% |
52 | Yellow | 500ms | ½ note (24 pulses) | 25.00% |
53 | Yellow | 500ms | ½ note (24 pulses) | 50.00% |
54 | Yellow | 500ms | ½ note (24 pulses) | 75.00% |
55 | Yellow | 500ms | ½ note (24 pulses) | 100.00% |
56 | Yellow | 250ms | ¼ note (12 pulses) | 25.00% |
57 | Yellow | 250ms | ¼ note (12 pulses) | 50.00% |
58 | Yellow | 250ms | ¼ note (12 pulses) | 75.00% |
59 | Yellow | 250ms | ¼ note (12 pulses) | 100.00% |
60 | Yellow | None | None | 25.00% |
61 | Yellow | None | None | 50.00% |
62 | Yellow | None | None | 75.00% |
63 | Yellow | None | None | 100.00% |
64 | Blue | 1000ms | Whole note (48 pulses) | 25.00% |
65 | Blue | 1000ms | Whole note (48 pulses) | 50.00% |
66 | Blue | 1000ms | Whole note (48 pulses) | 75.00% |
67 | Blue | 1000ms | Whole note (48 pulses) | 100.00% |
68 | Blue | 500ms | ½ note (24 pulses) | 25.00% |
69 | Blue | 500ms | ½ note (24 pulses) | 50.00% |
70 | Blue | 500ms | ½ note (24 pulses) | 75.00% |
71 | Blue | 500ms | ½ note (24 pulses) | 100.00% |
72 | Blue | 250ms | ¼ note (12 pulses) | 25.00% |
73 | Blue | 250ms | ¼ note (12 pulses) | 50.00% |
74 | Blue | 250ms | ¼ note (12 pulses) | 75.00% |
75 | Blue | 250ms | ¼ note (12 pulses) | 100.00% |
76 | Blue | None | None | 25.00% |
77 | Blue | None | None | 50.00% |
78 | Blue | None | None | 75.00% |
79 | Blue | None | None | 100.00% |
80 | Magenta | 1000ms | Whole note (48 pulses) | 25.00% |
81 | Magenta | 1000ms | Whole note (48 pulses) | 50.00% |
82 | Magenta | 1000ms | Whole note (48 pulses) | 75.00% |
83 | Magenta | 1000ms | Whole note (48 pulses) | 100.00% |
84 | Magenta | 500ms | ½ note (24 pulses) | 25.00% |
85 | Magenta | 500ms | ½ note (24 pulses) | 50.00% |
86 | Magenta | 500ms | ½ note (24 pulses) | 75.00% |
87 | Magenta | 500ms | ½ note (24 pulses) | 100.00% |
88 | Magenta | 250ms | ¼ note (12 pulses) | 25.00% |
89 | Magenta | 250ms | ¼ note (12 pulses) | 50.00% |
90 | Magenta | 250ms | ¼ note (12 pulses) | 75.00% |
91 | Magenta | 250ms | ¼ note (12 pulses) | 100.00% |
92 | Magenta | None | None | 25.00% |
93 | Magenta | None | None | 50.00% |
94 | Magenta | None | None | 75.00% |
95 | Magenta | None | None | 100.00% |
96 | Cyan | 1000ms | Whole note (48 pulses) | 25.00% |
97 | Cyan | 1000ms | Whole note (48 pulses) | 50.00% |
98 | Cyan | 1000ms | Whole note (48 pulses) | 75.00% |
99 | Cyan | 1000ms | Whole note (48 pulses) | 100.00% |
100 | Cyan | 500ms | ½ note (24 pulses) | 25.00% |
101 | Cyan | 500ms | ½ note (24 pulses) | 50.00% |
102 | Cyan | 500ms | ½ note (24 pulses) | 75.00% |
103 | Cyan | 500ms | ½ note (24 pulses) | 100.00% |
104 | Cyan | 250ms | ¼ note (12 pulses) | 25.00% |
105 | Cyan | 250ms | ¼ note (12 pulses) | 50.00% |
106 | Cyan | 250ms | ¼ note (12 pulses) | 75.00% |
107 | Cyan | 250ms | ¼ note (12 pulses) | 100.00% |
108 | Cyan | None | None | 25.00% |
109 | Cyan | None | None | 50.00% |
110 | Cyan | None | None | 75.00% |
111 | Cyan | None | None | 100.00% |
112 | White | 1000ms | Whole note (48 pulses) | 25.00% |
113 | White | 1000ms | Whole note (48 pulses) | 50.00% |
114 | White | 1000ms | Whole note (48 pulses) | 75.00% |
115 | White | 1000ms | Whole note (48 pulses) | 100.00% |
116 | White | 500ms | ½ note (24 pulses) | 25.00% |
117 | White | 500ms | ½ note (24 pulses) | 50.00% |
118 | White | 500ms | ½ note (24 pulses) | 75.00% |
119 | White | 500ms | ½ note (24 pulses) | 100.00% |
120 | White | 250ms | ¼ note (12 pulses) | 25.00% |
121 | White | 250ms | ¼ note (12 pulses) | 50.00% |
122 | White | 250ms | ¼ note (12 pulses) | 75.00% |
123 | White | 250ms | ¼ note (12 pulses) | 100.00% |
124 | White | None | None | 25.00% |
125 | White | None | None | 50.00% |
126 | White | None | None | 75.00% |
127 | White | None | None | 100.00% |
Hardware
- Supported microcontrollers
- Supported components
- Pinouts for supported boards
- Recommended components and where to get them
- LED indicators
Configuration and usage
Advanced