Skip to the content
PCBKitNew board
4 layers62.5 × 96.2 mmESP32 C3 EReader, the printed circuit board in 3D

ESP32 C3 EReader

IS7V4N/ESP32_E-Reader3

ESP32 based E-Ink reader

Size
62.5 × 96.2 mm
Copper layers
4
Thickness
1.61 mm
Parts
95
Nets
70
Pads
310
Tracks, vias
635, 171
Pours
5
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Jul 2026
Updated
19 Sep 2026

Overview

ESP32 C3 EReader is an open-source printed circuit board by IS7V4N, from the IS7V4N/ESP32_E-Reader repository on GitHub. It is a 4-layer board of 62.5 × 96.2 mm with 95 parts on 70 nets, routed with 635 tracks and 171 vias.

It is built around the ESP32-C3-WROOM-02-H4, DW01A and ME6211C33M5G-N, with the USBLC6-2SC6, MBR0530 and NSR0240H among its other parts. Its parts include 32 capacitors, 27 resistors, 6 ICs, 6 switches and 5 diodes. It belongs with the lEDs and displays boards and the ESP32 and RISC-V boards of this library.

Main components

7

README

README.md

ESP32 E-Reader

ESP32 E-reader

A custom-built e-ink reading device based on the ESP32-C3, designed for everyday use. Built around a 4.2" e-ink display with a frontlight for reading in the dark environment, running a modified version of the Crosspoint open-source firmware adapted for custom hardware. The goal was to build a capable, low-cost alternative to commercial e-readers with full control over both hardware and software.


Hardware License

The hardware designs in /Hardware are licensed under the CERN-OHL-W v2.

Hardware

Building your own? See the Build guide for step-by-step assembly instructions.

ComponentDetails
MCUESP32-C3 (4MB flash)
DisplayGood Display 4.2" grayscale e-ink panel
StorageSD card (books, cache, user settings)
FrontlightTI TPS61169 PWM-controlled LED driver, 15V boost
Battery700mAh LiPo
USBUSB-C (charging + native USB via differential pair)
PCB4-layer, custom KiCad design (Rev. B)

PCB layout

PCB stack-up

text
F.Cu     — signal
GND      — full ground plane
PWR      — power distribution
B.Cu     — signal

Ground pour with stitching vias on both outer layers. EMI-sensitive boost converter traces kept compact.

Power rails

RailSourcePurpose
3.4–4.2VLiPo batterySystem input
3.3VLDOESP32-C3, logic
5VUSB-C inputCharging
±20VBoost converterE-ink panel driver
15VBoost converter (TPS61169)Frontlight LED driver

Power management

Three operating states optimized for battery life:

StateDescriptionWake latency
ActiveFull speed, display updating—
SleepReduced CPU clock, peripherals idleFast
Deep sleepµA range consumption, triggered by power buttonSlow

The device enters Sleep automatically after a display update completes. Deep sleep is only used when powered off via the power button.

Controls

ButtonFunction
Left / Right / Back / ConfirmContext-sensitive navigation (current function shown on display)
Power buttonShort press: page turn / Long press: power on/off

Firmware

Based on Crosspoint Reader with modifications for custom hardware and 4MB flash constraint.

What's changed from upstream

  • HalFrontlight — new HAL driver for PWM-controlled frontlight via TPS61169
  • HalPowerManager — smaller tweaks
  • HalGPIO — GPIO, button layout adapted to custom PCB
  • partitions_4mb.csv — custom partition scheme to fit 4MB flash (replaces upstream 16MB default)
  • platformio.ini — 4MB build configuration
  • Display refresh — modified refresh handling for Good Display 4.2" panel compatibility
  • Dictionary — English → Hungarian word lookup in the EPUB reader (see Dictionary)

See docs/4mb-build/ for detailed documentation on the 4MB build process and known issues.

Dictionary

Long-press Confirm (0.5 s) in an EPUB to enter dictionary mode. The four front buttons become a cursor:

