Toggle menu
Toggle preferences menu
Toggle personal menu
Administrator Login Only
Access is restricted to site administrators.

Arduino I/O Expansion Board: Difference between revisions

From olighker
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 47: Line 47:
{{!}}USB-C, 5 V
{{!}}USB-C, 5 V
{{!}}}
{{!}}}
|hardware== '''<span style="color: rgb(52, 176, 176);">1.1 Preparation</span>''' =
|hardware==== '''<span style="color: rgb(52, 176, 176);">1.1 Preparation</span>''' ===


=== '''1.1.1 Hardware Checklist''' ===
=== '''1.1.1 Hardware Checklist''' ===
Line 69: Line 69:
○ Built-in WiFi, WebServer, SPI, SD
○ Built-in WiFi, WebServer, SPI, SD


= '''<span style="color: rgb(52, 176, 176);">1.2 Installing the Arduino IDE and the ESP32 Core</span>''' =
=== '''<span style="color: rgb(52, 176, 176);">1.2 Installing the Arduino IDE and the ESP32 Core</span>''' ===


=== Step 1 — Install the Arduino IDE ===
=== Step 1 — Install the Arduino IDE ===
Line 99: Line 99:
After installation, connect the board via USB-C. A new USB-SERIAL CH340 (COMx) entry under Device Manager → Ports (COM & LPT) confirms the driver works.
After installation, connect the board via USB-C. A new USB-SERIAL CH340 (COMx) entry under Device Manager → Ports (COM & LPT) confirms the driver works.


= <span style="color: rgb(52, 176, 176);">1.3 Installing the GxEPD2 Library</span> =
=== <span style="color: rgb(52, 176, 176);">1.3 Installing the GxEPD2 Library</span> ===
Navigate to:
Navigate to:


Line 106: Line 106:
Type GxEPD2 in the search box, find "GxEPD2" by Jean-Marc Zingg, and click Install.
Type GxEPD2 in the search box, find "GxEPD2" by Jean-Marc Zingg, and click Install.


= <span style="color: rgb(52, 176, 176);">1.4 Opening the Project</span> =
=== <span style="color: rgb(52, 176, 176);">1.4 Opening the Project</span> ===
Copy the entire A32_Label_2_9_bw_V30/ directory to any local path (avoid non-ASCII characters in the path), then in the Arduino IDE:
Copy the entire A32_Label_2_9_bw_V30/ directory to any local path (avoid non-ASCII characters in the path), then in the Arduino IDE:


Line 114: Line 114:
[[File:Wki-2.jpg|center|thumb|1097x1097px]]
[[File:Wki-2.jpg|center|thumb|1097x1097px]]


= <span style="color: rgb(52, 176, 176);">1.5 Configuring the Board</span> =
=== <span style="color: rgb(52, 176, 176);">1.5 Configuring the Board</span> ===
Open the Tools menu and configure the following options:
Open the Tools menu and configure the following options:
{{{!}} class="wikitable"
{{{!}} class="wikitable"
Line 146: Line 146:
{{!}}}
{{!}}}


= <span style="color: rgb(52, 176, 176);">1.6 Compiling (Verify)</span> =
=== <span style="color: rgb(52, 176, 176);">1.6 Compiling (Verify)</span> ===
Click the ✔ (Verify) button in the toolbar, or press Ctrl + R (macOS: Cmd + R).
Click the ✔ (Verify) button in the toolbar, or press Ctrl + R (macOS: Cmd + R).


Line 153: Line 153:
"Done compiling." together with "Sketch uses XXXXX bytes (XX%) of program storage space" in the console means the build succeeded.
"Done compiling." together with "Sketch uses XXXXX bytes (XX%) of program storage space" in the console means the build succeeded.


= <span style="color: rgb(52, 176, 176);">1.7 Flashing (Upload)</span> =
=== <span style="color: rgb(52, 176, 176);">1.7 Flashing (Upload)</span> ===


=== Step 1 — Enter download mode ===
=== Step 1 — Enter download mode ===
Line 184: Line 184:
The e-paper shows a centered on-screen hint containing the WiFi name, the password and the management IP address.
The e-paper shows a centered on-screen hint containing the WiFi name, the password and the management IP address.


= <span style="color: rgb(52, 176, 176);">1.8 Connecting to the Device</span> =
=== <span style="color: rgb(52, 176, 176);">1.8 Connecting to the Device</span> ===


=== Step 1 — Join the WiFi access point ===
=== Step 1 — Join the WiFi access point ===
Line 204: Line 204:
The web editor home page opens.
The web editor home page opens.
|usage=[[File:2.9inch-photo-600-300-1.jpg|center|thumb|600x600px]]
|usage=[[File:2.9inch-photo-600-300-1.jpg|center|thumb|600x600px]]
|faq== <span style="color: rgb(52, 176, 176);">Q1: Cannot connect to the ePaperDisplay WiFi?</span> =
|faq==== <span style="color: rgb(52, 176, 176);">Q1: Cannot connect to the ePaperDisplay WiFi?</span> ===
1. Make sure the board is powered on (PWR LED steady on).
1. Make sure the board is powered on (PWR LED steady on).


