CoolLED Web Controller, by: Brian Klier

HTML5/JS software based on a port of CoolLedDiy: send text and graphics to a CoolLED LED sign over Bluetooth LE through your browser.

Not connected
Web Bluetooth works in Chrome, Edge and Opera (desktop/Android), over HTTPS, localhost or a local file. Firefox and Safari do not support it.

Panel settings

Panel size is read from the sign’s advertisement when the browser allows it; otherwise enter it manually. The family is guessed from the device name.

Using a Windows COM port instead

CoolLED signs speak Bluetooth Low Energy (GATT service FFF0, characteristic FFF1). Windows does not turn BLE devices into COM ports, so pairing the sign in Windows Settings will not create one. The serial option only helps with a BLE-to-UART bridge (e.g. an ESP32) that forwards raw bytes to FFF1.
Insert colour:

Colours are tags in the text, e.g. {r}Red {b}Blue. Tags: r y g c b m w.

Size and Bold apply to system fonts only. Preview approximates the selected mode and speed.

Drag on the source image to use just a portion of it (optional):

Images are shrunk in several smooth steps, then converted to the sign’s colours (8 colours on RGB signs, one colour otherwise; UX signs keep full colour). Brightness cut-off: lower lights more pixels, higher fewer (it shifts the result brighter or darker, with or without dithering).

Live preview with current mode and speed:

Fit to this sign

Live preview (what the sign receives, at the frame time above):

Save, load and GIFs

Drag on the GIF to use just a portion of it (optional):

Preview of the first frame as it will be converted:

GIF import converts to 8 colours at the animation size above (max 40 frames).

Click an animation to load it into the Animations tab.

Open this page with parameters in the address bar (or after a #) to connect and send automatically. Example:

ParameterMeaning
deviceSign name or the start of it (e.g. CoolLEDX-8313). Browsers do not expose MAC addresses.
deviceidExact id of a remembered sign (see Remembered signs below)
connect=1 close=1 auto=0 ui=minOnly connect · disconnect when done · fill in the page but don’t run · hide the interface
fam cols rows rgb chunkPanel: 1248, 536, M, U or UX · columns · rows · 1/0 RGB planes · BLE chunk 20, 100 or 180 (remembered for next time)
textText to send. Colour tags {r}{y}{g}{c}{b}{m}{w} work inside it
color font size bold spacing rainbowDefault colour (name or hex) · font name or unicode · px size · 1/0 · letter gap · 1/0
animLibrary animation (file name or title, e.g. fire). Wins over text
ms halign valign scale planeFrame time · left/center/right · top/middle/bottom · none/fit/stretch · anim/frame
mode speed1–8 or static, left, right, up, down, snow, picture, laser · 0–255
brightness power mirror synctime0–255 · on/off · on/off · 1

Link builder

Builds a link from the current Text tab, panel and Mode/Speed/Brightness settings.

Remembered signs

Signs this browser may reconnect to without the chooser (needs the Chrome flags described in the help text).