-
Notifications
You must be signed in to change notification settings - Fork 56
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:
- MIDI In: Note + CC - In this mode, notes are used to control LED state/color and CC messages to control blink state.
- MIDI In: CC + note - In this mode, CC messages are used to control LED state/color and notes to control blink state.
- MIDI In: Note / S+B - In this mode, notes are used to control both LED state/color and blinking.
- MIDI In: CC / S+B - In this mode, CC messages are used to control both LED state/color and blinking.
- MIDI In: Program change - In this mode, program change messages are used to control LED state/color. On RGB LEDs, color depends on MIDI program value. In this mode, LED activation value is ignored. Blink state setting isn't possible in this mode.
- Local control: Note - In this mode, buttons and FSR sensors connected to the board which are configured to send Note messages are used to control LED state/color only (no blinking).
- Local control: CC - In this mode, buttons and FSR sensors connected to the board which are configured to send CC messages are used to control LED state/color only (no blinking).
- Local control: Note / S+B - Same as MIDI In: Note / S+B, only components on board (buttons/FSRs) are controlling the LEDs.
- Local control: CC / S+B - Same as MIDI In: CC/ S+B, only components on board (buttons/FSRs) are controlling the LEDs.
- Local control: Program change - Same as MIDI In: Program change, only components on board (buttons/FSRs) are controlling the LEDs.
Table below shows values to control LED state/color and it's valid for following control modes:
- MIDI In: Note + CC
- MIDI In: CC + note
- MIDI In: Program change
- Local control: Note
- Local control: CC
- Local control: Program change
Velocity/control value/program range | Color |
---|---|
0-15 | Off |
16-31 | Red |
32-47 | Green |
48-63 | Yellow |
64-79 | Blue |
80-95 | Magenta |
96-111 | Cyan |
112-127 | White |
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.
Table below shows values to control LED blinking and it's valid for following control modes:
- MIDI In: Note + CC
- MIDI In: CC + note
To control the blinking, a CC or note message (depending on configuration) with same ID as LED activation ID must be sent to the board. Table below shows correlation with CC value/velocity and blink state/speed.
CC/velocity value | Blink speed |
---|---|
0-9 | 0/disabled |
10-19 | 100ms |
20-29 | 200ms |
30-39 | 300ms |
40-49 | 400ms |
50-59 | 500ms |
60-69 | 600ms |
70-79 | 700ms |
80-89 | 800ms |
90-99 | 900ms |
100-127 | 1000ms |
When "Blinking via MIDI clock" option is enabled, blink speed depends on MIDI clock rate, and depending on received MIDI value, clock divider is used. Table below shows the corresponding values:
CC/velocity value | MIDI clock pulses | Blink rate (musical notation) |
---|---|---|
0-9 | N/A | No blinking |
10-19 | 2 | 1/16 triplet |
20-29 | 3 | 1/16 note |
30-39 | 4 | 1/8 triplet note |
40-49 | 6 | 1/8 note |
50-59 | 9 | 1/8 dotted note |
60-69 | 12 | 1/4 note |
70-79 | 18 | 1/4 dotted note |
80-89 | 24 | 1/2 note |
90-99 | 36 | 1/2 dotted note |
100-127 | 48 | Whole note |
Table below shows values to control both LED state/color and LED blinking and it's valid for following control modes:
- MIDI In: Note / S+B
- MIDI In: CC / S+B
- Local control: Note / S+B
- Local control: CC / S+B
Velocity/control value | Color | Blink speed |
---|---|---|
0-15 | Off | 0/disabled |
16 | Red | 100ms |
17 | Red | 200ms |
18 | Red | 300ms |
19 | Red | 400ms |
20 | Red | 500ms |
21 | Red | 600ms |
22 | Red | 700ms |
23 | Red | 800ms |
24 | Red | 900ms |
25 | Red | 1000ms |
26-31 | Red | 0/disabled |
32 | Green | 100ms |
33 | Green | 200ms |
34 | Green | 300ms |
35 | Green | 400ms |
36 | Green | 500ms |
37 | Green | 600ms |
38 | Green | 700ms |
39 | Green | 800ms |
40 | Green | 900ms |
41 | Green | 1000ms |
42-47 | Green | 0/disabled |
48 | Yellow | 100ms |
49 | Yellow | 200ms |
50 | Yellow | 300ms |
51 | Yellow | 400ms |
52 | Yellow | 500ms |
53 | Yellow | 600ms |
54 | Yellow | 700ms |
55 | Yellow | 800ms |
56 | Yellow | 900ms |
57 | Yellow | 1000ms |
58-63 | Yellow | 0/disabled |
64 | Blue | 100ms |
65 | Blue | 200ms |
66 | Blue | 300ms |
67 | Blue | 400ms |
68 | Blue | 500ms |
69 | Blue | 600ms |
70 | Blue | 700ms |
71 | Blue | 800ms |
72 | Blue | 900ms |
73 | Blue | 1000ms |
74-79 | Blue | 0/disabled |
80 | Magenta | 100ms |
81 | Magenta | 200ms |
82 | Magenta | 300ms |
83 | Magenta | 400ms |
84 | Magenta | 500ms |
85 | Magenta | 600ms |
86 | Magenta | 700ms |
87 | Magenta | 800ms |
88 | Magenta | 900ms |
89 | Magenta | 1000ms |
90-95 | Magenta | 0/disabled |
96 | Cyan | 100ms |
97 | Cyan | 200ms |
98 | Cyan | 300ms |
99 | Cyan | 400ms |
100 | Cyan | 500ms |
101 | Cyan | 600ms |
102 | Cyan | 700ms |
103 | Cyan | 800ms |
104 | Cyan | 900ms |
105 | Cyan | 1000ms |
106-111 | Cyan | 0/disabled |
112 | White | 100ms |
113 | White | 200ms |
114 | White | 300ms |
115 | White | 400ms |
116 | White | 500ms |
117 | White | 600ms |
118 | White | 700ms |
119 | White | 800ms |
120 | White | 900ms |
121 | White | 1000ms |
122-127 | White | 0/disabled |
When "Blinking via MIDI clock" option is enabled, blink speed depends on MIDI clock rate, and depending on received MIDI value, clock divider is used. Table below shows the corresponding values:
Velocity/control value | Color | MIDI clock pulses | Blink rate (musical notation) |
---|---|---|---|
0-15 | Off | N/A | |
16 | Red | 100ms | |
17 | Red | 200ms | |
18 | Red | 300ms | |
19 | Red | 400ms | |
20 | Red | 500ms | |
21 | Red | 600ms | |
22 | Red | 700ms | |
23 | Red | 800ms | |
24 | Red | 900ms | |
25 | Red | 1000ms | |
26-31 | Red | N/A | |
32 | Green | 100ms | |
33 | Green | 200ms | |
34 | Green | 300ms | |
35 | Green | 400ms | |
36 | Green | 500ms | |
37 | Green | 600ms | |
38 | Green | 700ms | |
39 | Green | 800ms | |
40 | Green | 900ms | |
41 | Green | 1000ms | |
42-47 | Green | N/A | |
48 | Yellow | 100ms | |
49 | Yellow | 200ms | |
50 | Yellow | 300ms | |
51 | Yellow | 400ms | |
52 | Yellow | 500ms | |
53 | Yellow | 600ms | |
54 | Yellow | 700ms | |
55 | Yellow | 800ms | |
56 | Yellow | 900ms | |
57 | Yellow | 1000ms | |
58-63 | Yellow | N/A | |
64 | Blue | 100ms | |
65 | Blue | 200ms | |
66 | Blue | 300ms | |
67 | Blue | 400ms | |
68 | Blue | 500ms | |
69 | Blue | 600ms | |
70 | Blue | 700ms | |
71 | Blue | 800ms | |
72 | Blue | 900ms | |
73 | Blue | 1000ms | |
74-79 | Blue | N/A | |
80 | Magenta | 100ms | |
81 | Magenta | 200ms | |
82 | Magenta | 300ms | |
83 | Magenta | 400ms | |
84 | Magenta | 500ms | |
85 | Magenta | 600ms | |
86 | Magenta | 700ms | |
87 | Magenta | 800ms | |
88 | Magenta | 900ms | |
89 | Magenta | 1000ms | |
90-95 | Magenta | N/A | |
96 | Cyan | 100ms | |
97 | Cyan | 200ms | |
98 | Cyan | 300ms | |
99 | Cyan | 400ms | |
100 | Cyan | 500ms | |
101 | Cyan | 600ms | |
102 | Cyan | 700ms | |
103 | Cyan | 800ms | |
104 | Cyan | 900ms | |
105 | Cyan | 1000ms | |
106-111 | Cyan | N/A | |
112 | White | 100ms | |
113 | White | 200ms | |
114 | White | 300ms | |
115 | White | 400ms | |
116 | White | 500ms | |
117 | White | 600ms | |
118 | White | 700ms | |
119 | White | 800ms | |
120 | White | 900ms | |
121 | White | 1000ms | |
122-127 | White | 0/disabled |
Hardware
- Supported microcontrollers
- Supported components
- Pinouts for supported boards
- Recommended components and where to get them
- LED indicators
Configuration and usage
Advanced