LED Status
The RGB LED (connected to pin 25) provides visual feedback for both Bluetooth Low Energy (BLE) connection status and machine operational status.
Status Priority
Machine operational status takes priority over BLE status:
Homing (highest priority) - Deep purple breathing effect
BLE Status (lower priority) - When machine is idle
Machine Status Indications
When Machine is Homing
Deep purple breathing effect - Smooth breathing pattern
Continues until homing is complete or fails
BLE Status Indications
When BLE Advertising (looking for connections)
Rainbow effect - 1 second
Fast breathing blue - Rapid breathing effect in blue color (10x faster), continuously while advertising
Auto-dim after 30 seconds - Dims to subtle pulsing at connection level brightness to reduce annoyance
When BLE Connected
Rainbow effect - 1 second
Fade to dim - Blue LED fades to a low dim level (~12% brightness) and stays dimmed
Communication pulses - Subtle brightness increases during BLE communication (send/receive)
When BLE Disconnected
LED Off - No light
Advertising Timeout Feature
To reduce visual distraction for users with wired remotes, the LED automatically dims after 30 seconds of advertising:
First 30 seconds: Bright fast pulsing blue (easily visible when searching for device)
After 30 seconds: Dims to connection-level brightness (~12%) with gentle pulsing
Purpose: Maintains indication that BLE is available while reducing annoyance
Reset: Returns to bright pulsing if BLE connection status changes
Communication Indication
When BLE is connected and dimmed, the LED will briefly pulse brighter during:
Receiving commands from connected device
Sending responses back to connected device
State updates sent to connected device
The communication pulse is a subtle 100ms fade with minimal brightness increase.
Technical Notes
Advertising timeout: Controlled by
ADVERTISING_TIMEOUT
constant (30 seconds)Dimmed advertising: Uses
showBLEAdvertisingDimmed()
function with gentle pulsing rangeAuto-reset: Timeout resets when BLE status changes (connect/disconnect)
Last updated