Setting up Backglow

From a bare monitor back to finished light. As of version 3.0, October 2026.

Requirements

Wiring the hardware

Stick the strip around the back of your monitor as a ring. Where the stand sits, you can leave a gap; you'll skip it in the app later.

BoardData pinLabel on the board
ESP32 Dev ModuleGPIO 18usually “D18” or “18”
NodeMCU ESP8266GPIO 5“D1”

Check the pinout and voltage of your board before powering up for the first time. The firmware doesn't detect the board; it assumes the pins in the table.

Flashing the firmware

The firmware is in the repository under Firmware/BackglowController. It receives colors at 230,400 baud and caps the strip's brightness at 50 of 255, which is easier on both the power supply and your eyes.

git clone https://github.com/Janldeboer/Backglow.git
cd Backglow/Firmware/BackglowController

# ESP32
pio run -e esp32dev -t upload

# or ESP8266 (NodeMCU)
pio run -e nodemcuv2 -t upload

If several serial devices are connected, pick the port with --upload-port /dev/cu.…. A brand-new ESP8266 may still need its profile storage set up; see Saving a profile.

The folder Firmware/SerialLEDcontroller also holds the original Arduino sketch (70 LEDs on pin 2). It still works but can't store a profile.

Installing the app

  1. Download Backglow-3.0.1.dmg, open it and drag Backglow into Applications.
  2. Open Backglow once. Because the app isn't notarized yet, macOS blocks the first launch. Then click Open Anyway under System Settings → Privacy & Security.

See the release notes for what's new.

Building it yourself

cd Backglow
./scripts/build-app.sh
open dist/Backglow.app

The script builds the app and signs it with your Apple Development identity if you have one, otherwise ad hoc. You can then drag Backglow.app into your Applications folder.

Start capturing with the play button at the top right. The first time, macOS asks for Screen Recording permission. Allow it under System Settings → Privacy & Security → Screen & System Audio Recording and restart Backglow.

Backglow follows your system language. To pick a language just for Backglow, add it under System Settings → General → Language & Region → Applications.

Image source

Under Image Source, choose the display the strip is mounted behind.

LED layout

LED Layout page with rows 12, columns 21, active LEDs 59, start offset 43 and reverse order enabled.
The numbers in the tile preview match the order of the LEDs on the strip.

Backglow lays a grid over the picture and uses only its outer ring. Each edge tile becomes one LED.

When the preview matches your strip, every LED glows in the color of the tile right in front of it. If everything is off by a few LEDs, fix it with the start offset.

Connecting the controller

Device page with port selection, Connect button, physical LEDs, baud rate and the profile section.
  1. Under Device, choose the ESP's Port. Backglow lists only USB serial ports; Bluetooth and system ports are hidden.
  2. Set Physical LEDs to the total number of LEDs on the strip.
  3. Leave Baud rate at 230400 to match the firmware.
  4. Click Connect and start capturing.

Backglow never opens a port on its own. When you stop, the app turns the LEDs off.

Tuning colors

Colors page with sliders for saturation, gamma, brightness, smoothing and color channels, plus LED calibration.

Saving a profile on the controller

With the firmware from this repository, the controller can keep a profile. Save Current Setup writes the LED layout and colors to the ESP and reads them back to verify. Next time you connect, Backglow loads the profile automatically.

If an ESP8266 can't open its file system area, for example because the board is new, Set Up Controller Storage appears. It formats that area only after you confirm. Any files stored there are lost.

Display choice, frame rate and port stay on the Mac, and for now so do color temperature, LED calibration, backlight and power limit. Settings live in ~/Library/Application Support/Backglow/settings.json.

Troubleshooting

The preview stays empty

If Screen Recording permission is missing, check it in System Settings and restart Backglow. After an update or a new build with an ad hoc signature, macOS may forget the permission. Remove Backglow from the list and add it again.

The ESP doesn't show up as a port

Many USB cables only charge and don't carry data. Try another cable and click Refresh Ports.

The LEDs flicker or show wrong colors

Usually the shared ground is missing or the data line is too long. Also check that your strip really is a WS2812B with GRB order. If red and green are swapped, the firmware doesn't match the strip.

The light is shifted by a few LEDs

Adjust Start offset and, if needed, Reverse order until the colors at the corners match.

For more questions or bugs, open an issue on GitHub.