reTerminal E1001
by Seeed Studio
7.5-inch 800x480 monochrome ePaper terminal on an ESP32-S3R8 with 32MB flash, 2000mAh battery, SHT40 sensor, microSD and an 8-pin GPIO header.

On this page
reTerminal E1001 Pinout
8 pins| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | HEADER_3V33V3 | power | - | 3.3V output for external modules, switched on the board through a P-MOSFET load switch |
| 2 | - | GND | ground | - | Ground |
| 3 | 46 | ESP_IO46 | strapping | pwm | Plain GPIO with no ADC; also an ESP32-S3 boot strapping pin |
| 4 | 2 | ESP_IO2 | safe | adc · pwm | ADC1 input (channel 1 in ESP-IDF; the wiki and schematic name it ADC1_CH4, which is actually GPIO5) |
| 5 | 17 | ESP_IO17TX1 | uart | uart · adc · pwm | UART1 TX; ADC2 channel 6, ADC2 is unusable while Wi-Fi is active |
| 6 | 18 | ESP_IO18RX1 | uart | uart · adc · pwm | UART1 RX; ADC2 channel 7, ADC2 is unusable while Wi-Fi is active |
| 7 | 20 | ESP_IO20SCL | uart | i2c · adc · pwm | I2C0 SCL, shared with the onboard SHT40 (0x44) and PCF8563 RTC (0x51); ADC2 channel 9 |
| 8 | 19 | ESP_IO19SDA | uart | i2c · adc · pwm | I2C0 SDA, shared with the onboard SHT40 and PCF8563, 4.7k pull-ups already fitted; ADC2 channel 8 |
Start with these
3 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
1 pins · 1 thing to knowESP_IO46GPIO46 Bootstrapping pin (used with GPIO0 for boot mode; controls ROM log output) Strapping
Must be at a defined level during reset (with GPIO0) to select normal or download boot and UART/USB print mode. This pin is input-only (no output drive), so it should be left for its intended strapping function.
Only if you know the tricks
2 pins · 1 thing to knowESP_IO20GPIO20ESP_IO19GPIO19 USB OTG differential data pair (D- and D+) USB
By default connected to the on-chip USB Serial/JTAG controller. Using it as general GPIO without reconfiguring IO MUX will interfere with USB functionality.
- ESP_IO20USB OTG positive differential data line (USB_D+)
- ESP_IO19USB OTG negative differential data line (USB_D-)
The reTerminal E1001 breaks out 8 pins in total: 6 GPIO for your project, with HEADER_3V3 and GND handling power.
Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO19 and SCL on GPIO20.
Beyond plain digital I/O you get 5 ADC-capable pins for sensors and battery monitoring and PWM on every GPIO.
1 of the exposed pins carry boot-time or system duties on the ESP32-S3 (ESP_IO46) - check the guidance above before wiring anything to them. ESP_IO2, ESP_IO17 and ESP_IO18 are free of any such role - the safest first picks.
Pinout notes Only the 8-pin header is user-facing: 3V3 (switched through a P-MOSFET load switch), GND, GPIO46, GPIO2, UART1 on GPIO17/GPIO18 and I2C0 on GPIO19/GPIO20. The…
Only the 8-pin header is user-facing: 3V3 (switched through a P-MOSFET load switch), GND, GPIO46, GPIO2, UART1 on GPIO17/GPIO18 and I2C0 on GPIO19/GPIO20. The I2C pins are the same bus as the onboard SHT40 (0x44) and PCF8563 (0x51), with 4.7k pull-ups already fitted, and GPIO17 to GPIO20 are ADC2 channels, which are unavailable while Wi-Fi is active.
Everything else is internal. The ePaper panel hangs off SPI with SCK on GPIO7, MOSI on GPIO9, CS GPIO10, DC GPIO11, reset GPIO12 and BUSY GPIO13; the microSD slot shares that SCK and MOSI. The green user LED is on GPIO6, the Right button on GPIO5, battery sense on GPIO1, and UART0 on GPIO43/GPIO44 feeds the CH340. The SY6974B charger talks on a separate I2C1 on GPIO39/GPIO40 that is not broken out.
Getting started
flash your first firmware in ~2 minutesBoard: XIAO_ESP32S3 Flash Size: 32MB (256Mb) Flash Mode: QIO PSRAM: OPI PSRAM Upload Speed: 921600
// blink the onboard user LED
void setup() {
pinMode(6, OUTPUT);
}
void loop() {
digitalWrite(6, HIGH); delay(500);
digitalWrite(6, LOW); delay(500);
}[env:reterminal-e1001]
platform = espressif32
board = seeed_xiao_esp32s3
framework = arduino
monitor_speed = 115200
upload_speed = 921600
board_build.arduino.memory_type = qio_opi
build_flags = -DBOARD_HAS_PSRAMseeed_xiao_esp32s3 - or type it after board =.esp32:
board: seeed_xiao_esp32s3
variant: esp32s3
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
# blink - GPIO6
output:
- platform: gpio
pin: 6
id: led_out
light:
- platform: binary
name: "LED"
output: led_outseeed_xiao_esp32s3 (same ids as PlatformIO).esptool.py --chip esp32s3 --port /dev/ttyACM0 \
--baud 921600 write_flash 0x0 firmware.bin--port = your /dev/tty* (macOS/Linux) or COMx (Windows).Good to know
board-specific quirks worth 60 secondsThe USB-C port goes through a CH340 USB-to-UART bridge on UART0 (GPIO43/44), not the ESP32-S3's native USB, so there is no USB CDC and no USB-JTAG: Windows 10 and macOS need the WCH CH34x driver, DTR/RTS auto-reset puts the chip into download mode without a button press, and an ESPHome config has to keep the logger on hardware_uart: UART0. Uploads only work with the power switch on and the device awake - it spends…
The USB-C port goes through a CH340 USB-to-UART bridge on UART0 (GPIO43/44), not the ESP32-S3's native USB, so there is no USB CDC and no USB-JTAG: Windows 10 and macOS need the WCH CH34x driver, DTR/RTS auto-reset puts the chip into download mode without a button press, and an ESPHome config has to keep the logger on hardware_uart: UART0. Uploads only work with the power switch on and the device awake - it spends most of its life in deep sleep, so press the green Refresh button before flashing or provisioning.
There is no dedicated Arduino IDE entry either. Seeed's cookbooks select XIAO_ESP32S3 with the PSRAM menu set to OPI PSRAM, although the 32MB flash is larger than that entry's 8MB partition tables assume; their PlatformIO examples use the platform-seeedboards fork with board seeed-xiao-esp32-s3-sense and board_build.arduino.memory_type = qio_opi rather than a stock platform-espressif32 id.
Two internal circuits sit behind enable pins. Battery voltage is read on GPIO1 through a 10k/10k divider behind a load switch: drive GPIO21 high first, then double the measured voltage. The microSD slot has its own power enable on GPIO16, which must be high before mounting the card; the slot uses GPIO8 MISO, GPIO14 CS and GPIO15 card detect, and shares SCK (GPIO7) and MOSI (GPIO9) with the ePaper panel. The PCF8563…
Two internal circuits sit behind enable pins. Battery voltage is read on GPIO1 through a 10k/10k divider behind a load switch: drive GPIO21 high first, then double the measured voltage. The microSD slot has its own power enable on GPIO16, which must be high before mounting the card; the slot uses GPIO8 MISO, GPIO14 CS and GPIO15 card detect, and shares SCK (GPIO7) and MOSI (GPIO9) with the ePaper panel.
The PCF8563 RTC has a CR1220 coin-cell holder on the board, but it ships unpopulated, so the clock is lost whenever the main battery is switched off.
Downloads
Free for non-commercial use, credit espboards.dev · LicenseBoard illustration
The bare reTerminal E1001 board drawn to scale at 120.2 × 175.2 mm, with no pin labels on it. Made for slide decks, wiring diagrams and project write-ups where a photo is too busy. Take the scalable SVG for print or editing, the high-resolution PNG to drop straight in, or the transparent PNG when you need it with no background behind it.
Pinout diagram
Every pin on both sides of the board with its functions, drawn by ESPboards from the ESP32-S3 Series Datasheet v2.2 - the same sheet shown at the top of this page. The PNG is a high-resolution image for screens, the SVG is vector so it stays sharp at any size, and the PDF is laid out to print on A4 or Letter.
Yours to use, share and adapt for non-commercial work, as long as you credit espboards.dev - the full terms and ready-made credit lines are here.
Specifications
ESP32-S3 · 120.2 × 175.2 mm · vs other ESP32 chips →Dimensions
About this board
Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads.
At $79.00 it's on the expensive side for an ESP32-S3 board - most land around $29.
Only 6 GPIO are left for your own hardware - the display and onboard peripherals claim the rest.
Around the module: 8MB (OPI) PSRAM, an ePaper 7.5" 800x480 display, a microSD slot, a microphone (MSM261DHP006 PDM), a PCF8563 RTC, a buzzer, an environmental sensor (SHT40), battery charging (SY6974B), status LEDs (Green user, Red charge) and Refresh/Left/Right buttons.
The reTerminal E1001 is a 7.5-inch 800x480 monochrome ePaper terminal built around an ESP32-S3R8 with 32MB flash and 8MB OPI PSRAM, in a metal enclosure with a detachable stand and a wall-mount hole. A 2000mAh battery is built in; Seeed quotes about three months per charge depending on the refresh interval, and deep sleep draws 14uA. Around the panel sit an SHT40 temperature and humidity sensor, a PCF8563 RTC, a PDM microphone, a buzzer, a microSD slot (cards up to 32GB, FAT32 only) and three buttons: Refresh, Left and Right.
It suits low-refresh information displays that hang on a wall or stand on a desk rather than breadboard experiments: the only exposed I/O is an 8-pin header with 3V3, GND and six GPIOs, two of which carry the I2C bus shared with the onboard sensor and RTC. Seeed documents Arduino, PlatformIO and ESPHome workflows, and the board has a Zephyr port.
- Built-in 2000mAh battery, about 3 months per charge depending on refresh interval
- microSD slot, cards up to 32GB in FAT32 only
- Onboard temperature and humidity sensor, buzzer and microphone
- Metal enclosure with detachable stand and wall-mount hole
Where to buy
prices are typical street prices
Resources
Similar boards





