Skip to content

Connections

paradajz edited this page May 6, 2019 · 103 revisions

This section will explain how to connect various components to OpenDeck-compatible boards.

Note: When configuring components using SysEx, component ID is number specified in one of the tables below diminished by 1, ie. SysEx index for Button #1 is 0.

Buttons

Button is a very simple device which has only two states: on or off. Two of the most common types of switches are momentary and sliding. Momentary is in "on" state while button is pressed. Upon release, state becomes "off". Sliding or "latching" will stay in same state until it's pressed or moved again. Note that momentary buttons can be configured to act as latching ones in software.

Momentary switches usually have two or four pins. In four-pin configuration, two pins close to each other are actually duplicates, so there are really only two pins. When connecting, use any two pins from opposite sides. Note that button pins are interchangeable and can be connected in any order.

Slide switches usually have 3 pins. Only two pins should be connected: middle and any pin from edge. Depending on which border pin is connected, button will have different state when in left or right position.

Official OpenDeck board

Buttons are connected to pin headers marked IH1-IH8 on board. A total of 64 buttons can be connected to those inputs. Table below displays pins on which buttons should be connected on OpenDeck board.

Note: Right side of pin header IH7 is labeled incorectly like this (top to bottom):

R5-R6-R5-R6-R5-R6-R5-R6

Correct labeling is this: R5-R6-R6-R5-R7-R8-R8-R7

Thanks to Jazzy Gerard for reporting this!

Button # Pin 1 Pin 2
1 R1 C1
2 R1 C2
3 R1 C3
4 R1 C4
5 R1 C5
6 R1 C6
7 R1 C7
8 R1 C8
9 R2 C1
10 R2 C2
11 R2 C3
12 R2 C4
13 R2 C5
14 R2 C6
15 R2 C7
16 R2 C8
17 R3 C1
18 R3 C2
19 R3 C3
20 R3 C4
21 R3 C5
22 R3 C6
23 R3 C7
24 R3 C8
25 R4 C1
26 R4 C2
27 R4 C3
28 R4 C4
29 R4 C5
30 R4 C6
31 R4 C7
32 R4 C8
33 R5 C1
34 R5 C2
35 R5 C3
36 R5 C4
37 R5 C5
38 R5 C6
39 R5 C7
40 R5 C8
41 R6 C1
42 R6 C2
43 R6 C3
44 R6 C4
45 R6 C5
46 R6 C6
47 R6 C7
48 R6 C8
49 R7 C1
50 R7 C2
51 R7 C3
52 R7 C4
53 R7 C5
54 R7 C6
55 R7 C7
56 R7 C8
57 R8 C1
58 R8 C2
59 R8 C3
60 R8 C4
61 R8 C5
62 R8 C6
63 R8 C7
64 R8 C8

Additional buttons can be connected to analog inputs. Note that analog input has to be converted to digital input in software in order to connect button to it. Analog inputs are marked AH1-AH8 on board. Table below shows button IDs and pins on which to connect buttons on analog inputs (button pins are interchangeable). Button pin not connected to positive voltage should be connected to GND via 10k resistor to avoid jumping of values.

Button # Pin 1 Pin 1 Pin 2
65 AH1-1 GND with 10k resistor AH2/AH4 3v3
66 AH1-2 GND with 10k resistor AH2/AH4 3v3
67 AH1-3 GND with 10k resistor AH2/AH4 3v3
68 AH1-4 GND with 10k resistor AH2/AH4 3v3
69 AH1-5 GND with 10k resistor AH2/AH4 3v3
70 AH1-6 GND with 10k resistor AH2/AH4 3v3
71 AH1-7 GND with 10k resistor AH2/AH4 3v3
72 AH1-8 GND with 10k resistor AH2/AH4 3v3
73 AH1-9 GND with 10k resistor AH2/AH4 3v3
74 AH1-10 GND with 10k resistor AH2/AH4 3v3
75 AH1-11 GND with 10k resistor AH2/AH4 3v3
76 AH1-12 GND with 10k resistor AH2/AH4 3v3
77 AH1-13 GND with 10k resistor AH2/AH4 3v3
78 AH1-14 GND with 10k resistor AH2/AH4 3v3
79 AH1-15 GND with 10k resistor AH2/AH4 3v3
80 AH1-16 GND with 10k resistor AH2/AH4 3v3
81 AH3-17 GND with 10k resistor AH2/AH4 3v3
82 AH3-18 GND with 10k resistor AH2/AH4 3v3
83 AH3-19 GND with 10k resistor AH2/AH4 3v3
84 AH3-20 GND with 10k resistor AH2/AH4 3v3
85 AH3-21 GND with 10k resistor AH2/AH4 3v3
86 AH3-22 GND with 10k resistor AH2/AH4 3v3
87 AH3-23 GND with 10k resistor AH2/AH4 3v3
88 AH3-24 GND with 10k resistor AH2/AH4 3v3
89 AH3-25 GND with 10k resistor AH2/AH4 3v3
90 AH3-26 GND with 10k resistor AH2/AH4 3v3
91 AH3-27 GND with 10k resistor AH2/AH4 3v3
92 AH3-28 GND with 10k resistor AH2/AH4 3v3
93 AH3-29 GND with 10k resistor AH2/AH4 3v3
94 AH3-30 GND with 10k resistor AH2/AH4 3v3
95 AH3-31 GND with 10k resistor AH2/AH4 3v3
96 AH3-32 GND with 10k resistor AH2/AH4 3v3

