Skip the introduction, go straight to the download
tenor/cross

download

Scroll down

Update firmware

GitHub

Open source. Better together.

If tenor/cross is useful to you, give the project a star on GitHub.

Application source is MIT-licensed. Libraries and fonts retain their own licences.

Star on GitHub
File sizes and SHA-256 v1.0.68
  • tenor-cross-v1.0.68-x3-x4.bin: 6,405,200 bytes, SHA-256 fb8c7e0a517d98dda4e7eaea620455eb32331568d53642f0257f8ebe07a0379b
  • tenor-cross-v1.0.68-x3-x4-factory.bin: 6,470,736 bytes, SHA-256 7625d369fd0b5dad76ad938f8c8df3bf38eed3541c7aeb31aeb68da5ae4ae6f4
  • tenor-cross-v1.0.68-sd-card.zip: 75,508,575 bytes, SHA-256 d4dbda5abbcbd10e9aee6703312c18d8970c1e7548c02c41a701d6b3d295d561
  • tenor-cross-v1.0.68-fonts.zip: 70,952,651 bytes, SHA-256 7c22c700cb03335ecc14019f03d128a30181b5f72a62a01c175c673f7475f79f
  • tenor-cross-v1.0.68-licenses.zip: 1,048,250 bytes, SHA-256 3f64b9f1add7373c6d4e3730eeaf13146f3b251a3c59faa3f27a26bc2c06d734
  • tenor-cross-v1.0.68-source.zip: 44,682,883 bytes, SHA-256 835e149f6d25a171301ff04b7bbf4cd7d820d4091b65e6536d2b1c7d64bcbfdd

X3 and X4

ESP32-C3 chip, one firmware for both devices

This firmware is for the X3 and X4 only. Do not install it on the X4 Pro.

Recommended

Download firmware + fonts v1.0.68

ZIP package, 75,508,575 bytes. Includes firmware and 7 font packages. Noto Serif and Noto Sans have 9 levels, -3 to +5; the other 5 families have 6 weight levels, 0 to 5.

SHA-256: d4dbda5abbcbd10e9aee6703312c18d8970c1e7548c02c41a701d6b3d295d561

Extract the ZIP, copy firmware.bin and the fonts folder to the root of your SD card, then update from the card. Restart to install the packages in /fonts.

Release notes v1.0.68

v1.0.68 asks before the image viewer replaces the sleep image, sends the Files page folder listing in chunks so it no longer holds the X3 web server for minutes, and takes variable font files as 1 family. tenor/ugly gives the previous default font back when Shantell Sans is deleted.

Full release notes (English / Vietnamese)

What changes from the CrossPoint base?

Features added or reworked in tenor/cross, relative to the CrossPoint base used for v1.0.0:

  • The tenor/cross interface. Icon tabs in the home and reader menus, consistent placement of headers, battery, clock and button hints, plus custom boot and sleep screens.
  • Button navigation. Hold Back to return Home, use side buttons to page through chapter lists, hold side buttons to reorder tabs and resume menus at the previous cursor position.
  • Favourites. Pin books, folders and frequently used settings to one tab for quick access.
  • Statistics and habits. Per-book statistics, activity over the past 30 days and habit nicknames such as Night Owl, with the supporting explanation shown when selected.
  • Fonts and ink weights. The download includes Atkinson Hyperlegible Next, Literata, Be Vietnam Pro, Geist, Livvic, Noto Serif and Noto Sans, plus optional chapter-opening drop caps. Noto Serif and Noto Sans have 9 levels, -3 to +5; the other 5 families have 6 weight levels, 0 to 5.
  • Recent books. A larger cover and quotation from the most recently read book, alongside up to 7 recent books. Books without a cover use the tenor/cross sleep artwork. Leaving a book returns to Recent books to continue reading.

EPUB reading, Wi-Fi file transfer, OPDS and KOReader sync continue to use the CrossPoint foundation.

Individual downloads & technical files

Canonical source: TenorGroup/cross. v1.0.68 release files: TenorGroup/cross-releases.

For an SD-card update using the standalone .bin file, rename it to firmware.bin before copying. The firmware + fonts ZIP already uses this name.

X4 Pro

ESP32-S3 chip, touch screen, I2C frontlight

Use this firmware on the X4 Pro only. Installing the X3/X4 firmware by mistake can brick the device so it no longer starts.

Download X4 Pro firmware v1.0.68

SHA-256: 5701b6257d92872b8ee48e62c41fe5c268c945eb2ace5a2058741ae06b777a55

.bin file, 6,484,576 bytes. Copy it to the root of the card as firmware.bin, then update the firmware from the card. A device on v1.0.59 or later uses tools/nap.py from the source package over the cable. An X4 Pro on v1.0.56 to v1.0.67 updates to this release over the air, from Settings > About & updates > Find updates. This release includes the Bluetooth page turner, paired under Settings > Device > Bluetooth turner. A measurement build from the same source ran on a real X4 Pro: the image viewer asked before replacing the sleep image. Updating over the air was not tried on an X4 Pro. A device on a release older than v1.0.56 installs this release once from an SD card.

Fonts are shared with the X3 and X4: 7 font packages, 6 or 9 levels.

Known issue U9 Noto: Built-in Noto supports all 6 levels after installing the matching Noto package.

tenor/ugly-as-hell on the X4 Pro is an early test.

X4 Classic

ESP32-S3 chip, buttons

Use this firmware on the X4 Classic only. Do not install it on an X3, X4 or X4 Pro.

Download X4 Classic firmware v1.0.68

SHA-256: c2d850c9f9af18a785d2db0a9bdce942a99f3f6a1fd173226c576daa77c7376d

.bin file, 6,410,816 bytes. Flash it by cable with esptool at offset 0x10000, or update over the air from Settings. The X4 Classic has no Bluetooth: its app slot is too small for the Bluetooth stack. This release was flashed by cable on a real X4 Classic and boots to the home screen. Updating over the air and from the card was not tried.

Fonts are shared with the X3 and X4: 7 font packages, 6 or 9 levels.

What's new

v1.0.68 20 October 2026 v1.0.68 asks before the image viewer replaces the sleep image, sends the Files page folder listing in chunks so it no longer holds the X3 web server for minutes, and takes variable font files as 1 family. tenor/ugly gives the previous default font back when Shantell Sans is deleted.