Line 213: Line 213:
4. If it still fails, press the RST button to reboot the board.
4. If it still fails, press the RST button to reboot the board.


= <span style="color: rgb(52, 176, 176);">Q2: WiFi connects, but 192.168.4.1 won't open?</span> =
=== <span style="color: rgb(52, 176, 176);">Q2: WiFi connects, but 192.168.4.1 won't open?</span> ===
1. Check that the address is exactly <nowiki>http://192.168.4.1</nowiki> (no https, no extra port number).
1. Check that the address is exactly <nowiki>http://192.168.4.1</nowiki> (no https, no extra port number).


Line 220: Line 220:
3. Try another browser (Chrome / Safari / Edge recommended).
3. Try another browser (Chrome / Safari / Edge recommended).


= <span style="color: rgb(52, 176, 176);">Q3: The screen looks pale after a refresh, with ghosting?</span> =
=== <span style="color: rgb(52, 176, 176);">Q3: The screen looks pale after a refresh, with ghosting?</span> ===
A small amount of ghosting after the first refresh is normal — it is inherent to how E-Ink works. Refresh again or wait 1–2 minutes and it disappears. If ghosting persists, leave the board unpowered overnight,then power it on again.
A small amount of ghosting after the first refresh is normal — it is inherent to how E-Ink works. Refresh again or wait 1–2 minutes and it disappears. If ghosting persists, leave the board unpowered overnight,then power it on again.


= <span style="color: rgb(52, 176, 176);">Q4: The TF card shows "TF: unavailable"?</span> =
=== <span style="color: rgb(52, 176, 176);">Q4: The TF card shows "TF: unavailable"?</span> ===
1. Make sure the card is FAT32 (not exFAT or NTFS).
1. Make sure the card is FAT32 (not exFAT or NTFS).


Line 230: Line 230:
3. Cards larger than 32 GB are not recommended — they can exhaust ESP32 resources.
3. Cards larger than 32 GB are not recommended — they can exhaust ESP32 resources.
|dl1Type=Demo
|dl1Type=Demo
|dl1Name=A32 Label 2 9 bw V30.zip
|dl1Name=A32_Label_2_9_bw_V40.zip
|dl1File=A32 Label 2 9 bw V30.zip
|dl1File=A32 Label 2 9 bw V40.zip
|dl2Type=Document
|dl2Type=Document
|dl2Name=A32 Label 2 9 bw User Manual EN v1.0.pdf
|dl2Name=A32 Label 2 9 bw User Manual EN v1.0.pdf

Latest revision as of 00:10, 17 September 2026

ESP32

2.9 inch Label Board(BW)
Published
Label, ESP32, SSD1680, SPI

Introduction

1. The 2.9 inch Label Board is a 2.9-inch black & white E-Ink electronic shelf label (ESL) based on the ESP32-WROOM-32E. It integrates a WiFi access point and a web-based editor, so you can design product price tags, generate EAN-13 barcodes, and send photos from your phone's album straight to the e-paper — without installing any app. Labels can optionally be archived to a TF card for redundant storage.

2. The e-paper display retains its image even when power is removed. Energy is consumed only while refreshing; a static image can persist for years. This makes the A32 ideal for supermarkets, convenience stores and warehouses where content stays on display for long periods but changes only occasionally.

Specifications

Display size 2.9 inch, 296 × 128 pixels
Display color Black & white (1-bit)
MCU ESP32-WROOM-32E (WiFi + BLE dual-mode)
Connectivity Built-in WiFi access point (no external router required)
Editor Built-in web editor — no app installation
Label templates
4 presets (Standard / Large Price / Promo / Minimal) + custom images
Barcode Built-in EAN-13 generator with automatic check digit
Storage
Optional TF (Micro SD) card for redundant label storage
UI languages English / Russian, switchable
Refresh Full-screen refresh in approx. 2–3 s
Power supply USB-C, 5 V

Hardware

1.1 Preparation

1.1.1 Hardware Checklist

● 2.9-inch e-paper label board × 1

● USB-C data cable × 1 (must be a data cable — charge-only cables cannot communicate)

● A Windows / macOS / Linux computer × 1

1.1.2 Software Checklist

