Skip to content

Add Seeed reTerminal E1004 panel support - #32

Open
limengdu wants to merge 6 commits into
bitbank2:mainfrom
limengdu:codex/e1004-t133a01
Open

Add Seeed reTerminal E1004 panel support#32
limengdu wants to merge 6 commits into
bitbank2:mainfrom
limengdu:codex/e1004-t133a01

Conversation

@limengdu

Copy link
Copy Markdown

Summary

  • Add T133A01 13.3 inch Spectra6 dual-controller panel support for Seeed reTerminal E1004.
  • Add T133A01 init, dual-CS data streaming, refresh handling, and a longer BUSY timeout for this panel.
  • Add a standalone E1004 PlatformIO diagnostic example with a six-color Spectra6 test pattern.

Validation

  • Built examples/e1004_test with PlatformIO.
  • Uploaded the diagnostic firmware to a Seeed reTerminal E1004 device.
  • Verified black/white rendering and the six-color Spectra6 test pattern on hardware.
  • Verified real refresh timing in the expected multi-second range.

Notes

  • The diagnostic example uses a 5-minute loop delay to avoid unnecessary repeated panel refreshes.

limengdu added 6 commits June 15, 2026 22:39
New panel EP133A_SPECTRA_1200x1600 (1200x1600, BBEP_SPLIT_BUFFER | BBEP_7COLOR)
with its own init sequence and a BBEP_T133A01 flag for the controller's
quirks: a CCSET (0xE0,0x01) before each data frame and a PON/DRF(0x01)/POF
refresh on both controllers. initIO now records the primary CS as controller
bitbank2#1 so dual-CS setup works regardless of setCS2() call order.
PlatformIO sketch that brings up the EP133A_SPECTRA_1200x1600 panel manually
(power enable + setCS2 + initIO) and draws full-width colour bands plus a
seam-crossing box to verify the dual-chip stitching, colours and refresh.
Add a .gitignore for the example's .pio/ build directory and remove the
accidentally-committed build output.
@TehesFR

TehesFR commented Jul 9, 2026

Copy link
Copy Markdown

Hi @bitbank2 👋
Can this be merged ? When is it planned ? Thanks a lot

@jonasniesner

Copy link
Copy Markdown

I also would appreciate if this PR could be looked t because it blocks me from using this Screen in OpenDisplay without having to fork bb_epaper. Since it is also similar to #31 it would also be important how the CS2 pin should be handled going forward.

TehesFR added a commit to TehesFR/Firmware that referenced this pull request Jul 15, 2026
Adds an esp32-s3-E1004 env and runtime support for the dual-controller
T133A01/EL133UF1 1200x1600 Spectra 6 panel (panel_ic_type 0x0042).

The panel is driven through bb_epaper's EP133A_SPECTRA_1200x1600 (pinned
to the bitbank2/bb_epaper#32 commit until it is merged upstream). Full
frames are collected in a 937.5 KB 4bpp PSRAM framebuffer and sent with
bbepWritePlane(), which splits the frame across the two chip selects;
the row-streaming write paths cannot address the second controller.
CS2 comes from the display block's spare cs_pin_2 field (default GPIO2)
and is parked/driven with the other panel lines across power state
changes. All E1004-specific code is gated on the BBEP_T133A01 define,
so envs building against upstream bb_epaper are unchanged.
TehesFR added a commit to TehesFR/Firmware that referenced this pull request Jul 15, 2026
Adds an esp32-s3-E1004 env and runtime support for the dual-controller
T133A01/EL133UF1 1200x1600 Spectra 6 panel (panel_ic_type 0x0042).

The panel is driven through bb_epaper's EP133A_SPECTRA_1200x1600 (pinned
to the bitbank2/bb_epaper#32 commit until it is merged upstream). Full
frames are collected in a 937.5 KB 4bpp PSRAM framebuffer and sent with
bbepWritePlane(), which splits the frame across the two chip selects;
the row-streaming write paths cannot address the second controller.
CS2 comes from the display block's spare cs_pin_2 field (default GPIO2)
and is parked/driven with the other panel lines across power state
changes. All E1004-specific code is gated on the BBEP_T133A01 define,
so envs building against upstream bb_epaper are unchanged.
TehesFR added a commit to TehesFR/Firmware that referenced this pull request Jul 15, 2026
Adds an esp32-s3-E1004 env and runtime support for the dual-controller
T133A01/EL133UF1 1200x1600 Spectra 6 panel (panel_ic_type 0x0042).

The panel is driven through bb_epaper's EP133A_SPECTRA_1200x1600 (pinned
to the bitbank2/bb_epaper#32 commit until it is merged upstream). Full
frames are collected in a 937.5 KB 4bpp PSRAM framebuffer and sent with
bbepWritePlane(), which splits the frame across the two chip selects;
the row-streaming write paths cannot address the second controller.
CS2 comes from the display block's spare cs_pin_2 field (default GPIO2)
and is parked/driven with the other panel lines across power state
changes. All E1004-specific code is gated on the BBEP_T133A01 define,
so envs building against upstream bb_epaper are unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants