Skip to content

Waveshare 3.97 - experimental CrossPoint 1.5.0 port

Pre-release
Pre-release

Choose a tag to compare

CrossPoint for Waveshare ESP32-S3 e-Paper 3.97

An experimental community port for the integrated 800x480 Waveshare board
marked ESP32-S3-ePaper-3.97 (ESP32-S3, 16 MB flash, 8 MB PSRAM, SSD1677).
This is not an official Waveshare or upstream CrossPoint release.

Download waveshare397-v1.5.0-experimental.1.zip below. It contains both
reader and diagnostic firmware with bootloader/partition files, installation
instructions, license notices, and per-file SHA-256 checksums.

What has been exercised

Display and periodic cleaning refresh, rocker controls, EPUB reading, FAT32
SDMMC, SD fonts, charging telemetry, USB/battery operation, PWR sleep, BOOT wake,
and hardware shutdown. RTC and IMU were exercised in diagnostics.

The owner reports over a week of use with one unexplained crash and 72% battery
remaining without charging since setup. Five repeated sleep/wake cycles kept
the reading position. These observations come from one unmarked board and are
not a battery-runtime guarantee. One later power-on difficulty recovered after
USB/BOOT guidance; further testing is welcome.

Read before flashing

  • Use only the Waveshare build. X3/X4, Sticky, and standalone-panel images are
    not substitutes. Back up your original firmware and SD files first.
  • Follow the guide's diagnostics-first sequence and explicit flash offsets.
  • Brief PWR sleeps; brief BOOT wakes. Hold PWR 6-7 seconds for full shutdown,
    then about 2 seconds to turn on. E-paper retains its image while off.
  • A stronger cleaning flash after eight fast updates is expected.
  • The main charger is configured for 4.2 V / 400 mA; RTC backup charging is
    enabled at 3.0 V. Do not connect a non-rechargeable RTC cell.
  • CrossPoint audio, microphone, and environmental-sensor support are not
    implemented. Factory speaker operation was tested separately.
  • Online updates still check upstream CrossPoint; use this fork's USB package.
  • Full backup restoration, instrumented sleep current, all orientations,
    grayscale quality, and the complete network feature set are not qualified.

Build provenance

Reader source: c64094e304ca40f8fee92dc96350e3c862bc19a4.
Pinned SDK: 31a59346c1cad33b8fdc160803755b370596df96.

The packaged images are the successful 2026-08-28 compiler outputs, for which
both environments passed cppcheck. The reader differs from the device image
only in five gzip timestamps and the resulting ELF hash and image checksum/hash;
it is not a private flash dump. Public source includes the tested port plus
documentation and formatting changes. The ZIP manifest records both source commits.

A fresh recursive clone of the published source successfully built both
waveshare397 and waveshare397-diag on 2026-09-06 (America/Chicago).
Both targets also passed cppcheck with no defects in that fresh checkout.
These verification builds do not replace the packaged, previously tested images.

The GitHub-generated source archives omit submodules. For a complete source
checkout use:

git clone --recursive --branch waveshare397-v1.5.0-experimental.1 https://github.com/devofreck/crosspoint-reader.git

ZIP SHA-256:
748858ec324ee826903352d31f45248d2831df274f76b8a68ddd6cb37f91644c

Thanks to CrossPoint Reader, FreeInk, Waveshare's reference implementation,
Alex Vong's FolloUp Waveshare work, and XPowersLib. Please report reproducible
problems in this fork's Issues with firmware version, power source, and steps.
Review logs for private data before sharing; do not upload books or flash dumps.