Arduino Uno

A total of 6 buttons can be connected to digital inputs on Arduino Uno. Table below displays pins on which buttons should be connected.

Button # Pin 1 Pin 2
1 2 GND
2 3 GND
3 4 GND
4 5 GND
5 6 GND
6 7 GND

Additional buttons can be connected to analog inputs. Note that analog input has to be converted to digital input in software in order to connect button to it. Table below shows button IDs and pins on which to connect buttons on analog inputs (button pins are interchangeable). Button pin not connected to positive voltage should be connected to GND via 10k resistor to avoid jumping of values.

Button # Pin 1 Pin 1 Pin 2
7 A0 GND with 10k resistor 5V
8 A1 GND with 10k resistor 5V
9 A2 GND with 10k resistor 5V
10 A3 GND with 10k resistor 5V
11 A4 GND with 10k resistor 5V
12 A5 GND with 10k resistor 5V

Arduino Pro Micro

A total of 6 buttons can be connected to digital inputs on Arduino Pro Micro. Table below displays pins on which buttons should be connected.

Button # Pin 1 Pin 2
1 2 GND
2 3 GND
3 4 GND
4 5 GND
5 6 GND
6 7 GND

Additional buttons can be connected to analog inputs. Note that analog input has to be converted to digital input in software in order to connect button to it. Table below shows button IDs and pins on which to connect buttons on analog inputs (button pins are interchangeable). Button pin not connected to positive voltage should be connected to GND via 10k resistor to avoid jumping of values.

Button # Pin 1 Pin 1 Pin 2
7 A0 GND with 10k resistor 5V
8 A1 GND with 10k resistor 5V
9 A2 GND with 10k resistor 5V
10 A3 GND with 10k resistor 5V

Arduino Leonardo

A total of 8 buttons can be connected to digital inputs on Arduino Leonardo. Table below displays pins on which buttons should be connected.

Button # Pin 1 Pin 2
1 2 GND
2 3 GND
3 4 GND
4 5 GND
5 6 GND
6 7 GND
7 SCK GND
8 MISO GND

Additional buttons can be connected to analog inputs. Note that analog input has to be converted to digital input in software in order to connect button to it. Table below shows button IDs and pins on which to connect buttons on analog inputs (button pins are interchangeable). Button pin not connected to positive voltage should be connected to GND via 10k resistor to avoid jumping of values.

Button # Pin 1 Pin 1 Pin 2
9 A0 GND with 10k resistor 5V
10 A1 GND with 10k resistor 5V
11 A2 GND with 10k resistor 5V
12 A3 GND with 10k resistor 5V
13 A4 GND with 10k resistor 5V
14 A5 GND with 10k resistor 5V

Arduino Mega2560 / Meduino Mega2560

A total of 32 buttons can be connected to digital inputs on Arduino Mega. Table below displays pins on which buttons should be connected.

Button # Pin 1 Pin 2
1 52 GND
2 50 GND
3 48 GND
4 46 GND
5 44 GND
6 42 GND
7 40 GND
8 38 GND
9 36 GND
10 34 GND
11 32 GND
12 30 GND
13 28 GND
14 26 GND
15 24 GND
16 22 GND
17 53 GND
18 51 GND
19 49 GND
20 47 GND
21 45 GND
22 43 GND
23 41 GND
24 39 GND
25 37 GND
26 35 GND
27 33 GND
28 31 GND
29 29 GND
30 27 GND
31 25 GND
32 23 GND

