Elecrow's 2nd Electronics Design Contest is Heating Up! Win $6,000 cash + Maker products + Official sponsorship! Share your designs today! [Learn More]

user-img

Giovanni Bauermeister

  • 1 Projects
  • 0 Followers
  • Mar 29,2025
+ Follow

E-Paper Electronic Shelf Label System

MQTT Configurable Electronic Shelf Label System with Elecrow 3.7" E-Paper Display and Web Server

E-Paper Electronic Shelf Label System
 
  • thumbnail-img
  • thumbnail-img
 

Story

MQTT Configurable Electronic Shelf Label System with Elecrow 3.7" E-Paper Display and Web Server

Welcome to this tutorial where we bring together IoT, MQTT, Docker, ESP-IDF and e-paper display technology to create a sleek and modern Electronic Shelf Label system using Elecrow 3.7" E-Paper Display!

E-Paper Display

In this project, you'll learn how we:

Rendered dynamic product info like price and description using a custom web editor
Converted HTML text to binary images ready for e-paper rendering
Sent remote updates over MQTT from the browser to E-Paper display
✅ Built it all with ESP32-S3, ESP-IDF and Docker

It's a lightweight, wireless, and totally customizable solution for smart signage, shelf tags, or even retro-style dashboards.

Let's dive in and build something awesome. 🧠💡

🧩 How the Smart ESL Project Works

🧑‍💻 1. Customize Shelf Tag in the Browser

Browser ESL editor

The user opens a simple web app that includes an editor to define:

  • Price (with formatting for currency)

  • Product description (with support for bold styling using **text**)

  • Tag ID (the MAC address of the ESL device)

 

The preview updates in real time, giving the user a visual feel of what will be displayed.

🖼️ 2. Convert HTML to Monochrome Binary Image

When ready to publish:

  • The browser captures a screenshot of the price and description areas using html2canvas

  • It crops and converts each canvas into column-major binary format (1-bit per pixel, black & white), optimized for e-paper displays

  • The binary images are ready to be sent to the tag

📡 3. Send Binary Images Over MQTT

The browser connects to a public or local MQTT broker via WebSocket and publishes the binary images to these topics:

  • esl/<tag_id>/price

  • esl/<tag_id>/description

 

Each topic represents a specific region of the tag to update.

📶 4. ESP32-S3 Receives Images via MQTT

On the ESP32 side:

  • The ESP32 connects to Wi-Fi and subscribes to its designated MQTT topics (based on its MAC address)

  • It receives chunked binary data, reconstructs the image, and knows which region to update

  • Once both price and description are fully received, it proceeds to update the screen

🖤 5. Partial Update on E-Paper Screen

To avoid flickering and unnecessary redraws:

  • The ESP32 uses partial refresh mode of the UC8253 e-paper driver

  • It only updates the framebuffer regions (price or description) that changed

  • Then it triggers a partial display update, showing the new content clearly without ghosting

🛠️ Ready to Try It Yourself?

You can replicate this entire project on your own by following the step-by-step instructions in the README of our GitHub repository.

There you’ll learn how to:

✅ Clone the project
✅ Build and run the web editor locally using a Docker container
✅ Customize your own price/description tags
✅ Send them to your MQTT-connected ESP32 e-paper device

Happy hacking! 🧠💡

Code
  • Project Code

    https://github.com/giobauermeister/esp32-esl-system
    View

E-Paper Electronic Shelf Label System

MQTT Configurable Electronic Shelf Label System with Elecrow 3.7" E-Paper Display and Web Server

297
 
4
0
0
These revenues will go back into supporting creators, contests, and the open source ecosystem, and more.

Share your project on social media to expand its influence! Get more people to support it.

  • Comments( 0 )
  • Like( 4 )
/1000
Upload a photo:
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP

You May Also Like

View All
Add to cart
Board Type : GerberFile :
Layer : Dimensions :
PCB Qty :
Different PCB Design
PCB Thickness : PCB Color :
Surface Finish : Castellated Hole :
Copper Weight : 1 oz Production Time :
Total: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.

PCB Assembly

PCBA Qty: BomFile:
NO. OF UNIQUE PARTS: NO. of Components:
Assembly Cost: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
3dPrintingFile : Size :
Unit : Volumn :
3D Printing Qty : Material :
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Acrylic Type : AcrylicFile :
Dimensions: Engrave:
Acrylic Qty :
Acrylic Thickness:
Acrylic Color:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
CNC Milling File : Size:
Unit: Volumn:
CNC Milling Qty : Material:
Type of Aluminum: Surface Finish:
Tolerance:
Surface Roughness:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Item Price Qty Subtotal Delete
Total: US $0.00
Certified Product | Supported Purchase: Full After-sales Protection