Skip to content

Getting started

github-actions[bot] edited this page Oct 30, 2026 · 3 revisions

Getting started

Everything is done from the web page at mathiasbk.github.io/openESL, which always serves the latest release. You need the hardware and Chrome or Edge on a computer.

Four steps on the web page and one test request take you to the first label. Words you have not seen before are in the Glossary.

1. Flash the access point

On the Flash AP tab, follow the three steps: choose your AP, flash it (plug in each board when asked), then give it your WiFi and an API token over the same cable. Keep a copy of the token: every API request needs it, and it cannot be read back. The last step shows the AP's address and a button to its dashboard.

Details: Flashing the AP and WiFi and API token.

2. Flash the labels

Put a label in the jig and flash it on the Flash tag tab. The page backs up the label's original firmware first, then writes OpenESL. With "Keep going" on, it waits for the next label after each one.

When a flashed label gets its battery back, it shows its start screen with its MAC and firmware version, finds the AP and starts polling it about once a minute.

Details: Flashing labels.

3. Pick or design a layout

The AP comes with the layouts price and text. To make your own, draw it on the Design tab and press Send to your AP…: choose USB cable if the AP is plugged into your computer, or WiFi to open the AP's own page and save it there.

Details: Label designer, Getting layouts onto the AP.

4. Send content

From any software that can make an HTTP request:

curl -X PUT http://openesl.local/api/tags/00000123456789A8 \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"layout": "price", "fields": ["Lettmelk 1 L", "24,90", "kr 24,90/L"]}'

Put in the label's MAC (on its start screen and on the dashboard), your API token, and your AP's name instead of openesl.local (finding the AP). The label shows the new content at its next poll, usually within a minute.

No command line? The AP's Dashboard can send text to a label from the browser, and Home Assistant has an integration.

Details: Sending content.

5. Keep an eye on it

Open http://openesl-xxxx.local/dashboard, with the four digits of its setup network (finding the AP), to see every label, what it shows, its battery and signal, and what needs attention.

Details: Dashboard.

No hardware yet?

The simulator runs the label firmware and the AP together on a PC, so you can try the API first.

Clone this wiki locally