Additional buttons can be connected to analog inputs. Note that analog input has to be converted to digital input in software in order to connect button to it. Table below shows button IDs and pins on which to connect buttons on analog inputs (button pins are interchangeable). Button pin not connected to positive voltage should be connected to GND via 10k resistor to avoid jumping of values.

Button # Pin 1 Pin 1 Pin 2
33 A0 GND with 10k resistor 5V
34 A1 GND with 10k resistor 5V
35 A2 GND with 10k resistor 5V
36 A3 GND with 10k resistor 5V
37 A4 GND with 10k resistor 5V
38 A5 GND with 10k resistor 5V
39 A6 GND with 10k resistor 5V
40 A7 GND with 10k resistor 5V
41 A8 GND with 10k resistor 5V
42 A9 GND with 10k resistor 5V
43 A10 GND with 10k resistor 5V
44 A11 GND with 10k resistor 5V
45 A12 GND with 10k resistor 5V
46 A13 GND with 10k resistor 5V
47 A14 GND with 10k resistor 5V
48 A15 GND with 10k resistor 5V

Teensy++ 2.0

A total of 16 buttons can be connected to digital inputs on Teensy++ 2.0. Table below displays pins on which buttons should be connected.

Button # Pin 1 Pin 2
1 B6 GND
2 B5 GND
3 B4 GND
4 B3 GND
5 B2 GND
6 B1 GND
7 B0 GND
8 E7 GND
9 E6 GND
10 A0 GND
11 A5 GND
12 A1 GND
13 A6 GND
14 A2 GND
15 A7 GND
16 A3 GND

Additional buttons can be connected to analog inputs. Note that analog input has to be converted to digital input in software in order to connect button to it. Table below shows button IDs and pins on which to connect buttons on analog inputs (button pins are interchangeable). Button pin not connected to positive voltage should be connected to GND via 10k resistor to avoid jumping of values.

Button # Pin 1 Pin 1 Pin 2
17 F0 GND with 10k resistor 5V
18 F1 GND with 10k resistor 5V
19 F2 GND with 10k resistor 5V
20 F3 GND with 10k resistor 5V
21 F4 GND with 10k resistor 5V
22 F5 GND with 10k resistor 5V
23 F6 GND with 10k resistor 5V
24 F7 GND with 10k resistor 5V

Rotary encoders

Rotary encoder is a device which converts motion into a certain code (usually Gray code). Rotary encoder outputs two signals, called A and B. Those signals are 90 degree out of phase. This is called quadrature signal. Basically, encoder acts like two buttons with rapid state-switching, so in order to connect encoders on OpenDeck boards, digital inputs are used. Encoder also must be enabled using software. Two inputs are needed to connect single encoder. Rotary encoder has three pins: A and B (left and right or 1 and 3) and ground connection in the middle (pin 2). Note that pins 1 and 3 can be reversed - the only thing that changes in that case is the direction of the encoder.

Official OpenDeck board

Since OpenDeck supports 64 digital inputs, 32 is the maximum number of encoders which can be used. Note that encoders, unlike buttons, cannot be connected to analog inputs. Table below shows pins used to connect encoders on OpenDeck board. Encoders are connected to same pin headers are buttons (IH1-IH8).

Encoder # Pin 1 Pin 2 Pin 3
1 R1 C1 R2
2 R1 C2 R2
3 R1 C3 R2
4 R1 C4 R2
5 R1 C5 R2
6 R1 C6 R2
7 R1 C7 R2
8 R1 C8 R2
9 R3 C1 R4
10 R3 C2 R4
11 R3 C3 R4
12 R3 C4 R4
13 R3 C5 R4
14 R3 C6 R4
15 R3 C7 R4
16 R3 C8 R4
17 R5 C1 R6
18 R5 C2 R6
19 R5 C3 R6
20 R5 C4 R6
21 R5 C5 R6
22 R5 C6 R6
23 R5 C7 R6
24 R5 C8 R6
25 R7 C1 R8
26 R7 C2 R8
27 R7 C3 R8
28 R7 C4 R8
29 R7 C5 R8
30 R7 C6 R8
31 R7 C7 R8
32 R7 C8 R8

Arduino Uno

Since Arduino Uno supports 6 digital inputs, 3 is the maximum number of encoders which can be used. Note that encoders, unlike buttons, cannot be connected to analog inputs. Table below shows pins used to connect encoders on Arduino Uno board.

Encoder # Pin 1 Pin 2 Pin 3
1 2 GND 3
2 4 GND 5
3 6 GND 7

Arduino Pro Micro

