Project Specification
Project Overview
Production-intent controller for a 5 V WS2812B LED strip with motion sensing. Status: Review.
Intended Use
Powered by one regulated 5 V wall adapter; controls a board-connected LED strip and reads an MPU-6050.
What the Device Should Do
- Protect against overcurrent, reverse polarity, and 5 V transients.
- Run a XIAO ESP32-C6 and 5 V WS2812B output.
- Read acceleration over I2C and optionally use the IMU interrupt.
- Keep LED data low during MCU reset.
Main Features
- 3 A protected 5 V power path.
- AHCT-compatible 3.3 V-to-5 V data buffering.
- MPU-6050 at I2C address 0x68.
- Keyed three-pin LED connector ordered +5V, DATA, GND.
System Architecture
See the Block Diagram project file.
Hardware Subsystems
Power Input & Protection; XIAO ESP32-C6 MCU; MPU-6050 IMU; LED Output.
Interfaces and Connections
External 5 V/GND input, WS2812B +5V/DATA/GND output, internal I2C SDA/SCL and IMU INT.
Power and Runtime Expectations
Regulated 5 V external wall supply rated at least 3 A. No battery.
Power Tree and Power Budget
3 A board ceiling. Approximately 0.5 A electronics reserve and 2.5 A LEDs, approximately 40 pixels at 60 mA full-white worst case. Firmware current/brightness limiting is mandatory. Larger strips require separate power injection.
Manufacturing and Assembly Expectations
SMD electronics with board-mounted pluggable connectors. Power-path connector rating at least 5 A; LED connector rating at least 3 A.
Firmware-Relevant Hardware Requirements
Arduino/PlatformIO support, explicit GPIO mapping, I2C sensor initialization, WS2812B library, brightness/current limiting.
Physical Design Expectations
Connector access and high-current copper are layout-stage requirements. Keep buffer resistor near output and bulk capacitor near strip connector.
Important Design Decisions
Use XIAO onboard 3V3 regulation; no additional regulator. AHCT buffer permanently enabled. AD0 low selects 0x68.
Assumptions
The wall supply is regulated 5 V and can provide 3 A. Strip current above the board ceiling is injected separately.
Change Notes
Initial architecture and requirements captured.