Quick Navigation

Getting Started

Browser Requirements

The web controller uses Web Bluetooth, which is only available in specific browsers:

Browser Platform Supported
Chrome Android, Windows, macOS, Linux βœ“ Supported
Edge Android, Windows, macOS βœ“ Supported
Safari iPhone, iPad, macOS βœ— Not supported
Firefox All βœ— Not supported
Chrome on iOS iPhone, iPad βœ— Not supported
iPhone user? Web Bluetooth is not available on iOS at all β€” Safari and Chrome on iPhone both use Apple's WebKit engine, which doesn't support it. Use the iOS app instead.

Connecting to Your Lights

  1. Open control.html in Chrome or Edge
  2. Make sure Bluetooth is enabled on your computer or Android device
  3. Power on a node β€” its LEDs should show a pattern
  4. Click the Connect button in the top-right corner of the page
  5. Your browser will show a device picker β€” select your Mission Bike Light from the list and click Pair
  6. The button turns red ("Disconnect") and the status dot turns green when connected
Tip: You only need to connect to one node. The web controller communicates with the entire mesh through that single connection.
Note: Your browser will ask for Bluetooth permission the first time. Allow it β€” the controller cannot function without it. This permission is per-site, so you only need to grant it once.

Connection Status

Programs Programs Tab

The Programs tab is your main control center for selecting lighting patterns and adjusting brightness.

πŸ–₯️
Screenshot: Programs Tab images/guide/web-programs-tab.png

Now Playing

The banner at the top of the Programs tab shows the currently active program name. While a new program is loading, it briefly shows "Selecting…" in amber before confirming.

Mesh Brightness

The brightness slider in the Now Playing banner controls all nodes in the mesh simultaneously (0–100%). Changes apply immediately.

Auto-Switch

Program List

Programs are organized into collapsible categories (Fun, Flashy, Aggressive, Holidays, etc.). Tap a category header to collapse or expand it.

Nodes Nodes Tab

View and configure all nodes in your mesh. Tap any node to open its settings.

πŸ–₯️
Screenshot: Nodes Tab images/guide/web-nodes-tab.png

Node List

Each node card shows its name, firmware version, LED count, and current brightness.

Node Settings

Tap any node to open a settings panel from the bottom of the screen.

Basic Settings

Setting Description
Node Name Friendly name for this node (up to 16 characters)
Brightness Individual brightness for this node (0–100%)

LED Settings

Setting Description
Reverse LED Order Flip the direction the pattern travels along the strip
Mirror Mode Mirror the pattern β€” useful for symmetrical installations
LED Rotation Rotate the pattern start point: 0Β°, 90Β°, 180Β°, or 270Β°

Motion Detection

Appears only on nodes with an accelerometer. Controls power-saving behavior when the bike is stationary.

Setting Description
Accelerometer Sensitivity 0% disables sensing. 100% is default. Higher values detect smaller movements.
Dim Timeout Minutes of stillness before dimming (0 = disabled)
Sleep Timeout Minutes before entering reduced activity mode
Deep Sleep Timeout Minutes before entering deep sleep to conserve battery

Click Apply Motion Settings to save motion detection changes.

Brake Light

Appears on nodes with accelerometer support. Automatically flashes the lights red when the bike decelerates.

Setting Description
Enable Brake Light Toggle the brake light feature on or off
Brake Sensitivity Lower = triggers on gentle braking. Higher = only triggers on hard braking.
Response Speed Lower = smoother (ignores bumps). Higher = more reactive.
Trigger Duration How long braking must persist (in ms) before activating the light

Advanced Settings (expandable): Orientation Tracking controls how quickly the node adapts to bike tilt. Most users won't need to adjust this.

Click Apply Brake Settings to save.

Network

Captive Portal: When enabled, connecting to this node's WiFi hotspot automatically opens a browser popup. Disable it if you only use the app or web controller.

LED Hardware Settings

These settings require a node restart to take effect. Click Save & Restart Node when done.

Setting Description
LED Count Number of LEDs connected to this node (1–500)
Color Order LED chip color channel order (RGB, GRB, etc.) β€” change if colors look wrong
Max Current Power limit in amps to protect your battery (0.5–10 A)

Per-Node Firmware Updates

Each node can have its firmware update settings configured individually:

Node Actions

Settings Settings Tab

Configure WiFi for automatic firmware updates, distribute firmware across the mesh, and view connection details.

πŸ–₯️
Screenshot: Settings Tab images/guide/web-settings-tab.png

WiFi & Updates

Connect your nodes to a WiFi network so they can check for firmware updates automatically at boot.

Note: Checking for updates disconnects Bluetooth. The node leaves the mesh temporarily to connect to WiFi, checks for updates, then returns. You'll need to reconnect the web controller after.

Firmware Distribution

Push the currently connected node's firmware to other nodes in the mesh over Bluetooth β€” no WiFi required.

  1. Connect to the node with the firmware version you want to distribute
  2. Open the Settings tab β€” the Distribute Firmware card shows the source node and version
  3. Optionally filter target nodes by hardware type using the dropdown
  4. Select the nodes to update (use Select All / Select None for convenience)
  5. Click Push Firmware and monitor the progress bar
Tip: If a firmware update banner appears at the top of the Settings tab, it means a newer version is available from the server. Use WiFi auto-update or the iOS app to install it β€” the web controller can distribute firmware between nodes but cannot download new firmware from the internet.

Usage Data

Share Anonymous Usage Data: Opt-in to share anonymous statistics (run time, program preferences) to help improve the project.

About

Shows the current connection status, connected device name, firmware version, and Node ID. Also includes a Light Mode toggle to switch the web controller between dark and light themes.

Troubleshooting

Connect Button Does Nothing / No Device Picker Appears

Device Picker Appears but Node Not Listed

Browser Blocked Bluetooth Permission

Disconnects Frequently

Colors Look Wrong

Node Not Appearing in Node List

Firmware Distribution Fails