Skip to the content
PCBKitNew board
2 layersLightboxPCB, the printed circuit board in 3D

Interactive LED system with custom PCB and real-time feedback.

Copper layers
2
Thickness
1.6 mm
Parts
18
Nets
30
Pads
60
Tracks, vias
30, 0
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
4 Nov 2025
Updated
28 Dec 2025

Overview

LightboxPCB is an open-source printed circuit board by jamesmu03, from the jamesmu03/lightbox repository on GitHub. It is a 2-layer board with 18 parts on 30 nets, routed with 30 tracks and 0 vias.

Its parts include 8 connectors and 5 resistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

README

README.md

Embedded LED Controller & Enclosure Design

A robust, interrupt-driven embedded system built with the Arduino/Atmel AVR platform, featuring custom PCB design, 3D-printed mechanical housing, and comprehensive data validation.

System Overview

This project implements a multi-channel LED controller with real-time user interaction via physical controls. It was designed, prototyped, and tested as an integrated hardware-software solution, demonstrating core competencies in embedded systems engineering.

Key Features

  • Dynamic Control: Real-time adjustment of LED brightness (PWM) and blink frequency (5–10 Hz) via precision potentiometers.
  • Multitasking Architecture: Non-blocking state machine framework allowing simultaneous execution of "heartbeat" status and event-driven LED sequences.
  • Integrated Design: Custom PCB layout paired with a functional 3D-printed enclosure featuring panel-mounted controls.
  • Data-Driven Validation: Quantitative analysis of system performance using statistical methods.

Technical Implementation

Firmware Architecture

The firmware is built on an asynchronous, event-driven model to ensure responsiveness and timing accuracy.

  • State Machine: Manages IDLE, READ_VOLTAGE, and RUN_LED states to handle temporal sequences without blocking the main loop.
  • Interrupts: Utilizes hardware interrupts for the trigger button to ensure immediate system response regardless of the current processor load.
  • PWM Control: Implements Pulse Width Modulation for flicker-free brightness adjustment of the "eye" LEDs.
  • Timing Management: Uses millis() for non-blocking delays, allowing the "heartbeat" LED to maintain a steady 1 Hz frequency while other processes execute.

Hardware & PCB

The hardware stack focuses on reliability and modularity.

  • Microcontroller: Arduino Nano Every (MegaAVR architecture).
  • PCB Design: Single-sided board optimized for panel-mounted integration. All external components (switches, pots, LEDs) are connected via standard 1x2 and 1x15 headers.
  • Power Management: 9V battery source with integrated SPST toggle power switching.
ComponentPart NumberRole
Arduino Nano EveryABX00033Central Processing Unit
Push ButtonPS1024ALREDSequence Trigger
Toggle SwitchSW-T3-1A-A-A3-S1Master Power
LEDPM5RDVisual Indicators
10k PotentiometerPDB181-E420K-103BAnalog Control

Mechanical Design

The system is housed in a custom-designed enclosure, modeled in CAD and 3D printed to include:

  • Secure Mounting: Dedicated internal standoffs for the PCB and battery.
  • Ergonomics: Panel-mounted potentiometers and switches for tactile user interaction.
  • File Access: CAD source files and 3D models are located in the cad/ directory.

Testing & Validation

System performance was verified through rigorous testing, documented in the technical report.

  • Linearity Analysis: Quantified the relationship between potentiometer rotation and output (brightness/frequency).
  • Timing Accuracy: Validated the 1 Hz heartbeat stability using a 95% confidence interval analysis.
  • Reliability: Confirmed state transition consistency and interrupt debounce performance.

Project Structure

text
├── cad/                # 3D models and CAD screenshots
├── circuit/            # KiCad PCB project files
├── src/                # Firmware source (C++)
├── testing/            # Jupyter notebook for statistical analysis and raw data
├── platformio.ini      # Build configuration
└── README.md           # This file

Developed as a demonstration of embedded systems integration.

Parts

18
QtyValueFootprintReferences
8Conn_01x02_PinConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ1, J3, J6, J7, J9, J12, J15, J16
51kResistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_HorizontalR1, R2, R3, R4, R5
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
1Arduino_Nano_EveryModule:Arduino_NanoA1

Questions

What parts does the LightboxPCB use?

18 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the LightboxPCB KiCad files?

From the jamesmu03/lightbox repository on GitHub, at the commit this page was made from: the board is lightboxPCB/lightboxPCB.kicad_pcb and its schematic lightboxPCB/lightboxPCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the LightboxPCB design in my own project?

Its repository states no licence, so its author keeps all rights: ask jamesmu03 before reusing the design.

Similar boards

  • 2 layers27.9 × 16.5 mmPowerSSO-24 breakout, the printed circuit board in 3D

    PowerSSO-24 breakout

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    18 parts1.2k
  • 2 layers42.7 × 13.7 mmStm32-mini12864, the printed circuit board in 3D

    Stm32-mini12864

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    18 parts1.1kGPL-3.0
  • 2 layers41.2 × 46.6 mmThumb cluster left, the printed circuit board in 3D

    Thumb cluster left

    JesusFreke/lalboard

    A 3D-printed keyboard inspired by the DataHand

    18 parts993
  • 2 layers44 × 51.3 mm4272MAVcoder R4, the printed circuit board in 3D

    4272MAVcoder R4

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    18 parts915
  • 2 layers28.3 × 14.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    18 parts716GPL-3.0
  • 2 layers20.3 × 15.2 mmL0 stepper driver, the printed circuit board in 3D

    L0 stepper driver

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    18 parts546MIT
  • 2 layersMooltipass, the printed circuit board in 3D

    Mooltipass

    limpkin/mooltipass

    Github repository dedicated to the mooltipass project

    18 parts531
  • 2 layers42.5 × 28.8 mmC5VRX JACK DIY V2, the printed circuit board in 3D

    C5VRX JACK DIY V2

    Twotoz/C5VRX

    Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS

    18 parts515GPL-3.0