All devices

  • The image viewer asks before it copies the open image over the sleep image. Cancel redraws the image and leaves the sleep image as it was. Before, 1 Confirm press replaced the sleep image at once. This change comes from CrossPoint (#3994).

Web file transfer

  • The Files page sends the folder listing in chunks of about 1 KB. This fixes a listing that could hold the X3 web server for minutes right after the Files page loaded.
  • The Fonts tab counts variable font files such as Literata[opsz,wght].ttf with Literata-Italic[opsz,wght].ttf as 1 family. Before, the page read them as 2 families and refused them.
  • When a send breaks halfway through a new family, the Fonts tab says how many files arrived and asks you to delete that family before sending it again.

tenor/ugly

  • Deleting the ShantellSans pack while tenor/ugly holds the reader font: leaving tenor/ugly now gives the previous default font back instead of keeping the built-in font.
v1.0.67 19 October 2026 v1.0.67 lets an X3 or X4 take a TTF or OTF font straight from the web File Transfer page, without removing the card. The EPUB optimizer gains Keep KOReader sync, on by default, and tenor/ugly reads in Shantell Sans when its font pack is on the card.

X3 and X4

  • The Fonts tab of File Transfer takes a TTF or OTF file and converts it in the browser to the device format (.cpfont), in sizes 12, 14, 16 and 18. Pick 1 file per style. Vietnamese letters the font lacks are drawn from the font's own marks or a fallback font, and the page says how many.
  • The X4 Classic and X4 Pro keep taking TTF and OTF files as they are.

All devices

  • A .cpfont family without a regular style is refused, and the reader uses the built-in font instead of crashing.
  • The settings row Manage Fonts is now Get Fonts, and its screen is Font Library.
  • EPUB optimizer: a new Keep KOReader sync option, on by default. It only shrinks JPEG and PNG images to the screen and rewrites progressive JPEG images (shown blurred at 1/8 resolution) and interlaced PNG images. Text and file names stay unchanged and the book carries the KOReader id of the original, so KOReader on another device keeps syncing. Untick it for the old optimizer.
  • The web pages stored in the firmware are smaller, with comment lines dropped, which frees room for the new features.

tenor/ugly

  • tenor/ugly reads in Shantell Sans when the ShantellSans pack is on the card; download it from the Font Library once it is listed there. A font you picked yourself stays, and leaving tenor/ugly gives the previous default font back.
v1.0.66 19 October 2026 v1.0.66 is a fix release for all 4 devices. Text in some books no longer sticks to the first word of the next block, the web upload page sends file names in NFC, and an X3 keeps its motion settings when the sensor misses a boot.

All devices

  • Text that runs straight into a heading or a block, such as two<div>three, no longer sticks to the first word of the new block as twothree.
  • After the update, every book rebuilds its chapter cache once: the first page of each chapter takes the usual first-open time.
  • Dictionary: a definition too long for the free memory shows Not enough memory instead of crashing the device.
  • File search now lists .xtch books.
  • Web file transfer: names of files uploaded from the browser are sent in NFC, so the duplicate check finds a file of the same name already on the card. WebDAV from the Finder still sends NFD names, and NFD names already on the card stay as they are.
  • Web file transfer: a dialog no longer closes when a text selection ends outside it, for example while selecting the name in Rename.

X3

  • If the motion sensor does not answer during one boot, the next save no longer drops the 12 Gestures settings. While the sensor is missing, those rows stay hidden on the device and on the web settings page.

X4 Pro and tenor/ugly

  • The Connecting and Connected screens cut a long network name by width only, so a Vietnamese character is no longer split into a replacement box. Not yet checked on a real network with such a name.
v1.0.65 19 October 2026 v1.0.65 adds the Bluetooth page turner to the X4 Pro firmware. On the X4 Pro, pages now keep their gray anti-aliasing while Bluetooth is on.

X4 Pro

  • The Bluetooth page turner now ships in the X4 Pro firmware. Pair it under Settings > Device > Bluetooth turner.
  • Pages keep their gray anti-aliasing while a Bluetooth remote is connected.
  • If Home has too little free memory, the radio starts when you open a book and the remote connects a few seconds later.

X4 Classic

  • The X4 Classic still has no Bluetooth: its app slot is too small for the Bluetooth stack.
v1.0.64 19 October 2026 v1.0.64 adds EPUB downloads over WebDAV on the X4 Classic and X4 Pro, and stops fast button presses from being dropped on the X3, X4 Classic and X4 Pro. On the X3, if the SD card stops answering while you read, the device restarts and reopens the same page.

All devices

  • Fast repeated button presses are no longer dropped. In a 20-press test the X3 and X4 Classic handled all 20; v1.0.63 handled 16 on the X3 and 15 on the X4 Classic.
  • On-screen keyboard: a long press that ends while the screen is refreshing now counts as a long press.
  • The dictionary matches Vietnamese phrases more closely and always orders the results the same way.
  • With Bluetooth on and no page turner paired, the radio stays off while you read, so the "Invalid book" error and the out-of-memory restart are gone.
  • The SD card error screen is shown in Vietnamese, English and Chinese. The old reading position stays until the new one is fully written.

X3

  • If the SD card stops answering while you read, the device restarts and reopens the same page, at most once per power-on.

X4 Classic and X4 Pro

  • Download EPUB books from a WebDAV server to the SD card. Each EPUB is checked before it replaces a file on the card, and Back cancels a running download.

X4 Pro

  • Fast repeated button presses are no longer dropped: in a 20-press test with synthetic presses the X4 Pro registered all 20; the build before the fix registered 5.
  • The WebDAV screen has the bottom bar and back button like the other network screens.
See older versions
v1.0.63 17 October 2026 v1.0.63 stops the X4 Classic from losing button presses when you type fast, and draws the X4 Classic Home cover in the tenor/ink 1 bit style. The X3, X4 and X4 Pro behave as in v1.0.62.

X4 Classic

  • Button presses are no longer lost when you type fast. On the Wi-Fi password keyboard a real device registered 20 of 20 synthetic presses instead of 5 of 20. The 10 ms button sampler now runs for the X4 Classic GPIO buttons.
  • Home draws the book cover in the tenor/ink 1 bit style.

X3, X4 and X4 Pro

  • Behaviour is unchanged from v1.0.62.
v1.0.62 16 October 2026 v1.0.62 keeps the page number on the return button correct after you change text size, drops an extra restart when pulling KOReader progress, folds the status bar into 1 row with 5 choices, and sends Back in Files straight to the Files tab of Home.

Reading

  • The return button after a jump keeps the right page number when you change text size or layout in between. While the new page number is unknown, the button shows ‹ without a number.

KOReader sync

  • With Automatic sync on, after at least 30 minutes of sleep, the first book opened from Home, or a device that wakes straight into a book, pulls progress before the first frame, with 1 restart so Bluetooth comes up with it. The page is no longer drawn twice.
  • A remembered Wi-Fi access point that fails once is skipped next time and the device scans straight away, saving a 4 second wait.

Fonts

  • The Fonts screen no longer shows a false Update, and Update all skips unchanged packages. Packages installed from an earlier release show Update once to get a receipt.

Files and status bar

  • Back from a folder right under the root goes straight to the Files tab of Home and remembers the selected row.
  • 1 Status bar row with 5 choices replaces Global status bar and Button hints.

X4 Pro

  • This release has X4 Pro firmware (x4pro.bin). The cable flash has run on a real X4 Pro; over the air has not been tried.

X4 Classic

  • This release has X4 Classic firmware (x4c.bin) with over-the-air support. A device with no saved reading menu style opens the Toolbar by default, and Back from a folder right under the root goes straight to the Files tab.
v1.0.61 15 October 2026 v1.0.61 takes you back to where you were after a jump, adds Search in book on the X4 Pro, Automatic sync with KOReader, 3 lighter weights for Noto, and 2 new Home screen styles on the X3.

Reading

  • After a jump from the table of contents, a percentage, a quote, a link, or a search result, the status bar shows the page you return to. On the X3 and X4, a short press of Back takes you there. The X4 Pro shows a ‹ button in the bottom bar for 3 seconds, or you can swipe from the left edge.
  • Weight has 9 steps from -3 to +5. Noto Serif and Noto Sans add 3 lighter steps.

X4 Pro

  • Search in book is under reading menu > More. Typing without accents still finds accented text.

X3

  • The reading menu opens straight on the Favorites list, and Back closes it at once. The pinning tip goes away after you pin the first item.
  • Home screen has 2 more styles, Shelf and Big cover.

Sync and titles

  • An Automatic sync switch in KOReader Sync settings, off by default, uploads your place at sleep and pulls a place saved by another device when the device wakes straight into the book after at least 30 minutes of sleep.
  • Titles with a long subtitle show in short form on every screen and keep a closing bracket such as (tenor version).
v1.0.60 14 October 2026 v1.0.60 adds citation export, file sorting, 12 week statistics, and white covers for books without artwork. The X4 Pro accepts any firmware from the SD card and uses tools/nap.py over cable on a device running v1.0.59 or later.

X4 Pro

  • Export every saved quotation as Kindle format My Clippings.txt with the book, chapter, and page.
  • SD card updates accept every firmware. Cancelling or failing a cable update while reading returns to the same book, and the next attempt works.

Files and Home

  • Sort by name, modified date, or size. The File screen remembers its last folder after sleep, and the Folder card opens it directly. Search results keep relevance order.
  • Books without a cover show a white cover with the title and author.

Statistics

  • The 12 week view spans 3 pages, and a By hour page is available. Charts have 2 y axes, with bars for reading hours and lines for minutes per session or session count.

Interface fixes

  • X3 shows the book icon, all 5 tab names, and the Favorites tip in the reading menu again. A 2 line selected row stays inside its frame. X4 Pro writes full tab names in the tenor/ugly toolbar.

CrossPoint upstream

  • Includes fixes from PR #3923, #3219, #3899, #3872, #3831, #3484, #3875, and #3801.
  • The first time you open each chapter after the update, the device lays it out once.
v1.0.59 13 October 2026 X4 Pro Home no longer flashes, the X4 Pro release build can be flashed over the USB cable, features left without a button by the redesign since v1.0.52 can be reached again, and Recent keeps 7 books.

X4 Pro

  • Home: entering the Recent tab, switching books and leaving the tab each take 1 fast redraw in place. Measured on a real X4 Pro: 485 ms, 478 ms and 610 ms.
  • 1-bit covers on Home are dithered like on the X3. The tenor/cross sleep screen shows its artwork.
  • Vietnamese Telex typing on the on-screen keyboard. Touch and hold to reorder tabs and Favorites. Pull down at the top of the file list to search files.

Cable flashing

  • The X4 Pro release build accepts firmware over the USB cable with tools/nap.py from the source package. The device asks you to confirm on screen before it writes. The device must already run v1.0.59-rc.1 or later; older releases update over the air or from the SD card first.

X3

  • The custom status bar fits all 5 items again, with the chapter title back in the bottom strip as in v1.0.53. New "Button hints" switch in Display. Rename files from the file menu.
  • Indexing a book with very many chapters for the first time keeps free memory above the level held for Bluetooth. The quotation detail screen shows the page count only when a quotation runs longer than 1 page.

Both devices

  • Recent keeps 7 books, up from 5.
  • Opening a book with many links reads far less from the card: a book with 399 links read 2,234,400 bytes before and reads 19,950 bytes now.
  • Back cancels the update check, the web transfer and WebDAV.

Before you update

  • X4 Pro: if you cancel a cable flash while a book is open, the device goes back to the screen before the book. The book keeps its page. This will be fixed in v1.0.60.
  • X4 Pro: the recovery keys (hold POWER and DOWN) have not been tried on a real device yet.
  • The X4 Pro can update over the air from Settings > About & updates > Find updates, including a device on v1.0.56, v1.0.57, v1.0.58 or v1.0.59-rc.1. A device on a release older than v1.0.56 needs this release installed once from an SD card.
  • The X4 Classic keeps its separate v1.0.55-x4c-beta pre-release; it is not part of this release.
v1.0.58 11 October 2026 Progressive JPEG covers on the X3 show sharp, switching books on Home takes 1 redraw once the cover is cached, X3 card bars and dialogs match the X4 Pro, and File transfer no longer hangs on exit.

Book covers

  • When the X3 has been still on Home for about 3 seconds, it decodes the progressive JPEG cover on screen from the full-resolution image and redraws the card. Each cover takes about 2 seconds, runs once, and is then cached. Any key press stops the work right away.
  • Books without a cover get a new placeholder on the X3 and X4 Pro, taken from the tenor/cross sleep artwork and drawn with tenor/ink.

Faster Home

  • Switching books on Home takes 1 redraw once the cover is cached, in all 3 styles. It used to take 2 to 4 redraws in a row. Books that have a cover no longer flash the placeholder while the real cover is on its way.

X3 interface

  • Card bars have a dotted gray frame 16 pixels from the screen edge, and the screen name on sub-screen bars sits in a dotted gray pill, like the X4 Pro.
  • Value pickers and confirmation dialogs have proper rounded corners, with the ✓ sitting inside its row. The boot screen uses the new tenor/cross lettering, and the sleep screen has a softer background fade.

tenor/ugly and File transfer

  • tenor/ugly: Desk no longer cuts off the Folder and Favorites labels or the selection circle; the battery percentage is written next to the battery icon; Reading habits no longer draws its text twice.
  • File transfer no longer runs low on memory when opened right after Settings, and uploading a book then leaving no longer hangs the device.

X4 Pro and wording

  • X4 Pro: tapping the gap between 2 list rows now opens the nearest row.
  • Error messages say what happened and what to do, in Vietnamese and English.

Before you update

  • After updating, each Home card is rebuilt once on its first visit, so the first pass is a little slower.
  • X4 Pro: switching books on Home still flashes twice (a fast redraw, then a full-screen 4-level gray pass). Refreshing only the cover area is being worked on for a later release.
  • X3 with a Bluetooth remote connected: switching to another book can sometimes leave too little contiguous memory for Bluetooth, and the device restarts. This predates this release and is being worked on for a later one.
  • The X4 Pro can update over the air from Settings > About & updates > Find updates, including a device on v1.0.56 or v1.0.57. A device on a release older than v1.0.56 needs this release installed once from an SD card or via USB.
  • The X4 Classic keeps its separate v1.0.55-x4c-beta pre-release; it is not part of this release.
v1.0.57 11 October 2026 X3 navigation moves to the bottom, covers are drawn with tenor/ink (4 grey levels on the X4 Pro, 1 bit on the X3), the live Text sheet is back and settings use iOS-style switches.

X3 interface

  • Navigation sits just above the button hints, battery and clock, with 5 icon tabs on Home. The Select button hint now shows Enter (↵).
  • Pill-shaped scroll indicators sit outside the panels and stay visible on the X3.

Reading menu and settings

  • The live Text sheet is back on the X4 Pro and in the X3 Toolbar style: changing the font, size or line spacing reflows the page you are reading straight away.
  • On/off settings use iOS-style switches. Choices with 2-6 values open a menu with ✓ before the selected item; 7 or more use a separate list screen.

Covers and Home

  • Home covers are drawn with tenor/ink: 4 grey levels on the X4 Pro, and the 1-bit version of the same algorithm on the X3, so Home appears in about 0.6 seconds. The X4 Pro decodes progressive JPEG covers in full using PSRAM, so they are sharp on Home and on the sleep screen.
  • The X4 Pro has 3 Home layouts: Cover and stats (default), Big cover or Shelf.

X3 memory

  • On a physical X3, the Bluetooth remote reconnected after 12/12 reading menu closes, against 6/12 before. With Bluetooth running, opening a chapter with images can take about 0.2 seconds longer.

Before you update

  • X3 with a Bluetooth remote connected: opening a book straight after another can restart the device to regain memory, then reopen the book.
  • 4-level grey Home covers on the X3 are not in this release: the current grey pass makes Home about 5 seconds slower.
  • The X4 Pro can update over the air from Settings > About & updates > Find updates, including a device on v1.0.56. A device on an older release needs this release installed once from an SD card or via USB.
  • X4 Classic keeps v1.0.55-x4c-beta, untested on a physical device.
v1.0.56 9 October 2026 6 reading text weight levels, 7 new font packages and Connect remote through Hold Select.

Fonts and weight

  • There are 6 weight levels, 0 to 5. Download the new font packages for all levels; older installed fonts remain readable.
  • 7 families, each in 1 .cpfontpack file. Copy packages to /fonts and restart, or use Download fonts with 2 progress bars.

Bluetooth and chapter names

  • Remote choice has First on as the default and Preferred. Bluetooth switches off after 30 idle seconds without a connection; restart with Hold Select set to Connect remote or reopen the book.
  • Chapter names on X3/X4 use spare room from the side slots, keeping the beginning and cutting at the end.

Before you update

  • X3 with a remote connected can still run low on memory, slow down the reading menu or need the book reopened to reconnect.
  • Install X4 Pro from an SD card or via USB; OTA is unavailable. X4 Classic keeps v1.0.55-x4c-beta, untested on a physical device.
v1.0.55 9 October 2026 Faster X3 reading menu, startup choices in tenor/ugly and a scrollbar for the X4 Pro.

X3 and tenor/ugly

  • Each Toolbar reading menu step fell from about 825 ms to about 630 ms, measured on X3 running x3-rel-probe.
  • tenor/ugly adds startup choices and tilt navigation.

X4 Pro and Bluetooth

  • Scrolling screens share a scrollbar near the right edge, hidden after 2 seconds. Text size is centred between - and +.
  • Remote B offers Connect while A is connected. If B fails to connect, A remains selected.

Before you update

  • Install X4 Pro from an SD card or via USB; OTA is unavailable. X4 Classic has a separate beta, untested on a physical device.
  • Built-in Noto fonts lack bold variants. With Bluetooth on, the X3 reading menu can slow down and the remote may need the book reopened to reconnect.
v1.0.54 9 October 2026 v1.0.54 updates tenor/cross firmware for the X3, X4 and X4 Pro.

Firmware

  • Download the file for your device: tenor-cross-v1.0.54-x3-x4.bin for X3 and X4, or tenor-cross-v1.0.54-x4pro.bin for X4 Pro. File sizes and SHA-256 checksums are listed above.
  • U9 Noto: bold weight applies only to font faces with a matching variant.
v1.0.53 7 October 2026 v1.0.53 is the first build for the X4 Pro (touch). On the X3 and X4, tenor/ugly-as-hell is now drawn by hand on 55 of its 74 screens and the toolbar reading menu is reworked.

X4 Pro

  • Page turns by tap zones in the KOReader way. Tap the top edge of the page for the Top menu (light, warmth and screen rotation). Move 2 fingers to change the light.
  • Settings in 3 groups. On every screen, the round back button in the bottom bar appears when there is a screen to go back to. Framed lists with dotted rules.
  • tenor/ugly-as-hell as an experiment, on a sheet of scratch paper: scribble back and forth to drop a row, circle it to pin it.
  • Install tenor-cross-v1.0.53-x4pro.bin by cable or from the SD card. The X4 Pro does not update over the air yet.

tenor/ugly-as-hell on the X3 and X4

  • Drawn by hand on 55 of the 74 screens a button device reaches. v1.0.52 had 17.
  • The clock sits beside the battery in pen strokes. Sleep and wake lines take turns, and none appears 2 times in a row.

Reading menu on the X3 and X4

  • The toolbar has 4 tabs: Contents, Text, More and Favourites. The Text tab has all 14 text settings.
  • Hold Select for 1 second on a row in Text, More or Favourites to pin it to Favourites or unpin it.
  • Known issue: on the X3 and X4, the Toolbar reading menu can restart the device when you switch to the Text tab. The List menu, the default, is not affected. Keep the List menu until v1.0.54.

Fixes

  • A book you leave no longer leaves a gray shadow behind the Recent cover.
  • Reader status bar in More now lists the 6 modes.
  • A File row no longer carries the name of the row after it.
v1.0.52 6 October 2026 v1.0.52 reworks the tenor/cross interface, adds the tenor/ugly-as-hell interface (17 of its 74 screens drawn by hand so far), and fixes 2 Bluetooth problems.

Interface

  • Round icons and tab bar, a white pill with a black ring for the selected row, and 1 Geist interface font at every size from 8 to 16.
  • The older themes (Classic, Lyra, Lyra Extended, RoundedRaff, Cover Grid) are removed. A device that used one opens in tenor/cross.

Home and reading menu

  • The Recent card has a bigger cover and 6 reading statistics. The Statistics tab has a 7-day chart and a 30-day reading history.
  • Settings sit on 1 page. The reading menu opens font choices inside the menu and previews changes on the book page.

tenor/ugly-as-hell

  • A hand-drawn interface with a rude, friendly voice and its own sleep screen. 17 of its 74 screens are drawn by hand so far and 6 more in part; the others show the tenor/cross interface for now and will be drawn in later versions.
  • It boots on its own doodle: the dog asleep on a stack of books.
  • A device with no name of its own is called xau-nhu-cho on the network on this interface. Changing the interface changes the .local name with it.

Fixes

  • PNG pictures in books appear after Bluetooth has been on.
  • Leaving a book while a Bluetooth remote reconnects no longer restarts the device.
  • The BOOX Keypage remote turns pages with both code sets it sends, without button mapping.
v1.0.51 3 October 2026 v1.0.51 makes the BOOX KeyPage remote turn pages both ways, fixes the battery percentage on some X3 units, and keeps the Bluetooth remote connected while new chapters are laid out.

Bluetooth

  • The BOOX KeyPage turns pages both ways and has a built-in button table, with nothing to set up.
  • A remote choice left from an unfinished pairing no longer blocks the remote you use.

Memory

  • 150 page turns with Bluetooth on, on the X3: the radio no longer has to stop for memory (6 times on v1.0.50).
  • Reopening a book from the recent list no longer fragments the reader's memory.

Battery

  • X3 units whose gauge learned the wrong capacity (about 2,744 mAh in place of 650 mAh) are corrected at start-up.
v1.0.50 29 September 2026 v1.0.50 brings in CrossPoint 1.6.5, keeps the Bluetooth remote working in very large books, and fixes updates that stopped part way through the download.

CrossPoint 1.6.5

  • The clock uses a time zone with daylight saving and keeps your saved offset.
  • An About screen, renaming files and bookmarks on the device, footnotes that open over the page.
  • Opening books, turning pages and going to sleep are faster than v1.0.19 on the X3.

Bluetooth

  • The remote starts and keeps working across chapters in a 5,000-chapter book.
  • The status line shows when the remote is connecting or could not connect.

Battery and updates

  • The shown battery percentage no longer jumps; the About screen shows the battery chip's numbers.
  • Updates download in 192 KB parts and each failure is written to the card.
v1.0.19 28 September 2026 v1.0.19 fixes double tap staying dead after the device wakes, adds double tap on the screen and on a side edge, and lets you tilt through every list.

Gestures

  • X3: fixes double tap not working after a wake. If 3 tries to start the sensor fail, the firmware restarts the motion chip and tries again; turning it off and on tries at once.
  • X3: double tap has 3 rows: on the back, on the screen, on a side edge. Taps on the screen now count from 425 mg instead of 650 mg.
  • Tilt up or down to move one row on every list screen, including an open list of choices.
v1.0.18 27 September 2026 v1.0.18 fixes double tap after sleep, lets the Bluetooth remote recover when memory breaks into pieces in very large books, and tidies the Bluetooth settings page.

Sensor and remote

  • X3: double tap works again after the device sleeps and wakes, ready about 1.2 seconds after waking. It used to need turning off and on in Settings.
  • Very large books: when memory in pieces keeps the radio from starting 3 times in a row, the device saves your place and restarts quietly into the same page, once.
  • Bluetooth settings: the 6 button rows sit under one Bind buttons row, and devices found by a scan appear right under Scan for devices.
v1.0.17 26 September 2026 v1.0.17 fixes the battery percent on the X3, adds a Motion sensor tab with three new gestures, and brings smaller fixes to Home, the sleep screen, the Bluetooth remote and reading.

Battery and sensor

  • X3: the firmware loads the real 650 mAh into the battery chip, so the percent follows the battery. It may drop once right after updating.
  • A new Motion sensor tab in Settings gathers every tilt and shake row; your settings are kept.
  • Face down, face up and double tap on the back: each runs an action you choose, Off by default. Double tap has not been tried by hand on this build.

Screen and remote

  • The boot picture no longer stays faintly behind the Recent card after a cold start (X3, UC8279 panel).
  • The Tenor sleep screen keeps its light grey tenor/ with Bluetooth on; pictures in books are scaled down more smoothly.
  • Bluetooth remote: learning never takes the resting state as a button, up to 8 quick presses all arrive, and a button can open the reading menu or save a quotation.

Reading and more

  • The next chapter's first page comes up about 0.7 seconds sooner after a pause on the last page; Home opens on the book you just read.
  • Paper Mono: the power button puts the device to sleep again. Settings > Device shows the display chip.
  • The source is now a GitHub fork of CrossPoint that keeps its history and original authors.
v1.0.16 26 September 2026 v1.0.16 opens books faster, very long books most of all, adds shake and power-button controls on the X3, and makes Back close the File Transfer screen faster.

Books and SD card

  • A 5,000-chapter book with a cover now opens from about 28 seconds down to about 9 seconds; books with 400 chapters or more read the first chapter straight away while the Table of Contents keeps building in the background.
  • A regular book on the SD card opens from about 5 seconds down to about 1.5 seconds, because the card library now finds free space faster after a file is deleted.
  • Fixed a 5,000-chapter book that sometimes failed to open on the first try.

Controls

  • On the X3, Settings > Controls now has Hard shake and Shake strength: shaking the device or quick-pressing the power button can do five things, including refresh the screen, sleep, turn the page, go back, and select. Off by default.
  • Tilting to move around a menu no longer misfires when the device is picked up from a table.

Reader and File Transfer

  • Pressing page-turn 2 to 3 times quickly now merges into one refresh straight to the target page.
  • The battery icon updates within about 0.4 seconds when the cable is plugged in or unplugged, without redrawing the page.
  • On the File Transfer screen, Back now closes the screen faster when an upload stalls entirely, from up to 5 seconds down to about 0.2 seconds.
v1.0.15 25 September 2026 v1.0.15 fixes the grey noise some X3 units showed on v1.0.14, makes Wake into the book open the book read last, and lets Back stop an upload on the File Transfer screen.

Screen

  • The switch-off of the panel voltage after a minute left alone, added in v1.0.14, is removed, because on some X3 units it filled the white of the screen with grey noise. The panel is driven as in the CrossPoint firmware: the voltage goes off at sleep, or after every refresh when Sunlight Fading Fix is on.

Wake and File Transfer

  • With Settings > Sleep > Wake into the book on, waking always opens the book read last, also when the reader went to sleep from Home.
  • On the File Transfer screen, Back stops an upload in progress, deletes the unfinished file and closes the screen. With a 3 KB/s upload: 79 s before, 0.5 s now.
v1.0.14 25 September 2026 v1.0.14 lets you bind each Bluetooth remote button, makes the Free3 third button move between chapters, opens books with thousands of chapters, and makes leaving a book, changing chapter, sleep and wake quicker on the X3.

Tenor setup and screen

  • New installs start with Tenor's reading setup: spacing, reading ink, the Book + quotation sleep screen, the status bar clock and tilt to turn pages. Updating applies it once; language, Bluetooth, sleep timeout and button mapping stay as they were.
  • A page left on screen no longer fades: the panel's drive voltage switches off after a minute without a refresh, and turns within that minute are as quick as before.

Bluetooth remotes

  • Settings > Device > Bluetooth page turner (beta) has four binding rows: next page, previous page, next chapter, previous chapter. The reader records the button you press, with a separate set for each remote.
  • Free3: a short press on the third button goes to the next chapter, holding it goes back one. The reader used to ignore this button.

Books with many chapters

  • A 5,000-chapter book used to restart the reader when opened. On the X3 the first opening now takes about 25 s until the page shows, and later ones about 2.5 s.

Quicker on the X3

  • Back after reading a page: 1.45 s to 0.85 s. Back while the reader was still turning several pages: 4.7 s to about 1.1 s.
  • Holding the page button for the next chapter: 3.3 s to 2.4 s. In our test with Bluetooth on, the Indexing notice only appeared when the book was opened.
  • Going to sleep with the Book + quotation screen: 4.8 s to 4.2 s. Waking to Home fully drawn: 2.2 s to 1.7 s.

Home and covers

  • The Recent card and the book statistics screen show the expected finish date.
  • Covers on the Recent card are no longer stretched. The Cover sleep screen on the X3 is no longer washed out.
  • The selected Home tab has an even rounded outline. Arrows that say there is more are open chevrons.
v1.0.13 25 September 2026 v1.0.13 fixes the X3 battery reading, makes sleep, wake, opening, switching and leaving books much quicker on the X3, and adds a switch for each value on the reading status bar.

Battery

  • The X3 could show a wrong charge, for example 80% to 7%, because the screen drawing and the main loop read the charge chip at the same time. Only the main loop reads it now.

Faster on the X3

  • Going to sleep with the Book + quotation screen: 9.2 s down to 4.7 s. The cover is read once instead of three times.
  • Waking to Home fully drawn: 3.0 s down to 1.9 s. Going back to Home: about 0.8 s. A Recent card you have seen before comes back in about 0.6 s.
  • Reopening a book: about 2.0 s down to 1.2 s. The first page turn after opening: 1.5 s down to 0.6 to 0.7 s. Back from a book to Home: 1.3 to 1.5 s down to about 0.7 s.

Sleep screen

  • Black and white refresh before sleep turns the screen fully black, then fully white, then shows the sleep image to clear the page. The image is ready first, so the white screen lasts one refresh.

Reading and Home

  • Settings > Reader > Customise Status Bar has a separate switch for Chapter name, Chapter Page Count and Book Progress Percentage.
  • File Transfer opened from a book takes you back to your page.
  • New books get their Home cover with Bluetooth page turner (beta) on. The book title on the Recent card is one size larger.
  • Three cases that stopped reading statistics from being recorded are fixed.
v1.0.12 23 September 2026 Page buttons no longer lose presses, a short Power press sleeps and wakes the X3 (checked on USB power), quick actions on the Confirm hold, flick strength by direction, a black and white refresh before sleep on X3, and rounded corners across the interface.

Page turns

  • Every press turns a page, including presses made while the previous page is still drawing; two quick presses move two pages.
  • With Bluetooth on, the reader lays out the next two pages while you read, so a new page appears about 0.7 s after the press.

Buttons and tilt

  • With Short Power Button Click set to Sleep, a short press also wakes the X3 (checked on USB power).
  • Hold Confirm while reading gains File Transfer and Tilt Page Turn; both also sit at the end of the Tools tab and can be pinned to Favorites.
  • New Side flick strength and Up/down flick strength, each Light, Medium or Strong.

Sleep screen and look

  • On X3 the sleep screen ends with a black and white refresh, to guard against darkening over hours. It can be turned off in Settings > Sleep.
  • Corners across the interface follow one scale; the cover on the Recent card is rounded too.
  • The quotation list inside a book fills the screen, with a larger chapter line.
v1.0.11 23 September 2026 Quotations rebuilt from end to end, a Recent tab that shows one book with its reading statistics, the Book + quotation sleep screen, a new return arrow, and the Hold to wake setting removed.

Quotations

  • Browse by book, numbered, sorted by date or by page, with the page buttons turning a whole screen.
  • Open a quotation: the text under a large quotation mark, then book, chapter, saved date and time, page; Left and Right step to the previous or next one.
  • Delete, trim the start or the end, and reselect the passage on its page from Tools > Quotations in this book.
  • Highlights no longer stop drawing past 256 quotations; older quotation files are renamed once at boot.

Recent and sleep

  • The Recent tab shows one book: cover on the left, reading statistics on the right, title, author and a saved quotation below.
  • New Book + quotation sleep screen: a random saved quotation, drawn large with the book's cover.

Buttons and settings

  • Back is a return arrow and Select a rounded tick of the same stroke.
  • Hold to wake is removed: on X3, running on battery, sleep turns the device fully off, so only the Power button can start it.
v1.0.10 22 September 2026 Fix release for v1.0.9: Statistics > Quotes opens at once instead of taking a minute, the quote detail shows book, chapter, date and time, page, and a render-lock race after saving a quote is closed.

Quotes

  • Statistics > Quotes opens at once: the body is laid out with the built-in serif font and only visible rows are measured, with no SD reads.
  • Opening a quote shows the book title, chapter number and name, saved date and time, and page.
  • Rebuilding quote anchors after a save now holds the render lock.
v1.0.9 22 September 2026 Steadier EPUB reading with Bluetooth: no re-indexing on page turns and no low-memory crash. The sleep screen loses its ghost text, tilting up or down moves the selection, and saved quotes are highlighted in the book.

Bluetooth and indexing

  • A page turn no longer re-indexes the chapter on every press when Bluetooth page turning is enabled.
  • Fixed a low-memory crash while building new EPUB pages with Bluetooth active: the radio stops to free memory, finishes the page, then starts again.
  • A Bluetooth start refused for memory while the first page is building is retried a few seconds later, once the page is on screen and memory is free.
  • The highlight is one continuous band including spaces; holding a button while selecting speeds up; Statistics > Quotes is redrawn as quote blocks with a left bar, the reading font and a small source line.

Sleep screen and navigation

  • The sleep screen now runs a full clearing pass before drawing, so the previous page no longer shows through as ghosting.
  • The tab tilt and the new vertical tilt directions were set by hand on an X3.
  • New setting Controls > Tilt to move up or down: tilt the device towards or away from you to move the selection up or down, like the up and down buttons. Off by default, with Normal and Inverted modes.

Reader and interface

  • The reader's text margin is now equal on both sides of the page.
  • The battery and clock sit further from the screen corners, with rounded battery corners.
  • Opening a book for the first time no longer waits for the cover thumbnail, which saves about three seconds.
  • Saved quotes now stay highlighted in the book. Quotes from earlier builds are highlighted only after being saved again.

Still open

  • A quote highlight can drift by a few words after the reading font size is changed.
  • The horizontal lines one reader saw on entering sleep have not been reproduced.
  • X4 current draw and clock drift remain unmeasured; X4 Pro has no release.
  • Downloading the full font set over Wi-Fi has not passed on X3; file transfer remains passwordless.
  • Holding a Free3 button cannot skip a chapter: the remote reports a fixed release 60 to 100 ms after every press, so a hold looks like a tap; a press still turns one page at once.
v1.0.8 20 September 2026 Adds three independent tab-tilt modes, a Sleep tab, three interface sizes, four reading ink levels, clearer Wi-Fi flows and Free3 support on X3.

Navigation and file transfer

  • Tab tilt offers Off, Normal and Inverted modes, stored separately from page-turn tilt in the reader. Each gesture moves one tab; modals, keyboards and boards without a sensor block this path.
  • The new Sleep tab groups sleep screen, cover, cover filter, quick resume, wake into book, sleep timeout and light restoration settings. Display keeps the display settings.
  • Wi-Fi screens retain focus after a rescan, show the Network label in full, and let Back leave connection, error and keyboard screens at the correct level. Passwords are masked, and hidden and saved networks keep separate paths.
  • File transfer on X3 restores three choices: Join network, Wireless Calibre and Create hotspot. A transfer session stops after an idle timeout and cleans up networking before exit.
  • The interface offers Small, Medium and Large sizes. Small retains the previous layout; the choice is saved and applied again after restart. Small icons have contextual labels placed beside them.

Text and reading

  • Chapter drop caps use guarded bitmap reconstruction. Invalid input or a glyph that fails the shape guard falls back to the previous byte-exact output.
  • Built-in interface fonts use restored Geist and Be Vietnam Pro sources with OFL licences and pinned source checksums. CJK Home excerpts use an interface font with the required glyphs.
  • Long interface text keeps the correct font on every wrapped line.
  • The reader shows four inline ink levels, 0, +1, +2 and +3. If the selected font file is missing, it shows “Weight not installed”. +1 retains the previous Strong bytes; +2 and +3 come in the new 160-file font pack while preserving glyph advance and glyph part counts.

Time, statistics and power

  • Valid system time remains usable when a device lacks an RTC or an RTC read fails. Statistics accept validated dates only; after full power loss the device waits for an external time source before assigning a day.
  • Wi-Fi and network steps have bounded waits plus cancellation and resource cleanup. OPDS searches accept cancellation, and each new action resets the five-minute idle exit. Protected writes and firmware updates retain their own finishing rules.

Bluetooth Free3

  • Bluetooth page turner is available under reader Tools and EPUB More. The pairing flow guides the reader through enabling Bluetooth, choosing a device, waiting for connection and returning to the book.
  • The physical forward and back buttons on a Free3-R turned pages in both directions on X3, including after a sleep/wake sequence confirmed by the owner on test firmware.

Remaining limits

  • A known low-memory crash can occur when uncached EPUB pages are built with Bluetooth active, and indexing can be slow. This issue is carried into v1.0.9.
  • The release is accepted with physical measurements of X4 current draw and power use, clock drift and chapter drop caps still open. After full power loss, X4 still needs an external time source to know elapsed wall time.
  • The new font pack contains 160 files; a full on-device font download has not been verified. Free3 RF repetition on the final release image, hold actions and the third button are carried into v1.0.9.
  • This release has no X4 Pro firmware. X4 Pro touch, tilt sensing and layout remain unvalidated.
  • File transfer remains passwordless. While its screen is open, anyone who can reach the local page can read, upload or delete files; anyone within range can join the open hotspot. Close this screen when finished.
v1.0.7 20 September 2026 Fixes for Bluetooth page turns and radio lifecycle, unfinished book caches, large list allocations and recoverable file replacement.

Reading and Bluetooth

  • EPUB and TXT stop on read, allocation or cache-write errors; TXT indices are saved only after reaching the end of the file. Older page caches are rebuilt on first use.
  • Bluetooth turns use the reader input path, updating the page, screen and statistics together. Valid presses reset the sleep timer; sleep waits for radio shutdown and reader exit.
  • Bluetooth switches off after five minutes without a connection and says Off to save power; the setting remains On. A physical page-button action then grants one fresh start attempt. Each reconnect round tries each saved device once; after fifteen seconds a pending attempt requests cancellation, with cleanup following safe worker exit.

Memory and interface

  • The settings table reserves its required rows; categories and favourites build only their needed entries. Keyboard text and cursor stay consistent during rendering; returning from a dictionary no longer uses a freed font-table pointer.
  • Long-chapter temporary page indices move to the card. Folder labels are built for the visible window; history retains one visited adjacent page to avoid scanning it again.
  • History scans use the file already opened during directory enumeration, avoiding repeated path lookup and reopening. Each new page still scans all records, O(N).
  • OPDS allows sleep while waiting for input. Sleep and CPU power saving use separate timers, and the battery percentage sits closer to its icon.

Files and networking

  • JSON saves and OPDS overwrites check staged files before replacement and retain a recovery backup. WebDAV COPY/MOVE clear the destination cache after commit and report cleanup failures.
  • Fixed WebDAV GET reporting the full file size while sending only one byte. It now streams the file through checked reads and writes; I/O errors close the connection.
  • Devices without a hardware clock can obtain NTP time for HTTPS; TLS certificate and hostname checks remain enabled. Unknown-size downloads accept cancellation and show received bytes; HTTP 204 finishes after its headers.

Remaining limits

  • X4 has not been validated on physical hardware. This release has no X4 Pro firmware. HID/NKRO decoding remains unsupported for some remotes.
  • Oversized ruby groups produce a resource-related build error and preserve the source book. Folder enumeration and sorting still scale with file count; each new history page scans all records, O(N).
  • A .davbak left after cleanup failure can block another overwrite until recovery, sometimes requiring local card access. Physical SD brownouts remain untested. Lower-level network calls can still delay cancellation.
  • File transfer remains passwordless. While its screen is open, anyone who can reach the local page can read, upload or delete files; anyone within range can join the open hotspot. Close this screen when finished.
v1.0.6 19 September 2026 The Bluetooth page turner can learn a remote's keys, and file transfer no longer asks for a password.

New

  • The Bluetooth page turner accepts nine more key codes, and two rows on its settings screen bind the next-page and previous-page buttons. The status row shows the last code received.
  • New setting, Wake into the book, off by default. A power-button wake returns to the page that was open at sleep instead of Home.
  • A saved Wi-Fi network the scan did not see now gets a row of its own, so it can be forgotten on the device. A network saved under a mistyped name used to be stuck there for good.

Changes

  • File transfer on button-only hardware goes straight to a saved network or the open hotspot, dropping the step that asked for a Wi-Fi password through the four-button keyboard.
  • The transfer pages no longer ask for a username and password, and the hotspot carries no key. While that screen is open, anyone within range can open its pages and read, upload or delete files on the card.
  • Settings screens drop the row range in the top corner for a chevron at the foot of the screen when the list has rows below. The neighbouring tab names are larger and centred.

Known issue

  • A device whose HID report descriptor the firmware cannot parse still turns no page, even when it pairs and reports connected. The cause is understood and the fix is in progress.
v1.0.5 18 September 2026 Pages fill the space above the status bar.

Fixes

  • The last line of a page is judged by its ink instead of its line box, so a page no longer loses a whole line over one pixel.
  • The gap between the last line and the status bar is a fixed 2 px at every spacing level, for EPUB and TXT alike.
  • Books are re-paginated once on first open after the update.
v1.0.4 18 September 2026 Presses are never swallowed, free memory nearly doubles, and the Bluetooth page turner starts from Settings.

Fixes

  • A press during a screen refresh is always sampled; rapid presses coalesce into fewer refreshes.
  • The Bluetooth page turner lists HID peers only, keeps the CPU clock steady while the radio runs, and no longer resets through the watchdog.
  • The Bluetooth settings screen starts the radio when the saved preference is on, and clears it when the radio cannot start.

Performance

  • Free heap on Home rises from 61 KB to 108 KB, on Settings from 69 KB to 116 KB.
  • Boot is 2.3 s faster and the Home card returns from a book nearly twice as fast.
  • The interface ships English, Vietnamese and Chinese; the image is 362 KB smaller.
v1.0.3 18 September 2026 Side-button hold jumps chapters continuously, multi-mode status bars, five levels for all four spacings, Bluetooth page turner in beta.

Features

  • Side-button hold: a press turns one page at once; holding past 700 ms jumps one chapter and keeps jumping at a steady cadence until release. Holding both buttons stops.
  • The global status bar has three modes, Default, Off and Large; the reader status bar has six, and the page reflows immediately while keeping your reading position.
  • Line, letter, paragraph and word spacing each offer five levels from extra narrow to extra wide; the preview matches the real page.
  • The Bluetooth page turner (beta) starts on the X3; opt in from Settings, off by default.
  • Font weight is labelled beta and loads outline variants from prepared packs; a damaged pack falls back to the base face.

Fixes

  • Page turns no longer lose short taps while a page is being drawn.
  • No more freeze when opening a book with Bluetooth already enabled.
  • PNG cover decoding no longer aborts the firmware under memory pressure.
  • The full wolfSSL 5.9.2 notices are restored in the source package.

Notes

  • No real Bluetooth remote has been paired yet; the feature stays beta.
  • This build was on the source repository only on the night of 17/09; it reached the download page on 18/09 alongside v1.0.4.
v1.0.2 16 September 2026 Finer type controls, a speed fix, and tighter file transfer.

Features

  • Added the full Atkinson Hyperlegible Next pack in sizes 12 to 26, in three weights.
  • Added letter spacing: Narrow, Default and Wide. Line spacing, paragraph spacing and indentation are set straight from the reading menu.
  • Added separate options to hide the status bar, in the reader alone or across the device.
  • Startup opens Home with Continue reading selected. Recent keeps five books, with a larger cover and a faster cursor.

Fixes

  • Fixed a power-saving race that slowed font changes and page layout on the X3.
  • Your chosen weight is kept when you switch to a font without a matching weight.
  • TXT line wrapping no longer measures long paragraphs over and over.

Connection protection

  • File transfer needs the temporary username and password shown on the reader; the hotspot uses WPA2.
  • HTTPS verifies server certificates; font downloads validate the temporary file before replacing the old one, and keep the old one on failure.
  • Internal device files are blocked over HTTP, WebDAV and WebSocket; cross-origin requests are rejected.

Notes

  • File transfer now asks for the temporary username and password shown on the reader.
  • Verified on X3 hardware and on the X3 and X4 simulators. X4 hardware and the X4 Pro are not verified for this release.
  • Loading TTF or OTF directly and the ink weights are still experimental. The setting is labelled Weight (beta).
v1.0.1 16 September 2026 A Chinese interface, chapter lookup by number, and reading badges.

Features

  • Simplified Chinese interface, 600 translation keys, with the Noto Sans SC interface font.
  • Look a chapter up by its number from the chapter list.
  • Reading badges sit directly under the Stats tab, and Reading habits explains what each badge is based on.
  • The side buttons move between sibling folders and keep the cursor where it was.

Fixes

  • File and books open the right folder, and paths follow one convention.
  • The reader's top margin is tighter, which gives the text more room.

Notes

  • Clearing reading statistics and recalculating badges both ask for confirmation. Books, reading positions and settings are kept.
  • After a full statistics reset, v1.0.0 can no longer read that statistics file. Books and reading positions are stored separately.
  • The X4 was verified on the simulator. A device without a real-time clock has no calendar-based badges yet.
v1.0.0 15 September 2026 The first release for the Xteink X3 and X4.

Features

  • The tenor/cross interface, with tabs and favourites you can arrange yourself.
  • Reading statistics per book and per habit.
  • Recent shows book covers and keeps its cache when you switch tabs.
  • Font sizes 12 to 26 with card fonts, in three weights. The public pack holds Literata, Be Vietnam Pro, Geist and Livvic.
  • A large opening initial for each chapter, Vietnamese diacritics included.
  • Wi-Fi file transfer, and over-the-air updates served from cross.tenor.vn.

Notes

  • Loading TTF or OTF files directly is still experimental.
  • Fonts without verified distribution rights are not in the public pack.
  • Chinese and the X4 Pro are left for a later round.

Every release, with its files and full notes, lives on GitHub Releases.

Read carefully before flashing

Flash at your own risk. Flashing firmware can leave your device unable to boot (bricked) or cause data loss. Back up the original firmware, books and reading progress before installing.

To the extent permitted by applicable law, the firmware is provided as is, without warranties; the authors and developers disclaim liability for damage arising from its installation or use.

Flashing overwrites the manufacturer's firmware. Back up the original firmware before you continue. Books and reading progress on the memory card are kept.

Some units from the Chinese domestic market have USB flashing locked. If yours is one of them, unlock it and flash the latest CrossPoint first, then update from the memory card.

Every release ships with a SHA-256 checksum measured from the firmware file itself. Check the checksum of the file you downloaded character by character. If it differs, do not flash.

From the memory card

For USB-locked units, and for any unit already running CrossPoint or tenor/cross.

  1. Download firmware.bin from the X3 and X4 card.
  2. Copy it to the root folder of the memory card, keeping the name firmware.bin.
  3. On the device, open Settings, choose "SD Card Firmware Update", then pick the file.
  4. Wait for the update to finish. The device restarts on its own.

Over USB

For international units bought from xteink.com, which are not USB-locked.

  1. Connect the device to your PC with a USB-C cable and wake it.
  2. Open crosspointreader.com/#flash-tools in Chrome or Edge and select X3 or X4.
  3. Click "Custom .bin", choose the firmware.bin you downloaded, and flash.
  4. A USB-locked device does not show up in the browser. Use the memory card path above.

Command line: esptool.py --chip esp32c3 --baud 460800 write_flash 0x0 tenor-cross-v1.0.54-x3-x4-factory.bin. At 921600 the transfer has failed at 99%.

Reading progress sync

Tenor's reading progress sync server, Usable with KOReader, works with tenor/cross, CrossPoint and KOReader. On the device, open Settings, "KOReader Sync", and enter the server address and your account.

Open kosync.tenor.vn