cat ./esl-uploader

ESL Uploader

Send pictures, formatted text and self-updating stats screens to electronic shelf labels (ESL) straight from your browser, over Bluetooth or through an ESP32 board. Nothing to install.

Prefer it without the site around it? Open the ESL Uploader on its own page.

What it does

  • Pictures: drop, paste or pick any image; fill, fit or stretch it, zoom and drag it, and dither it to black, white and red with live brightness, contrast and saturation.
  • Formatted text: price labels and signs with sizes from 7 to 64 pt, red or black, white-on-bar lines, alignment, Romanian diacritics, ° ℃ and €. Drag lines up or down on the preview; they always stay on the screen.
  • Stats screen: the label’s Bluetooth name, screen and board temperature, battery level and the time of the last update, read from the label itself.
  • Exact preview: what you see is what the label shows, pixel for pixel, including the rows a 2.13″ panel hides.

What you need

  • Electronic shelf labels running atc1441’s open ATC_BLE_OEPL firmware. Tested on Hanshow 2.13″ (250×122) and 4.2″ (400×300) black/white/red labels.
  • Chrome, Edge, Brave or Opera on a computer, or Chrome on Android, for Bluetooth direct. Firefox 151 and newer works through an ESP32 board. Safari and iPhone browsers support neither.
  • Optional: any ESP32 board with Bluetooth (ESP32, S3, C3, C6) as a USB bridge, for computers without reliable Bluetooth.

Stats screens that update themselves

The labels can’t redraw a screen on their own, so something has to send the new one. An ESP32 board plugged into your computer does it: it keeps a list of labels and every 1 to 60 minutes reads each one’s battery and temperatures, draws its stats screen and uploads it, even with the page closed. Over Bluetooth direct, this page does the same for as long as it stays open.

Open source

The ESP32 sketch, with setup instructions and every command, is on GitHub: ESP32_ATC_OEPL_Bridge (MIT). The label firmware and its upload protocol are by atc1441.

Questions

Do I need an ESP32 board?

No. With Bluetooth direct your computer talks to the label. The ESP32 helps when the computer’s Bluetooth is missing or unreliable, and it keeps refreshing stats screens after you close the page.

My label doesn’t show up

Check that Bluetooth is on and the label is a few metres away. A label doesn’t advertise while it redraws (about 15 seconds for black/white/red), so scan again. Only labels running ATC_BLE_OEPL appear; their names start with ATC_. The Setup & help link in the tool covers browser settings and flashing the firmware.

Does anything get uploaded to a server?

No. Pictures and text are processed in your browser and go straight to the label over Bluetooth or USB.

ready

Discotheque