Skip to content
Controller Firmware

LumiFur Controller

ESP32-S3 firmware for real-time HUB75 face animation, sensor-reactive expressions, BLE command control, telemetry, and browser-based OTA updates.

LumiFur controller board

Controller stack

The firmware target, display wiring baseline, input hardware, and release workflow in one scan.

Core

Rendering core

The MatrixPortal ESP32-S3 handles frame rendering, effect state, wireless commands, and sensor polling in one firmware target.

Integration

Panel wiring baseline

Dual HUB75 panels use dedicated ribbon data paths and a separate 5 V rail so animation stays stable under load.

Sensors

Inputs and expansion

Built-in light, motion, audio, and status hardware are complemented by an ADC header for custom controls.

Maintenance

Release workflow

GitHub releases, changelog highlights, and the browser updater keep firmware maintenance visible and repeatable.

Firmware release

Current controller build, changelog highlights, and the fastest route to update hardware.

Current version

v2.0.1

Released Dec 16, 2025

GitHub releaseLaunch firmware updater

Changelog highlights

  • Automated firmware build and release pipeline.
  • Web updater hosted on GitHub Pages.
  • Sensor performance tuning and BLE service refinements.
Full changelog

Ports + enclosure

Connector access, input controls, and enclosure decisions that affect serviceability.

Concept

Enclosure sketch

Early layout exploring a slim profile with accessible ports and clean cable routing for HUB75 panels.

Controller enclosure concept sketch
Close-up of the 12-pin ADC header on the controller

Expansion

12-pin ADC header

Dedicated analog header for external sensors, sliders, and custom inputs.

Side buttons on the LumiFur controller

Controls

Side button cluster

Tactile controls for expression changes, pairing, and brightness adjustments.

Side ports close-up on the LumiFur controller

I/O

Side ports

Accessible power and data ports for bench setup, updates, and service access.

What the firmware does

The runtime behaviors that make the display expressive, controllable, and maintainable.

Visuals

Animated expression library

20+ real-time faces and effects, including plasma, flame, fluid, and scrolling text for the dual HUB75 display stack.

Sensors

Sensor-driven reactions

APDS9960 proximity/light, LIS3DH motion, and MEMS microphone input feed responsive expression behavior.

Wireless

BLE command control

Switch expressions, adjust brightness, and toggle runtime features over the NimBLE GATT service.

Updates

OTA firmware updates

A dedicated OTA characteristic pairs with the web updater for browser-based firmware delivery.

Power

Power-aware runtime

Wake-on-motion, sleep dimming, ambient scaling, and persistent preferences in NVS.

Performance

Optimized HUB75 pipeline

DMA double buffering, optional virtual panel simulation, and extensible C++ effect modules.

Hardware + sensors

Reference hardware used by the current firmware baseline.

MatrixPortal ESP32-S3

ESP32-S3 controller board with onboard APDS9960, LIS3DH, I2S MEMS microphone, and NeoPixel status LED.

Dual 64x32 HUB75 panels

Two chained 64x32 RGB matrices (1/16 scan) for high-density face animations.

HUB75 ribbon + 5V power

Standard HUB75 ribbon cables plus dedicated 5 V power delivery sized for the LED load.

APDS9960 ambient light + proximity

Adaptive brightness plus proximity-triggered effects like blushing and eye bounce.

LIS3DH 3-axis accelerometer

Shake gestures, gravity-driven PixelDust physics, and wake-on-motion sensing.

I2S MEMS microphone

Onboard mic input for audio-reactive mouth animation.

NeoPixel status LED

Visual feedback for BLE advertising and connected states.

Onboard buttons + ADC header

View navigation buttons plus a 12-pin ADC header for external sensors.

BLE control + telemetry

Command, diagnostic, and OTA surfaces exposed by the controller firmware.

  • GATT service exposes expression selection, brightness control, and feature toggles.
  • OTA characteristic streams firmware updates with live status acknowledgements.
  • Telemetry includes temperature, build metadata, and buffered log retrieval.
  • Web Bluetooth updater is available on the LumiFur site with a GitHub Pages fallback.