Skip to content

LED control

paradajz edited this page Apr 8, 2024 · 69 revisions

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).

Control parameters

See this page for details.

Control modes

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.

Control values

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%
Clone this wiki locally