Skip to content

4. Backlight Control

othermod edited this page Jun 10, 2026 · 1 revision

Gamepad Variant

The Gamepad variant handles backlight through the onboard ATmega8, which controls the LCD backlight chip directly over I²C. An onboard button is already built into the board and cycles through 8 brightness levels (0–7). An external button can also be connected between CN3 Pin 7 (DISP) and CN3 Pin 1 (GND), which behaves identically to the onboard one. Brightness settings persist across reboots.

External Button Connection
(image) (image)

The backlight-gamepad utility controls the display from software:

Command Description
backlight-gamepad set <0-7> Set brightness to a specific level
backlight-gamepad get Get the current brightness level
backlight-gamepad on Turn the display on
backlight-gamepad off Turn the display off

Display Variant

The Display variant requires 21-bit mode. Brightness is handled by the backlight-display daemon, which communicates with the LCD backlight chip via GPIO 4. To enable this, CN2 Pin 3 (LCD_BL) and CN2 Pin 6 (GPIO 4) must be bridged together.

LCD_BL Connection
(image) (image)

A physical button is optional -- the display can be controlled entirely through software. To add one, connect it between CN2 Pin 4 (GPIO 20) and CN2 Pin 1 (GND), and it will cycle through the 8 brightness levels (0–7).

External Button Connection
(image) (image)

With the daemon running, the backlight-ctl utility controls brightness from software:

Command Description
backlight-ctl set <0-7> Set brightness to a specific level
backlight-ctl get Get the current brightness level

Clone this wiki locally