Button (left to right)Short pressLong press
Leftcursor left—
Backcursor upleave dictionary mode
Confirmcursor downtranslate the selected word
Rightcursor right—

The translation (a few Hungarian words) appears in a popup, any button closes it.

The dictionary is a file on the SD card, /dict/en-hu.dic (about 4 MB, 118 000 word forms incl. inflections). It is built on a PC with scripts/build_dict.py from Wiktionary (via kaikki.org) with FreeDict eng-hun as a fallback; the script documents the steps and the file format. Wiktionary data is CC BY-SA 4.0, FreeDict eng-hun is GPL-2.0+.


Repository structure

text
ESP32_E-Reader/
├── Hardware/
│   ├── 3D CAD/                 — enclosure 3D models
│   ├── Bill Of Materials/      — BOM spreadsheets
│   ├── PCB/                    — KiCad project (Rev. B)
│   ├── REV-A/                  — Rev. A schematic/layout reference
│   └── LICENSE                 — CERN-OHL-W v2
├── Datasheets of Components/    — component datasheets (PDF)
└── Software/
    └── crosspoint-reader/       — firmware (fork of Crosspoint Reader)
        ├── src/                 — application source (activities, UI)
        ├── lib/                 — internal libraries (Epub engine, GfxRenderer, HAL, I18n)
        ├── open-x4-sdk/         — Xteink X4 community SDK (submodule)
        ├── docs/                — build docs, file formats, 4mb-build notes
        ├── scripts/             — build/codegen/debugging scripts
        ├── test/                — unit tests
        ├── platformio.ini       — build configuration
        └── LICENSE              — MIT

Build

Requirements

Steps

bash
git clone https://github.com/IS7V4N/ESP32_E-Reader.git
cd ESP32_E-Reader
git submodule update --init --recursive
~/.platformio/penv/bin/pio run -e 4mb -t upload

License

/Hardware are licensed under the CERN-OHL-W v2.

Firmware modifications follow the license of the upstream Crosspoint Reader project.

Parts

95
QtyValueFootprintReferences
104.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C15, C16, C17, C18, C22, C23, C26, C28, C29
810kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R10, R11, R18, R19, R20, R21, R23
6100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C4, C8, C9, C12, C30
510uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC5, C7, C10, C14, C24
4100kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12, R13, R24, R25
31uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC21, C25, C27
31uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C11, C13
3MBR0530Diode_SMD:D_SOD-123D2, D3, D4
2100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC31, C32
220RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR27, R28
2470RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5, R14
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7, R8
1100nFResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderC20
110RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR22
110uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC19
110uFCapacitor_SMD:C_0603_1608MetricC6
110uHInductor_SMD:L_Changjiang_FXL0420L2
112kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1
11MResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR16
12.2RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17
12.2kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6
12.5kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9
12.7kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR15
1330RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR26
13V3TestPoint:TestPoint_Pad_D1.5mmTP2
147uHInductor_SMD:L_Panasonic_PCC-M0540ML1
15.6kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
1BATTTestPoint:TestPoint_Pad_D1.5mmTP1
1BAT_MeasureTestPoint:TestPoint_Pad_D1.5mmTP6
1BOOTJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1BackButton_Switch_SMD:SW_SKRPACE010SW2
1BattConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalBT1
1CHRG_STATLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1
1ConfirmButton_Switch_SMD:SW_SKRPACE010SW3
1DW01APackage_TO_SOT_SMD:SOT-23-6U3
1E-Ink_Display_connector_01x24_SocketConnector_FFC-FPC:Mirrored_Hirose_FH12-24S-0.5SH_1x24-1MP_P0.50mm_HorizontalJ2
1EInk_Front_Light_Conn_01x06_SocketConnector_FFC-FPC:XUNPU FPC-05FB-6PH20_1x06-1MP_P0.50mm_HorizontalJ3
1EN_PushButton_Switch_SMD:SW_EVQ-P7C01PS1
1EPD_FLButton_Switch_SMD:SW_SPDT_CK_JS102011SAQNFrontLight
1ESP32-C3-WROOM-02RF_Module:ESP32-C3-WROOM-02U4
1FS8205A_DUAL_MOSFETPackage_TO_SOT_SMD:SOT-23-6_HandsolderingQ1
1LEDTestPoint:TestPoint_Pad_D1.5mmTP7
1LOGOLOGOG***
1LeftButton_Switch_SMD:SW_SKRPACE010SW4
1MCP73831-2-OTPackage_TO_SOT_SMD:SOT-23-5U1
1ME6211C33M5Package_TO_SOT_SMD:SOT-23-5U5
1Micro_SD_CardConnector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5J4
1NSR0240Diode_SMD:D_SOD-323_HandSolderingD5
1PowerButton_Switch_SMD:SW_EVQ-P7C01PS2
1RightButton_Switch_SMD:SW_SKRPACE010SW6
1Si1308EDLPackage_TO_SOT_SMD:SOT-323_SC-70Q2
1TPS61169DCKRPackage_TO_SOT_SMD:SOT-353_SC-70-5U6
1USBConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U2
1VBUSTestPoint:TestPoint_Pad_D1.5mmTP3
1VGHTestPoint:TestPoint_Pad_D1.5mmTP5
1VGLTestPoint:TestPoint_Pad_D1.5mmTP4

