โก Constellations - Electronics Build Guide
Difficulty Level: Moderate (requires Arduino/electronics experience)
Build Time: 6-8 hours (wiring + programming + testing)
Cost: $160-$200 for all electronics
1. Components & Materials
Required Electronics
| Component |
Quantity |
Specifications |
Est. Cost |
Source |
| Arduino Mega 2560 |
1 |
54 digital pins, 16 analog inputs |
$35-45 |
Amazon, Adafruit |
| WS2812B LED Strip |
3-4 meters |
60 LEDs/meter, addressable RGB, 5V |
$30-50 |
Amazon, AliExpress |
| Arcade Buttons (Illuminated) |
8 |
30mm push buttons with LED indicators |
$25-35 |
Amazon, Adafruit |
| 5V Power Supply |
1 |
5V 10A (50W minimum), barrel jack output |
$20-30 |
Amazon |
| 3-Position Rotary Switch |
1 |
For difficulty selector (Easy/Med/Hard) |
$5-8 |
Amazon, Mouser |
| Push Buttons (non-illuminated) |
3 |
For New Puzzle, Check, Reset |
$5-10 |
Amazon |
| Resistors |
1 pack |
220ฮฉ and 10kฮฉ assortment |
$8 |
Amazon |
| 22 AWG Wire |
50 feet |
Various colors (red, black, green, etc.) |
$15 |
Amazon |
| Breadboard/Protoboard |
1 |
For organizing connections |
$10 |
Amazon |
| Connectors & Headers |
Assorted |
JST connectors, screw terminals |
$10-15 |
Amazon |
| Project Enclosure |
1 |
For Arduino and wiring (optional) |
$15-20 |
Amazon |
Total Estimated Cost: $178-236
Why Arduino Mega? The Mega has 54 digital I/O pins, which is essential for handling 8 button inputs + 3 control buttons + rotary switch + LED strip control. The standard Arduino Uno only has 14 digital pins, which isn't enough.
2. Wiring Diagram
Arduino Mega Pin Connections
๐ด Power Connections
- 5V Power Supply (+) โ LED Strip (+5V)
- 5V Power Supply (+) โ Arduino VIN
- 5V Power Supply (GND) โ Common Ground
- Arduino GND โ Common Ground
- LED Strip GND โ Common Ground
๐ก LED Strip
- Data In (DIN) โ Arduino Pin 6
- +5V โ Power Supply (+5V)
- GND โ Common Ground
๐ฎ Toggle Buttons (1-8)
- Button 1 โ Pin 22
- Button 2 โ Pin 24
- Button 3 โ Pin 26
- Button 4 โ Pin 28
- Button 5 โ Pin 30
- Button 6 โ Pin 32
- Button 7 โ Pin 34
- Button 8 โ Pin 36
- All buttons use internal pullup resistors
๐น๏ธ Control Buttons
- New Puzzle โ Pin 38
- Check Answer โ Pin 40
- Reset โ Pin 42
- All use internal pullup resistors
โ๏ธ Difficulty Selector
- Common โ GND
- Easy โ Pin 44
- Medium โ Pin 46
- Hard โ Pin 48
๐ก Button LED Indicators
- Button 1 LED โ Pin 23
- Button 2 LED โ Pin 25
- Button 3 LED โ Pin 27
- Button 4 LED โ Pin 29
- Button 5 LED โ Pin 31
- Button 6 LED โ Pin 33
- Button 7 LED โ Pin 35
- Button 8 LED โ Pin 37
- Add 220ฮฉ resistor inline with each LED
5V 10A Power Supply
+5V GND
| |
+------------+------------+------------+
| | | |
| Arduino LED Strip Common
| VIN +5V/GND Ground
| | |
| Arduino |
| GND -------------------------+
| |
LED Strip All Button
Data โ Pin 6 GND connections
Button Connections (with internal pullup):
Toggle Buttons: Control Buttons: Difficulty Switch:
Button 1 โ Pin 22 New โ Pin 38 Easy โ Pin 44
Button 2 โ Pin 24 Check โ Pin 40 Med โ Pin 46
Button 3 โ Pin 26 Reset โ Pin 42 Hard โ Pin 48
Button 4 โ Pin 28
Button 5 โ Pin 30 Each button connects between
Button 6 โ Pin 32 pin and GND (pulled HIGH when
Button 7 โ Pin 34 not pressed, LOW when pressed)
Button 8 โ Pin 36
Button LED Indicators (220ฮฉ resistors required):
Button 1 LED โ 220ฮฉ โ Pin 23 โ GND
Button 2 LED โ 220ฮฉ โ Pin 25 โ GND
Button 3 LED โ 220ฮฉ โ Pin 27 โ GND
... (continue for all 8 buttons)
โ ๏ธ IMPORTANT POWER NOTES:
- LEDs draw significant current (~3-5A with 200 LEDs). DO NOT power LEDs from Arduino's 5V pin
- Use dedicated 5V power supply rated for at least 10A
- Connect Arduino VIN to same 5V supply (shares power, separate circuits)
- Ensure common ground between Arduino, LEDs, and power supply
- Add 1000ยตF capacitor across LED strip power terminals to prevent voltage spikes
3. Assembly Steps
Step 1: Prepare the Panel
- Cut/route constellation outlines into 4'ร6' panel
- Drill button mounting holes (30mm) at bottom of panel
- Route shallow channels for LED strips along constellation branches
- Paint panel matte black for best contrast
Step 2: Install LED Strips
- Measure and cut WS2812B strip into segments for each constellation branch
- Secure strips in routed channels with adhesive backing
- Solder data connections between segments (DIN โ DOUT chain)
- Test each segment with Arduino before permanent mounting
- Use hot glue or silicone to secure solder joints
LED Strip Tip: Number each constellation and segment as you wire them. This makes programming much easier! Example: Constellation A, Segment 1 = LED indices 0-5, Segment 2 = 6-11, etc.
Step 3: Wire Buttons
- Mount 8 illuminated arcade buttons in drilled holes
- Run wires from each button to Arduino (see pin diagram)
- Wire button LEDs through 220ฮฉ resistors to Arduino output pins
- Mount control buttons (New/Check/Reset) on separate control panel or side of main panel
- Label each button clearly
Step 4: Power Supply Setup
- Mount 5V power supply in enclosure or behind panel
- Connect +5V to LED strip positive
- Connect +5V to Arduino VIN
- Connect GND to common ground bus
- Add 1000ยตF capacitor across LED power terminals
- Test voltage with multimeter before powering Arduino
Step 5: Arduino Installation
- Mount Arduino Mega in project enclosure
- Connect all button inputs to assigned pins
- Connect LED strip data pin to Pin 6
- Connect power (VIN + GND)
- Secure all wiring with zip ties and cable management
๐ง Testing Protocol: Test each component individually before final assembly!
- Test buttons with Arduino (digitalRead test sketch)
- Test LED strips (FastLED test sketch with all LEDs white)
- Test button indicators (digitalWrite test)
- Only after all components work individually, upload full game code
4. Arduino Software Setup
Required Libraries
// Install these libraries via Arduino Library Manager:
FastLED // For controlling WS2812B LED strips
Bounce2 // For button debouncing (optional but recommended)
Library Installation
- Open Arduino IDE
- Go to Sketch โ Include Library โ Manage Libraries
- Search for "FastLED" and click Install
- Search for "Bounce2" and click Install
- Restart Arduino IDE
โ
Arduino Sketch Ready: The complete Arduino code is provided in the file constellation_led_wall.ino in this directory. Upload it to your Arduino Mega after wiring is complete.
5. Testing & Calibration
Initial Power-On Test
- Power on system with USB connected to computer (Serial Monitor open)
- Verify Arduino boots successfully (check Serial output)
- Check that all 200 LEDs light up in startup sequence
- Press each toggle button - verify LED indicator lights up
- Test control buttons (New/Check/Reset) via Serial Monitor output
LED Mapping Verification
- Use test mode in Arduino sketch (uncomment
TEST_MODE define)
- Verify each button lights up correct constellation segments
- Adjust LED index mappings in code if segments don't match expected
- Document actual LED index ranges for each constellation segment
Puzzle Testing
- Test Easy mode - verify 2-3 targets can be solved
- Test Medium mode - verify increased difficulty
- Test Hard mode - verify complex overlapping patterns
- Test Check Answer feedback - success/partial/fail indicators
- Test Reset and New Puzzle buttons
6. Troubleshooting Common Issues
LEDs Not Lighting
- Check power supply: Verify 5V at LED strip terminals
- Check data connection: DIN pin properly connected to Pin 6?
- Check common ground: Arduino GND connected to LED strip GND?
- Check LED count: Is NUM_LEDS defined correctly in code?
Buttons Not Responding
- Check wiring: Button connected between pin and GND?
- Check pullup mode: Code uses INPUT_PULLUP for all buttons
- Check pin assignments: Verify pins match code defines
- Serial debug: Use Serial.println() to verify button reads
Wrong Segments Lighting Up
- LED index mapping error: Verify segment-to-LED-index mapping in code
- Data signal issue: Check solder joints on LED strip data connections
- Test mode: Use TEST_MODE to identify which physical LEDs correspond to each index
Arduino Crashes/Resets
- Power supply insufficient: Upgrade to higher amperage supply
- Voltage drop: Add capacitors across LED power terminals
- Memory overflow: Check available RAM (should have 4KB+ free on Mega)
7. Final Assembly Notes
Best Practices:
- Use heat shrink tubing on all solder joints
- Label all wires at both ends (masking tape + sharpie)
- Take photos during assembly for documentation
- Test frequently - don't wait until everything is assembled
- Keep Arduino accessible for code updates/debugging
- Add strain relief for all cable connections
Estimated Build Time Breakdown:
- Panel preparation: 2-3 hours
- LED strip installation: 3-4 hours
- Button wiring: 2 hours
- Power supply setup: 1 hour
- Arduino programming: 2-3 hours
- Testing & debugging: 2-4 hours
- Total: 12-17 hours