Since Arduino Pro Micro supports 6 digital inputs, 3 is the maximum number of encoders which can be used. Note that encoders, unlike buttons, cannot be connected to analog inputs. Table below shows pins used to connect encoders on Arduino Pro Micro board.

Encoder # Pin 1 Pin 2 Pin 3
1 2 GND 3
2 4 GND 5
3 6 GND 7

Arduino Leonardo

Since Arduino Leonardo supports 6 digital inputs, 3 is the maximum number of encoders which can be used. Note that encoders, unlike buttons, cannot be connected to analog inputs. Table below shows pins used to connect encoders on Arduino Leonardo board.

Encoder # Pin 1 Pin 2 Pin 3
1 2 GND 3
2 4 GND 5
3 6 GND 7

Arduino Mega2560 / Meduino Mega2560

Since Arduino Mega supports 32 digital inputs, 16 is the maximum number of encoders which can be used. Note that encoders, unlike buttons, cannot be connected to analog inputs. Table below shows pins used to connect encoders on Arduino Mega board.

Encoder # Pin 1 Pin 2 Pin 3
1 52 GND 50
2 48 GND 46
3 44 GND 42
4 40 GND 38
5 36 GND 34
6 32 GND 30
7 28 GND 26
8 24 GND 22
9 53 GND 51
10 49 GND 47
11 45 GND 43
12 41 GND 39
13 37 GND 35
14 33 GND 31
15 29 GND 27
16 25 GND 23

Teensy++ 2.0

Since Teensy++ 2.0 supports 16 digital inputs, 8 is the maximum number of encoders which can be used. Note that encoders, unlike buttons, cannot be connected to analog inputs. Table below shows pins used to connect encoders on Teensy++ 2.0 board.

Encoder # Pin 1 Pin 2 Pin 3
1 B6 GND B5
2 B4 GND B3
3 B2 GND B1
4 B0 GND E7
5 E6 GND A0
6 A5 GND A1
7 A6 GND A2
8 A7 GND A3

Potentiometers

Potentiometer is a variable resistor. Depending on its position, resistance across potentiometer terminals changes which forms voltage divider. Two of the most common potentiometer types are rotary and sliding potentiometer.

Potentiometer has three pins. On rotary potentiometers, left and right pin need to be connected to positive voltage source and ground. Those connections can be reversed, but potentiometer will change direction in that case. Middle pin is the signal. On sliding and other kinds of potentiometers, refer to datasheet to find the pinout.

Official OpenDeck board

OpenDeck board supports a total of 32 potentiometers. Pin headers for analog inputs are marked AH1-AH4 on board. Table below shows correct way of connecting potentiometers to OpenDeck board.

