Duet v0.1.0-alpha.9

Duet Alpha.9 updates the shared X3/X4 hardware layer to the current FreeInk SDK, adds support for newer display-controller variants and safer power handling, and includes reader fixes developed while testing real books on both devices. It also adds EPUB small-caps rendering, CJK and extended-character fallback through installed SD fonts, a repaired X4 software clock, and transactional typography changes that restore the last working settings if a relayout runs out of memory.

Downloads

  • Xteink X3: Duet-X3-v0.1.0-alpha.9.bin
  • Xteink X4: Duet-X4-v0.1.0-alpha.9.bin
  • Complete package: Duet-v0.1.0-alpha.9-firmware.zip
  • Optional 123-family font pack: Duet-Open-Font-Pack-v1.zip
  • Optional WordNet 3.0 dictionary: Duet-WordNet-3.0-StarDict.zip
  • Checksums: SHA256SUMS.txt

Verify the checksum, back up the complete SD card, keep a known-good recovery BIN, and flash only the artifact that names your device.

Hardware Compatibility And Safety

  • The vendored FreeInk SDK now includes current Xteink hardware detection, display-controller support, and power-latch safety behavior for newer X3 and X4 variants.
  • X3 refresh completion uses two-phase BUSY polling so a missed interrupt edge cannot leave the updater or post-refresh screen stranded.
  • X4 firmware uses the matching current display-driver route selected by hardware detection instead of assuming every X4 has the same controller.
  • The firmware updater and first boot continue to keep device-specific X3 and X4 binaries separate. Never flash an X3 BIN to an X4 or an X4 BIN to an X3.

Reader And Typography

  • EPUB font-variant: small-caps, font-variant-caps: small-caps, and font-variant-caps: all-small-caps survive CSS cascade, nested inline styling, layout caching, and rendering. When the bitmap family does not provide OpenType small-cap substitutions, Duet renders compact capitals from the active regular, bold, italic, or bold-italic face.
  • The active SD font can fill missing built-in UI glyphs without loading a second family, extending the CrumBLE-derived fallback path to CJK and other characters available in the installed font.
  • Font, size, spacing, and orientation changes are transactional. Duet commits the new per-book selection only after the complete chapter layout succeeds; a low-memory failure restores the last fully rendered settings instead of leaving the book trapped in a memory error or silently switching fonts.
  • A typography relayout can advance beyond its initial temporary page window while the complete chapter continues building.
  • The relayout origin remains anchored unless the reader deliberately moves during preview, preventing font-size changes from jumping several pages.

Usability And Time

  • Settings is now the first item in Apps so configuration and recovery controls are easier to reach from reading-focused Home layouts.
  • Clock Sync now repairs the RTC-less X4 software clock as well as updating the X3 hardware clock, allowing time-dependent network and statistics features to recover after a reset or firmware flash.

Verification

  • All 118 host unit tests pass.
  • Full X3 and X4 simulator smoke tests pass, including small-caps rendering, relayout preview advancement, complete relayout commit, and Home/statistics progress.
  • The forced low-memory X3 simulator path restores NV Bitter at its prior 14 pt selection after canceling an attempted typography change.
  • X3 public firmware: 5,960,976 bytes, with 592,624 bytes free in the OTA app partition; SHA-256 f7ea78e91ff614872cb77156ee68b837ff4cae8d89cf58a36a8d605e481d087d.
  • X4 public firmware: 5,823,888 bytes, with 729,712 bytes free in the OTA app partition; SHA-256 1dee9f0fd99c0bf1d52be39cbda71dc81388945120f7e527c8ff52146f962d06.
  • Source-equivalent private builds have booted and operated on Lauren’s physical X3 and X4. The exact public artifacts remain part of broader alpha acceptance, especially on newer hardware variants that the updated FreeInk detection supports.

Build and simulator success do not prove physical e-ink refresh, SD-card timing, sleep/wake, or long-session stability. Follow the Alpha.9 Device Acceptance route and keep the previous known-good BIN until the new build passes on your reader.

Installation And Recovery

For a first Duet installation or recovery, use the CrossPoint web installer’s Custom .bin option. For a Duet-to-Duet update, place exactly one device-matched BIN at the SD-card root and choose Settings > System > SD Firmware Update. After flashing, confirm Settings > System reports Duet 0.1.0-alpha.9.

Read Alpha Testing, Installation, and Troubleshooting before flashing.

Credits

Duet descends from CrossPoint Reader through CrossInk. Alpha.9’s hardware layer follows the current FreeInk SDK, and its CJK/extended-glyph fallback adapts audited CrumBLE work. Exact revisions, direct adaptations, design lineage, transitive credit, and licenses are recorded in THIRD_PARTY_NOTICES.md.

Duet is released under the MIT License. Copyright in Duet’s original modifications and additions is held by Lauren Landau; upstream copyrights remain with their respective authors.


This site uses Just the Docs, a documentation theme for Jekyll.