● Arduino IDE 2.x (2.3 or newer recommended — https://www.arduino.cc/en/software)

● ESP32 core package (esp32 by Espressif Systems, v2.0.14 or newer)

● CH340 serial driver (manual install on Windows; usually built into macOS / Linux)

● Project libraries:

○ GxEPD2 (e-paper library maintained by ZinggJM)

○ Built-in WiFi, WebServer, SPI, SD

1.2 Installing the Arduino IDE and the ESP32 Core

Step 1 — Install the Arduino IDE

Download the Arduino IDE 2.x installer for your operating system from the official website and follow the wizard.

Step 2 — Add the ESP32 Board Manager URL

In the Arduino IDE, open the menu:

File → Preferences (macOS: Arduino → Settings)

Paste the following URL into the "Additional boards manager URLs" field:

Tip If other URLs are already listed, separate entries with commas or line breaks — multiple URLs can coexist.

Click OK to save.

Step 3 — Install the ESP32 core

Navigate to:

Tools → Board → Boards Manager...

Type esp32 in the search box, locate "esp32 by Espressif Systems", pick version 2.0.14 or newer, and click Install.

Note Depending on your network, the download may take 3–10 minutes. Please be patient.

Step 4 — Install the CH340 driver (Windows only)

Download the CH340 driver from the WCH official website or any dev-board vendor's download page, install it, and reboot the computer. On macOS, if a "System extension blocked" prompt appears, go to System Settings → Privacy & Security and allow it.

After installation, connect the board via USB-C. A new USB-SERIAL CH340 (COMx) entry under Device Manager → Ports (COM & LPT) confirms the driver works.

1.3 Installing the GxEPD2 Library

Navigate to:

Sketch → Include Library → Manage Libraries...

Type GxEPD2 in the search box, find "GxEPD2" by Jean-Marc Zingg, and click Install.

1.4 Opening the Project

Copy the entire A32_Label_2_9_bw_V30/ directory to any local path (avoid non-ASCII characters in the path), then in the Arduino IDE:

File → Open... → select A32_Label_2_9_bw.ino

The IDE automatically picks up the other .h files in the project folder. The expected layout is:

1.5 Configuring the Board

Open the Tools menu and configure the following options:

Option
Board
ESP32 Dev Module (or ESP32 Wrover Module — both work)
Upload Speed 921600 (drop to 115200 if flashing fails)
CPU Frequency 240MHz (Workbench)
Flash Frequency 80MHz
Flash Mode QIO
Flash Size 4MB (32Mb)
Partition Scheme Default 4MB with spiffs
Port
The COM port that appeared in Step 4 (e.g. COM5,/dev/ttyUSB0, /dev/cu.usbserial-*)
Programmer Esptool

1.6 Compiling (Verify)

Click the ✔ (Verify) button in the toolbar, or press Ctrl + R (macOS: Cmd + R).

Tip The first build compiles the whole ESP32 toolchain and GxEPD2 and may take 5–15 minutes;subsequent incremental builds usually finish within tens of seconds.

"Done compiling." together with "Sketch uses XXXXX bytes (XX%) of program storage space" in the console means the build succeeded.

1.7 Flashing (Upload)

Step 1 — Enter download mode

The A32 board can usually be flashed directly. If you see "A fatal error occurred: Failed to connect to ESP32...", enter download mode manually:

1. Hold BOOT

Press and hold the BOOT button on the board.

2. Tap RST

Short-press the RST button once, then release it.

3. Release BOOT

Let go of the BOOT button.

The ESP32 is now in serial download mode.

Step 2 — Upload the firmware

Click the → (Upload) button in the toolbar, or press Ctrl + U (macOS: Cmd + U). The console shows the

upload progress. Wait until the following output appears:

Flashing succeeded and the board reboots automatically.

Step 3 — Check the serial log

After flashing, open Tools → Serial Monitor (Ctrl + Shift + M) and set the baud rate to 115200. On a successful boot you should see a log similar to:

The e-paper shows a centered on-screen hint containing the WiFi name, the password and the management IP address.

1.8 Connecting to the Device

Step 1 — Join the WiFi access point

WiFi name (SSID) ePaperDisplay
Password 88888888

Search for WiFi with your phone or laptop, find ePaperDisplay and connect.

Note On first connection, your device may warn that "This network has no Internet access". Choose Keep using this network / Stay connected — this is expected, as the ESP32 does not provide Internet access.

Step 2 — Open the web console

Once connected, enter the following address in your browser (Chrome / Safari / Edge strongly recommended): http://192.168.4.1

The web editor home page opens.

Size

FAQ

Q1: Cannot connect to the ePaperDisplay WiFi?

1. Make sure the board is powered on (PWR LED steady on).

2. Make sure your computer/phone does not filter unknown hotspots via random-MAC policies.

3. Move away from 2.4 GHz interference sources (microwave ovens, Bluetooth speakers, other WiFi routers).

4. If it still fails, press the RST button to reboot the board.

Q2: WiFi connects, but 192.168.4.1 won't open?

1. Check that the address is exactly http://192.168.4.1 (no https, no extra port number).

2. Some phones show a "no Internet" interstitial when joining an offline hotspot — tap Keep using this network.

3. Try another browser (Chrome / Safari / Edge recommended).

Q3: The screen looks pale after a refresh, with ghosting?

A small amount of ghosting after the first refresh is normal — it is inherent to how E-Ink works. Refresh again or wait 1–2 minutes and it disappears. If ghosting persists, leave the board unpowered overnight,then power it on again.

Q4: The TF card shows "TF: unavailable"?

1. Make sure the card is FAT32 (not exFAT or NTFS).

2. Test the card in a computer; a damaged card will show as unavailable.

3. Cards larger than 32 GB are not recommended — they can exhaust ESP32 resources.

Downloads

Demo

A32_Label_2_9_bw_V40.zip

Document

A32 Label 2 9 bw User Manual EN v1.0.pdf

Document

A32 Label 2 9 bw User Manual RU v1.0.pdf

Document

Label 2 9 Inch SchDoc V20.pdf