Note: Official OpenDeck board supports 32 analog connections, however, only 16 3v3/GND connections are available on the analog section on the board. This is on purpose - daisy-chained 3v3/GND connections should be used on two or more (above 8 isn't recommended) analog components to reduce the length of wires in analog wiring. More wires/longer wires can easily result in increased signal noise level which is manifested as erratic analog readouts.

Potentiometer # Pin 1 Pin 2 Pin 3
1 AH2/AH4 GND AH1-1 AH2/AH4 3v3
2 AH2/AH4 GND AH1-2 AH2/AH4 3v3
3 AH2/AH4 GND AH1-3 AH2/AH4 3v3
4 AH2/AH4 GND AH1-4 AH2/AH4 3v3
5 AH2/AH4 GND AH1-5 AH2/AH4 3v3
6 AH2/AH4 GND AH1-6 AH2/AH4 3v3
7 AH2/AH4 GND AH1-7 AH2/AH4 3v3
8 AH2/AH4 GND AH1-8 AH2/AH4 3v3
9 AH2/AH4 GND AH1-9 AH2/AH4 3v3
10 AH2/AH4 GND AH1-10 AH2/AH4 3v3
11 AH2/AH4 GND AH1-11 AH2/AH4 3v3
12 AH2/AH4 GND AH1-12 AH2/AH4 3v3
13 AH2/AH4 GND AH1-13 AH2/AH4 3v3
14 AH2/AH4 GND AH1-14 AH2/AH4 3v3
15 AH2/AH4 GND AH1-15 AH2/AH4 3v3
16 AH2/AH4 GND AH1-16 AH2/AH4 3v3
17 AH2/AH4 GND AH3-17 AH2/AH4 3v3
18 AH2/AH4 GND AH3-18 AH2/AH4 3v3
19 AH2/AH4 GND AH3-19 AH2/AH4 3v3
20 AH2/AH4 GND AH3-20 AH2/AH4 3v3
21 AH2/AH4 GND AH3-21 AH2/AH4 3v3
22 AH2/AH4 GND AH3-22 AH2/AH4 3v3
23 AH2/AH4 GND AH3-23 AH2/AH4 3v3
24 AH2/AH4 GND AH3-24 AH2/AH4 3v3
25 AH2/AH4 GND AH3-25 AH2/AH4 3v3
26 AH2/AH4 GND AH3-26 AH2/AH4 3v3
27 AH2/AH4 GND AH3-27 AH2/AH4 3v3
28 AH2/AH4 GND AH3-28 AH2/AH4 3v3
29 AH2/AH4 GND AH3-29 AH2/AH4 3v3
30 AH2/AH4 GND AH3-30 AH2/AH4 3v3
31 AH2/AH4 GND AH3-31 AH2/AH4 3v3
32 AH2/AH4 GND AH3-32 AH2/AH4 3v3

Arduino Uno

Arduino Uno board supports a total of 6 potentiometers. Table below shows correct way of connecting potentiometers to Arduino Uno board.

Potentiometer # Pin 1 Pin 2 Pin 3
1 5V A0 GND
2 5V A1 GND
3 5V A2 GND
4 5V A3 GND
5 5V A4 GND
6 5V A5 GND

Arduino Pro Micro

Arduino Pro Micro board supports a total of 4 potentiometers. Table below shows correct way of connecting potentiometers to Arduino Pro Micro board.

Potentiometer # Pin 1 Pin 2 Pin 3
1 5V A0 GND
2 5V A1 GND
3 5V A2 GND
4 5V A3 GND

Arduino Leonardo

Arduino Leonardo board supports a total of 6 potentiometers. Table below shows correct way of connecting potentiometers to Arduino Leonardo board.

Potentiometer # Pin 1 Pin 2 Pin 3
1 5V A0 GND
2 5V A1 GND
3 5V A2 GND
4 5V A3 GND
5 5V A4 GND
6 5V A5 GND

Arduino Mega2560 / Meduino Mega2560

Arduino Mega board supports a total of 16 potentiometers. Table below shows correct way of connecting potentiometers to Arduino Mega board.

Potentiometer # Pin 1 Pin 2 Pin 3
1 5V A0 GND
2 5V A1 GND
3 5V A2 GND
4 5V A3 GND
5 5V A4 GND
6 5V A5 GND
7 5V A6 GND
8 5V A7 GND
9 5V A8 GND
10 5V A9 GND
11 5V A10 GND
12 5V A11 GND
13 5V A12 GND
14 5V A13 GND
15 5V A14 GND
16 5V A15 GND

Teensy++ 2.0

Teensy++ 2.0 board supports a total of 8 potentiometers. Table below shows correct way of connecting potentiometers to Teensy++ 2.0 board.

Potentiometer # Pin 1 Pin 2 Pin 3
1 5V F0 GND
2 5V F1 GND
3 5V F2 GND
4 5V F3 GND
5 5V F4 GND
6 5V F5 GND
7 5V F6 GND
8 5V F7 GND

FSRs

FSR stands for Force Sensitive Resistor. It is a special kind of resistor which changes resistance when force or pressure is applied to it.

While FSR can be used as standard potentiometer, it is recommended to set analog input on which FSR is connected to FSR type. In that case, FSR will act as a button, with velocity being initial pressure on FSR.

Official OpenDeck board

OpenDeck supports a total of 32 FSRs. One pin of FSR should be connected to positive voltage on analog inputs (marked + on board). Second pin should be connected to analog input. Additionally, FSR requires 1k resistor connected between ground and signal pin, making it the only component which requires external component when connecting it to OpenDeck board. While not necessary, it is also recommended to connect external 10nF capacitor between FSR signal and ground (A-) for increased stability. Table below shows correct way of connecting FSRs to OpenDeck board.

FSR # Pin 1 Pin 2 Pin 2
1 A+ AS1 A- with 1k resistor
2 A+ AS2 A- with 1k resistor
3 A+ AS3 A- with 1k resistor
4 A+ AS4 A- with 1k resistor
5 A+ AS5 A- with 1k resistor
6 A+ AS6 A- with 1k resistor
7 A+ AS7 A- with 1k resistor
8 A+ AS8 A- with 1k resistor
9 A+ AS9 A- with 1k resistor
10 A+ AS10 A- with 1k resistor
11 A+ AS11 A- with 1k resistor
12 A+ AS12 A- with 1k resistor
13 A+ AS13 A- with 1k resistor
14 A+ AS14 A- with 1k resistor
15 A+ AS15 A- with 1k resistor
16 A+ AS16 A- with 1k resistor
17 A+ AS17 A- with 1k resistor
18 A+ AS18 A- with 1k resistor
19 A+ AS19 A- with 1k resistor
20 A+ AS20 A- with 1k resistor
21 A+ AS21 A- with 1k resistor
22 A+ AS22 A- with 1k resistor
23 A+ AS23 A- with 1k resistor
24 A+ AS24 A- with 1k resistor
25 A+ AS25 A- with 1k resistor
26 A+ AS26 A- with 1k resistor
27 A+ AS27 A- with 1k resistor
28 A+ AS28 A- with 1k resistor
29 A+ AS29 A- with 1k resistor
30 A+ AS30 A- with 1k resistor
31 A+ AS31 A- with 1k resistor
32 A+ AS32 A- with 1k resistor

Arduino Uno

Arduino Unoboard supports a total of 6 FSRs. One pin of FSR should be connected to positive voltage (5V). Second pin should be connected to analog input. Additionally, FSR requires 1k resistor connected between ground and signal pin. While not necessary, it is also recommended to connect external 10nF capacitor between FSR signal and ground for increased stability. Table below shows correct way of connecting FSRs to Arduino Uno board.

FSR # Pin 1 Pin 2 Pin 2
1 5V A0 GND with 1k resistor
2 5V A1 GND with 1k resistor
3 5V A2 GND with 1k resistor
4 5V A3 GND with 1k resistor
5 5V A4 GND with 1k resistor
6 5V A5 GND with 1k resistor

Arduino Pro Micro

Arduino Pro Micro board supports a total of 4 FSRs. One pin of FSR should be connected to positive voltage (5V). Second pin should be connected to analog input. Additionally, FSR requires 1k resistor connected between ground and signal pin. While not necessary, it is also recommended to connect external 10nF capacitor between FSR signal and ground for increased stability. Table below shows correct way of connecting FSRs to Arduino Pro Micro board.

FSR # Pin 1 Pin 2 Pin 2
1 5V A0 GND with 1k resistor
2 5V A1 GND with 1k resistor
3 5V A2 GND with 1k resistor
4 5V A3 GND with 1k resistor

Arduino Leonardo

Arduino Leonardo board supports a total of 6 FSRs. One pin of FSR should be connected to positive voltage (5V). Second pin should be connected to analog input. Additionally, FSR requires 1k resistor connected between ground and signal pin. While not necessary, it is also recommended to connect external 10nF capacitor between FSR signal and ground for increased stability. Table below shows correct way of connecting FSRs to Arduino Leonardo board.

FSR # Pin 1 Pin 2 Pin 2
1 5V A0 GND with 1k resistor
2 5V A1 GND with 1k resistor
3 5V A2 GND with 1k resistor
4 5V A3 GND with 1k resistor
5 5V A4 GND with 1k resistor
6 5V A5 GND with 1k resistor

Arduino Mega2560 / Meduino Mega2560

Arduino Mega board supports a total of 16 FSRs. One pin of FSR should be connected to positive voltage (5V). Second pin should be connected to analog input. Additionally, FSR requires 1k resistor connected between ground and signal pin. While not necessary, it is also recommended to connect external 10nF capacitor between FSR signal and ground for increased stability. Table below shows correct way of connecting FSRs to Arduino Mega board.

FSR # Pin 1 Pin 2 Pin 2
1 5V A0 GND with 1k resistor
2 5V A1 GND with 1k resistor
3 5V A2 GND with 1k resistor
4 5V A3 GND with 1k resistor
5 5V A4 GND with 1k resistor
6 5V A5 GND with 1k resistor
7 5V A6 GND with 1k resistor
8 5V A7 GND with 1k resistor
9 5V A8 GND with 1k resistor
10 5V A9 GND with 1k resistor
11 5V A10 GND with 1k resistor
12 5V A11 GND with 1k resistor
13 5V A12 GND with 1k resistor
14 5V A13 GND with 1k resistor
15 5V A14 GND with 1k resistor
16 5V A15 GND with 1k resistor

Teensy++ 2.0

Teensy++ 2.0 board supports a total of 16 FSRs. One pin of FSR should be connected to positive voltage (5V). Second pin should be connected to analog input. Additionally, FSR requires 1k resistor connected between ground and signal pin. While not necessary, it is also recommended to connect external 10nF capacitor between FSR signal and ground for increased stability. Table below shows correct way of connecting FSRs to Teensy++ 2.0 board.

FSR # Pin 1 Pin 2 Pin 2
1 5V F0 GND with 1k resistor
2 5V F1 GND with 1k resistor
3 5V F2 GND with 1k resistor
4 5V F3 GND with 1k resistor
5 5V F4 GND with 1k resistor
6 5V F5 GND with 1k resistor
7 5V F6 GND with 1k resistor
8 5V F7 GND with 1k resistor

Single-color LEDs

Single-color LED is a simple component which emits light when voltage is applied through anode and cathode.

Anode is usually longer of the two LED pins and cathode is shorter leg. All LED colors are supported.

Official OpenDeck board

OpenDeck supports a total of 48 single-color LEDs. OpenDeck board already contains resistors for LEDs, so external ones aren't required. LEDs are connected to pin headers marked OH1-OH8 on board. Table below shows correct way of connecting LEDs to OpenDeck board.

LED # Anode Cathode
1 R1 C1
2 R1 C2
3 R1 C3
4 R1 C4
5 R1 C5
6 R1 C6
7 R1 C7
8 R1 C8
9 R2 C1
10 R2 C2
11 R2 C3
12 R2 C4
13 R2 C5
14 R2 C6
15 R2 C7
16 R2 C8
17 R3 C1
18 R3 C2
19 R3 C3
20 R3 C4
21 R3 C5
22 R3 C6
23 R3 C7
24 R3 C8
25 R4 C1
26 R4 C2
27 R4 C3
28 R4 C4
29 R4 C5
30 R4 C6
31 R4 C7
32 R4 C8
33 R5 C1
34 R5 C2
35 R5 C3
36 R5 C4
37 R5 C5
38 R5 C6
39 R5 C7
40 R5 C8
41 R6 C1
42 R6 C2
43 R6 C3
44 R6 C4
45 R6 C5
46 R6 C6
47 R6 C7
48 R6 C8

Arduino Uno

Arduino Uno supports a total of 6 single-color LEDs. Note that current-limiting resistors are required in order to avoid damage to the board. Table below shows correct way of connecting LEDs to Arduino Uno board.

LED # Anode Cathode
1 8 GND
2 9 GND
3 10 GND
4 11 GND
5 12 GND
6 13 GND

Arduino Pro Micro

Arduino Pro Micro supports a total of 6 single-color LEDs. Note that current-limiting resistors are required in order to avoid damage to the board. Table below shows correct way of connecting LEDs to Arduino Pro Micro board.

LED # Anode Cathode
1 8 GND
2 9 GND
3 10 GND
4 16 GND
5 14 GND
6 15 GND

Arduino Leonardo

Arduino Leonardo supports a total of 6 single-color LEDs. Note that current-limiting resistors are required in order to avoid damage to the board. Table below shows correct way of connecting LEDs to Arduino Leonardo board.

LED # Anode Cathode
1 8 GND
2 9 GND
3 10 GND
4 11 GND
5 12 GND
6 13 GND

Arduino Mega2560 / Meduino Mega2560

Arduino Mega supports a total of 16 single-color LEDs. Note that current-limiting resistors are required in order to avoid damage to the board. Table below shows correct way of connecting LEDs to Arduino Mega board.

LED # Anode Cathode
1 17 GND
2 16 GND
3 15 GND
4 14 GND
5 2 GND
6 3 GND
7 4 GND
8 5 GND
9 6 GND
10 7 GND
11 8 GND
12 9 GND
13 10 GND
14 11 GND
15 12 GND
16 13 GND

Teensy++ 2.0

Teensy++ 2.0 supports a total of 16 single-color LEDs. Note that current-limiting resistors are required in order to avoid damage to the board. Table below shows correct way of connecting LEDs to Teensy++ 2.0 board.

LED # Anode Cathode
1 B7 GND
2 D4 GND
3 D5 GND
4 D6 GND
5 D7 GND
6 E0 GND
7 E1 GND
8 C0 GND
9 C1 GND
10 C2 GND
11 C3 GND
12 C4 GND
13 C5 GND
14 C6 GND
15 C7 GND
16 A4 GND

RGB LEDs

RGB LED is a combination of three LEDs. Different combinations of three colors are used to produce a new color. In order to use RGB LED, it must first be enabled using software.

RGB LEDs have four pins.

Official OpenDeck board

Since RGB LED requires three standard LED pins, only 16 RGB LEDs can be connected to OpenDeck board. Note that RGB LEDs come in two configurations: one is common cathode and other is common anode. OpenDeck board supports only common cathode LEDs. In common cathode configuration, the longest LED pin connects to ground, while other three connect to positive voltage source. RGB LEDs are connected to pin headers marked OH1-OH8 on board. Table below shows correct way of connecting RGB LEDs to OpenDeck board.

RGB LED # Anode (Red) Anode (Green) Anode (Blue) Cathode
1 R1 R2 R3 C1
2 R1 R2 R3 C2
3 R1 R2 R3 C3
4 R1 R2 R3 C4
5 R1 R2 R3 C5
6 R1 R2 R3 C6
7 R1 R2 R3 C7
8 R1 R2 R3 C8
9 R4 R5 R6 C1
10 R4 R5 R6 C2
11 R4 R5 R6 C3
12 R4 R5 R6 C4
13 R4 R5 R6 C5
14 R4 R5 R6 C6
15 R4 R5 R6 C7
16 R4 R5 R6 C8

Arduino Uno

Since RGB LED requires three standard LED pins, only 2 RGB LEDs can be connected to Arduino Uno board. Note that RGB LEDs come in two configurations: one is common cathode and other is common anode. Arduino Uno board supports only common cathode LEDs. In common cathode configuration, the longest LED pin connects to ground, while other three connect to positive voltage source. Table below shows correct way of connecting RGB LEDs to Arduino Uno board.

RGB LED # Anode (Red) Anode (Green) Anode (Blue) Cathode
1 8 9 10 GND
2 11 12 13 GND

Arduino Pro Micro

Since RGB LED requires three standard LED pins, only 2 RGB LEDs can be connected to Arduino Pro Micro board. Note that RGB LEDs come in two configurations: one is common cathode and other is common anode. Arduino Pro Micro board supports only common cathode LEDs. In common cathode configuration, the longest LED pin connects to ground, while other three connect to positive voltage source. Table below shows correct way of connecting RGB LEDs to Arduino Pro Micro board.

RGB LED # Anode (Red) Anode (Green) Anode (Blue) Cathode
1 8 9 10 GND
2 16 14 15 GND

Arduino Leonardo

Since RGB LED requires three standard LED pins, only 2 RGB LEDs can be connected to Arduino Leonardo board. Note that RGB LEDs come in two configurations: one is common cathode and other is common anode. Arduino Leonardo board supports only common cathode LEDs. In common cathode configuration, the longest LED pin connects to ground, while other three connect to positive voltage source. Table below shows correct way of connecting RGB LEDs to Arduino Leonardo board.

RGB LED # Anode (Red) Anode (Green) Anode (Blue) Cathode
1 8 9 10 GND
2 11 12 13 GND

Arduino Mega2560 / Meduino Mega2560

Since RGB LED requires three standard LED pins, only 5 RGB LEDs can be connected to Arduino Mega board. Note that RGB LEDs come in two configurations: one is common cathode and other is common anode. Arduino Mega board supports only common cathode LEDs. In common cathode configuration, the longest LED pin connects to ground, while other three connect to positive voltage source. Table below shows correct way of connecting RGB LEDs to Arduino Mega board.

RGB LED # Anode (Red) Anode (Green) Anode (Blue) Cathode
1 17 16 15 GND
2 14 2 3 GND
3 4 5 6 GND
4 7 8 9 GND
5 10 11 12 GND

Teensy++ 2.0

Since RGB LED requires three standard LED pins, only 5 RGB LEDs can be connected to Teensy++ 2.0 board. Note that RGB LEDs come in two configurations: one is common cathode and other is common anode. Teensy++ 2.0 board supports only common cathode LEDs. In common cathode configuration, the longest LED pin connects to ground, while other three connect to positive voltage source. Table below shows correct way of connecting RGB LEDs to Teensy++ 2.0 board.

RGB LED # Anode (Red) Anode (Green) Anode (Blue) Cathode
1 B7 D4 D5 GND
2 D6 D7 E0 GND
3 E1 C0 C1 GND
4 C2 C3 C1 GND
5 C5 C6 C7 GND

Displays

OpenDeck firmware currently supports the following OLED displays via I2C interface (SPI isn't supported):

  • SSD1306, 128x64px

  • SSD1306, 128x32px

This support is limited to Arduino Mega 2560 and Teensy++ 2.0 only. Note that only one display can be connected on OpenDeck board.

Arduino Mega2560 / Meduino Mega2560

Signal Display Arduino Pin
Vcc Vcc +5V
GND GND GND
SDA SDA 20
SCL SCL 21

Teensy++ 2.0

Signal Display Arduino Pin
Vcc Vcc +5V
GND GND GND
SDA SDA PD1
SCL SCL PD0
You can’t perform that action at this time.