Wireless RGB Lighting Control System

Jul. 2025 - Sept. 2025

Designed and implemented a BLE-based wireless RGB lighting control system during an internship at NZXT, coordinating two RGB peripherals from a single central controller while investigating EMI/RFI performance inside a PC enclosure.

Embedded Systems BLE Firmware Arduino EMI/RF Measurement Hardware Design
Wireless BLE RGB lighting control system prototype inside a PC case

Project Overview

During a summer internship at NZXT, I designed and implemented a proof-of-concept wireless RGB lighting control system using Bluetooth Low Energy (BLE). The system uses a central Arduino Nano 33 BLE to coordinate two independent RGB peripherals—an SK9822 LED strip and a set of NZXT F420 RGB fans—entirely wirelessly, enclosed inside a PC case. In addition to building the prototype, I performed RF measurements to characterize the electromagnetic environment inside the chassis and authored a report recommending next steps for NZXT to evolve the prototype into a manufacturable product.

The Problem

System Architecture

Central Controller
Arduino Nano 33 BLE (nRF52840) — manages BLE connections, generates RGB frames at 60 FPS, and cycles lighting modes via a button interrupt
Peripheral 1 — LED Strip Controller
Arduino Nano 33 BLE — receives RGB data and commands over BLE, drives a 100-LED SK9822 strip via SPI with a 3.3V→5V level shifter
Peripheral 2 — UART Bridge
Arduino Nano 33 BLE — receives BLE data and forwards it over UART to a Raspberry Pi Pico, which generates the WS2812B timing-critical signal for RGB fans
Lighting Modes
RGB Live (continuous 19 Hz frame streaming) and four command-based presets: Rainbow, Theater Chase, Color Wipe — toggled by a button on the central
RF Measurement
nRF52840 USB Dongle + RSSI Viewer, scanning all 40 BLE channels at 10 ms intervals — tested across four positions inside and outside the case

Key Technical Decisions

RF Measurement Results

Performance Results & Limitations

What I Did

Recommendations Delivered to NZXT