DMX512 24-Channel Decoder
Converts DMX to LED voltage
20x4 I2C LCD (OPTIONAL)
Not installed for initial run - pins reserved
12V 5A Power Supply
Powers Arduino + DMX decoder
2x Passive Buzzers
For melodies and sound effects
Common Pin Assignments
Component
Arduino Pin
Notes
Buzzer (Low-level trigger module)
45
Melody output (pins 8/9 conflict with shield)
LCD SDA (OPTIONAL)
20
I2C data - reserved for future LCD
LCD SCL (OPTIONAL)
21
I2C clock - reserved for future LCD
DMX Shield TX
1
Serial TX (used by shield)
DMX Shield RX
0
Serial RX (used by shield)
DMX Shield Upload Warning: The DMX shield blocks code uploads!
Remove the shield OR pull the EN jumper before uploading sketches.
DMX Decoder Wiring
DMX Channel
LED Color
Decoder Terminal
Channel 1
Red
R output to LED strip R+
Channel 2
Green
G output to LED strip G+
Channel 3
Blue
B output to LED strip B+
Channel 4
White
W output to LED strip W+
DMX Decoder DIP Switches: Set Address 1 (DIP 1 ON, all others OFF).
Make sure FUN switch (DIP 10) is OFF for DMX mode.
Power Distribution
12V 5A Power Supply
│
├──────────────────────────────┐
│ │
▼ ▼
DMX Decoder Arduino Mega
(12V input) (Vin or barrel)
│
▼
RGBW LED Strip
(12V, V+/R/G/B/W)
IMPORTANT: Connect GND from power supply to BOTH:
- DMX decoder GND
- Arduino GND
EASYPrimary Systems - Boiler (3 Buttons)
Button Wiring
Button
Color
Input Pin
LED Pin
Wire Colors
Button 1
RED
22
23
Red wire pair
Button 2
GREEN
24
25
Green wire pair
Button 3
BLUE
26
27
Blue wire pair
BUTTON WIRING (each button):
Button Switch: Arduino Pin (22/24/26) ───── Button ───── GND
Button LED: Arduino Pin (23/25/27) ──[220Ω]── LED(+) ── LED(-) ── GND
Note: Switch and LED are separate circuits. Only the LED needs a resistor.
Phase 1 Solution (Easy): GREEN → BLUE → RED
MEDIUMSecondary Systems - Production Line (4 Buttons)
Button Wiring
Button
Color
Input Pin
LED Pin
Wire Colors
Button 1
RED
22
23
Red wire pair
Button 2
GREEN
24
25
Green wire pair
Button 3
YELLOW
26
27
Yellow wire pair
Button 4
WHITE
28
29
White/gray wire pair
HARDAdvanced Systems - Quality Control (5 Buttons)
Button Wiring
Button
Color
Input Pin
LED Pin
Wire Colors
Button 1
RED
22
23
Red wire pair
Button 2
GREEN
24
25
Green wire pair
Button 3
BLUE
26
27
Blue wire pair
Button 4
YELLOW
28
29
Yellow wire pair
Button 5
WHITE
30
31
White/gray wire pair
EXPERTMaster Control - Fusion Core (8 Buttons)
Button Wiring
Expert has 8 buttons: 5 "solid" buttons + 3 "flashing" buttons (same colors, different behavior)
Button
Color
Mode
Input Pin
LED Pin
Button 1
BLUE
Solid
22
23
Button 2
YELLOW
Solid
24
25
Button 3
WHITE
Solid
26
27
Button 4
GREEN
Solid
28
29
Button 5
RED
Solid
30
31
Button 6
BLUE
Flashing
32
33
Button 7
YELLOW
Flashing
34
35
Button 8
WHITE
Flashing
36
37
Flashing vs Solid: The "flashing" buttons automatically flash their LEDs during gameplay.
Same wiring, different code behavior. Players match stripe patterns on hidden candy canes to determine
which button type to press.
Quick Reference - All Pin Assignments
ARDUINO MEGA 2560 PIN MAP - CANDY CANE CONUNDRUM
Digital Pins:
0, 1 - DMX Shield (Serial TX/RX) - DO NOT USE
45 - Buzzer (pins 8/9/44 conflict with shield)
20 - LCD SDA (I2C)
21 - LCD SCL (I2C)
Button Input Pins (INPUT_PULLUP):
22 - Button 1 input
24 - Button 2 input
26 - Button 3 input
28 - Button 4 input (Medium+)
30 - Button 5 input (Hard+)
32 - Button 6 input (Expert only)
34 - Button 7 input (Expert only)
36 - Button 8 input (Expert only)
Button LED Pins (OUTPUT):
23 - Button 1 LED
25 - Button 2 LED
27 - Button 3 LED
29 - Button 4 LED (Medium+)
31 - Button 5 LED (Hard+)
33 - Button 6 LED (Expert only)
35 - Button 7 LED (Expert only)
37 - Button 8 LED (Expert only)
Button Count by Difficulty
Difficulty
Buttons
Colors
Pins Used
Easy
3
Red, Green, Blue
22-27
Medium
4
Red, Green, Yellow, Silver
22-29
Hard
5
Red, Green, Blue, Yellow, Silver
22-31
Expert
8
Blue, Yellow, Silver, Green, Red (×2 modes)
22-37
Wiring Checklist
Before Powering On
☐
All button switches wired to INPUT pins AND GND (not 5V)
☐
All button LEDs have 220Ω resistors
☐
(OPTIONAL) LCD I2C wired to pins 20 (SDA) and 21 (SCL)
☐
(OPTIONAL) LCD VCC to 5V, GND to GND
☐
Buzzer wired to pin 45 (VCC→5V, GND→GND, I/O→pin 45)
☐
DMX shield jumpers set correctly (EN→EN, DE, TX-uart, RX-uart)
☐
DMX decoder DIP switches set (Address 1, FUN OFF)
☐
Common GND between power supply, Arduino, and DMX decoder