Questions

How big is the ESP32 C3 EReader PCB?

It measures 62.5 × 96.2 mm and has 4 copper layers, 1.61 mm thick.

What parts does the ESP32 C3 EReader use?

95 parts, built around the ESP32-C3-WROOM-02-H4, DW01A, ME6211C33M5G-N and USBLC6-2SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the ESP32 C3 EReader KiCad files?

From the IS7V4N/ESP32_E-Reader repository on GitHub, at the commit this page was made from: the board is Hardware/PCB/ESP32_C3_EReader.kicad_pcb and its schematic Hardware/PCB/ESP32_C3_EReader.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESP32 C3 EReader design in my own project?

Its repository states no licence, so its author keeps all rights: ask IS7V4N before reusing the design.

Similar boards

  • 4 layers121.9 × 44.4 mmBurnedHead, the printed circuit board in 3D

    BurnedHead

    justinbalexander/BurnedHead

    A handheld game console

    92 parts45Unlicense
  • 2 layers83.2 × 40 mmSmartdisplay, the printed circuit board in 3D

    Smartdisplay

    BearLaboratory/smartdisplay-hardware

    2.9寸墨水屏个人显示终端硬件显示

    46 parts175GPL-3.0
  • 4 layers28 × 70 mmEprinter, the printed circuit board in 3D

    Eprinter

    tact1m4n3/eprinter

    61 partsMIT
  • 4 layers45 × 32 mmTemplog mainboard, the printed circuit board in 3D

    Templog mainboard

    Michael-Manning/E-Paper-Climate-Logger

    Firmware, PCB, and enclosure for the Weathergotchi E-Paper climate logger.

    68 parts457MIT
  • 2 layers80 × 50 mmPrototype badge, the printed circuit board in 3D

    Prototype badge

    mpkendall/prototype-badge

    pcb badges for prototype!

    69 parts4MIT
  • 2 layers84 × 98 mmFalloutbadge, the printed circuit board in 3D

    Falloutbadge

    sophiayduan/badges

    hackathon pcb badges

    93 parts3Unlicense
  • 4 layers45 × 69 mmOpenVault, the printed circuit board in 3D

    OpenVault

    NoctaLabs-Sh/Nocta-One-Hardware

    Open hardware for the Nocta vault: an offline password manager with a 2.7 inch e-ink screen. KiCad schematic, board layout, gerbers and BOM. CERN-OHL-S v2.

    64 parts1CERN-OHL-S-2.0