Tavotto
AI가 당신의 연구 그림을 그려줍니다
E Ink 안드로이드 태블릿용 오픈소스 스위트, 차분한 홈·실시간 슬립·즉시 펜·배터리 로그·그리기 Nib 제공 루트 필요 없음
Open source suite for E Ink Android tablets: calm home screen, live sleep screens, instant pen ink, battery log, reversible tweaks, and Nib for drawing. No root.
디자인Kotlin · HTMLGitHub @huuunleashed온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Open source suite for E Ink Android tablets, tuned for BOOX Note Air: calm high contrast home that keeps frozen apps visible, live sleep screens in your own fonts, instant pen ink in any drawing app, battery log with real measured drain, and reversible tweaks, plus Nib, a drawing app with native pen preview. No root, no accounts.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A suite of apps for the BOOX Note Air6 C, without root: a hub with a home screen, sleep-screen designer, battery doctor and reversible tweaks, and Nib, a drawing app with Boox's instant pen.
Website and technical guide · Changelog · Contributing · Report a bug or a findingREADME 전문 보기 ↗A suite of apps for the Boox Note Air6 C that needs no root: BooxUltimatum, with a home screen, a sleep screen designer, a battery doctor and reversible tweaks, and Nib, a drawing app that uses Boox's instant pen preview.
Website and technical guide · Tablets · Changelog · Contributing · Report a bug or a finding
The Note Air6 C is a good tablet with two common complaints. Independent reviews such as eWritable's praise the screen and the pen, then point at the same two problems: short battery life, and software that scatters useful settings across a dozen places. BooxUltimatum is a set of apps that works on both from inside Android, rather than covering them with a skin. Each change is explained in plain words, checked on a real tablet and can be undone.
Nothing is flashed, and the bootloader stays locked. BooxUltimatum is one APK (an Android app file), and the apps that build on it, starting with Nib, install and uninstall on their own. Some features need more than the app alone. How much access it needs explains the levels: nothing at all, one-time permissions you grant from a computer with adb (Android's debugging tool), and Shizuku, a free helper app.
Status: public preview (0.12.0). BooxUltimatum runs daily on the maintainer's Note Air6 C (firmware 4.3, Android 16). Owners of five other Boox tablets have reported parts of it working, and
DEVICES.mdsays what works on which tablet. Download it from Releases, and please report how it behaves on your tablet. From 0.5 on, BooxUltimatum can update itself and help you file a report from its Device page.
BooxUltimatum is the centre of a small suite of apps. Its Suite page installs, opens, updates and uninstalls the suite's other apps. It also lists the modules built into BooxUltimatum: the home screen, the sleep screen, Instant ink and the battery log. Removing a module stops it and undoes what it changed, and its pages leave the menu until you add it back. The apps share one kit of libraries, so they have the same design, the same logbook, the same pen code and the same updater. Every suite app keeps a log of what it did and what went wrong, and tidies its own leftovers. Cache files go after three days, downloaded updates after a day and shared exports after a week, and logs stay under 8 MB and two weeks. Drawings, sleep screen pictures, fonts, the battery log and settings are yours, so they are counted but never cleared. Device › Logs shares every app's logs as one zip file, and Device › Storage shows and clears what each app keeps.
Nib draws the way Boox Notes writes. The display paints each stroke under the pen tip at once, and the moment you lift the pen, Nib's own drawing takes its place. It's built for drawing rather than notes:
Nib's tools float over a full-screen page like cut cards on a desk. The pens are drawn as their own strokes, and every brush property has a slider with − and + buttons and a typed value. The Brushes, Colour and Layers cards can be pinned and moved. Nib also has a lasso that moves, resizes and turns strokes, a page you can turn, paper guides, and exports with or without the paper, or layer by layer. It works without BooxUltimatum, Shizuku or a computer.
From 0.3, Nib writes the way Boox's own apps do. This instant ink is still experimental, so Settings › Writing has a switch that turns it off and lets Nib draw every stroke itself. The display holds the page for the whole writing session, so quick strokes follow each other without a pause, and Nib's ink replaces the preview when you stop to use a card, a panel or a gesture. Nib's pens are matched to Boox's own: the preview gets each brush's pressure sensitivity, tilt and nib angle, and textured brushes show Nib's exact ink after you pause. The display draws the eraser end and the lasso too, and the page refreshes fast while fingers move it. An optional palm guard turns off finger touch while the pen is near. See Known limits, docs/08-nib.md and docs/09-ink.md.
BooxUltimatum home is a calm, paper-white home screen. Measured on a Note Air6 C, it uses about a third of the memory of the Boox home and no processor time when idle.
Boox gives you six preset screensavers. BooxUltimatum gives you twenty-one faces, which are designs for the sleep screen, the picture the tablet shows while it sleeps. They are set in your tablet font or any font you install, from a wall clock in the style of Braun and a 3D cube to a split-flap board, a dashboard and a newspaper front page. Each has its own portrait and landscape layout.
Kept fresh: Boox reads the picture only as the tablet goes to sleep, so BooxUltimatum quietly redraws it while you use the tablet. It redraws every 5 minutes by default, and whenever the battery, date or rotation changes. Because the picture can't change once the tablet sleeps (see While asleep below), the time it shows is honest: it says when you put the tablet down, for example "Put down around 4:30 PM".
While asleep (off by default): the face can also update while the tablet sleeps, every 1 to 60 minutes (1, 5, 10, 15, 30 or 60), and it covers Boox's charging bar. The one-minute step runs only while charging. Updates need three things, all allowed on the tablet itself. The first is an accessibility service, which Android lets draw over the lock screen. BooxUltimatum's only holds the picture, reads nothing and shows nothing while the screen is on. The other two are permission to run in the background and permission for exact alarms, which keep updates on time. Each update wakes the tablet for about a second and a half. Measured on a Note Air6 C, the one-minute step cost about 1.6 mAh an hour, and the five-minute step wakes the screen a fifth as often.
Twenty-one faces, twelve of them live.
A face shows only what the tablet already knows:
Without updates while asleep, a clock face shows when the tablet was put down and says so.
Rotation: BooxUltimatum keeps both orientations ready, so turning the tablet never leaves you with a cropped face.
Over Transparent: Boox's Transparent style shows the screen as it was when the tablet went to sleep, with a sticker (a see-through picture) laid over it. The Over Transparent mode keeps that style and draws a small paper plate on the sticker instead of replacing the screen. Boox keeps only the middle of a sticker when the tablet sleeps on its side (read from Boox's own code). So plates are drawn inside the band that survives either orientation, which makes one file right both ways. BooxUltimatum keeps the plate current through Shizuku or, without it, through one Android permission to change Boox's sticker picture, which you give from the Sleep page.
In Boox Notes, ink appears under the pen tip in about 10 ms. In Sketchbook and most other apps, it trails behind. The reason is that Boox Notes uses a firmware feature in which the display system draws the stroke straight from the pen, ahead of the app. Onyx offers that feature to app developers through its public pen SDK, a toolkit for drawing inside their own app, but most apps don't include it. BooxUltimatum turns on the same feature from the outside for the apps you choose, and hands the stroke back to them after you lift the pen.
A preview stroke appears at once. When you pause (0.8 s by default, and you can choose 0.4 to 2 s), the app's own brush takes its place. Quick strokes share one preview, as in Boox's own apps. The display holds back the app's own drawing while the pen touches the screen, so the app's brush and colour always appear after you lift the pen. Instant ink keeps a paused display session ready, so even the first stroke after unlocking or switching apps gets the preview, and it steps aside for Boox's own apps.
The drawing app isn't modified in any way, and Instant ink needs no root. It needs only usage access, a permission you allow on the tablet so that BooxUltimatum knows which app is in front. It also needs no Shizuku, unless the display doesn't answer BooxUltimatum directly, in which case it connects through Shizuku instead. A Quick Settings tile (a button in the menu you pull down from the top of the screen) and the buttons on its notification turn Instant ink off or recover the screen without leaving your app. The Ink page shows what it found (pen input and display route) and has a pen test, which helps most in a report from another tablet. You can adjust the preview's brush (pencil, fountain pen, marker, brush pen, or a grainy pencil that follows tilt) and its width. Instant ink is new and has only been tried in Sketchbook so far, next to Boox Notes. See Known limits.
adb grants or Shizuku.BooxUltimatum has 19 tweaks, which are reversible changes to Android's settings, across apps, sleep, power, radios (Wi-Fi and Bluetooth scanning), interface and privacy. Every tweak records what it replaced, and tapping Undo restores it. Some examples:
adb grants or Shizuku.The Google Fonts browser lists 1946 families, with a Vietnamese filter, and installs a font for the tablet, NeoReader (Boox's reading app), BooxUltimatum home, BooxUltimatum's own screens or the sleep screen. Installing into the Boox fonts folder, which NeoReader reads, needs Shizuku. The font manager lists what BooxUltimatum installed, where each font is used and how much space it takes. You can turn fonts off and on, or delete them. Before it turns off or deletes a font, BooxUltimatum returns every use of it to its default. It never touches fonts it didn't install.
Most of BooxUltimatum works straight after installing, with no computer, no Shizuku and no root. Every feature asks for the least access it needs. When a higher level is missing, BooxUltimatum shows what the feature can still do and where to find the switch to do it yourself.
| Level | What it is | What it adds |
|---|---|---|
| T0: just the app | Nothing to set up, or a switch you allow on the tablet itself | Nib, the drawing app, entirely. The suite's logbook and installs. The home screen, and the designer for the sleep screen and the power-off screen. Updates for the sleep screen while asleep (an accessibility service and background use). Instant ink (usage access). Battery measurement and the battery log, the Google Fonts browser, the tablet font, the Settings page, and making BooxUltimatum your home screen (Android asks you to confirm). For apps Boox restricts, a one-tap link to Android's own battery page and to Boox's hidden App Freeze page, which is also on the Settings page. |
| T1: a one-time setup from a computer | Four permissions granted once over adb, Android's debugging tool (five commands on Android 16, which asks for READ_DROPBOX_DATA as well as READ_LOGS to read where a restart of Android is recorded). They survive restarts of the tablet | Reading battery statistics inside BooxUltimatum, showing or hiding status bar icons across the whole tablet, and the tweaks that change system settings |
| T2: Shizuku | Shizuku, a free app that runs a small helper with the same rights as adb | Most tweaks (Doze, Battery Saver, pausing Boox apps), reading and lifting Boox's background restriction for every app at once, switching the home screen in one tap, opening Boox-frozen apps from home (and freezing them again), the Wi-Fi network name in the header, Sleep now, and the Over Transparent sleep mode (without Shizuku, it needs a permission you give from the Sleep page) |
| T3: root | Not needed. BooxUltimatum works without it and doesn't ask for it |
About the status bar: BooxUltimatum can show or hide the system's status bar icons across the whole tablet (T1). The custom Wi-Fi and battery designs are drawn only in the header of BooxUltimatum home. Replacing the system's own icon artwork would need a system overlay, which Android allows only with root, so that isn't possible.
Shizuku is a free app that lets other apps run the same commands you could type over adb, without root. It needs adb to start its helper, either from a computer or, on firmware that offers it, through wireless debugging on the tablet. On firmware 4.3, the helper stops whenever the tablet restarts. BooxUltimatum works without Shizuku, which only adds the features in the T2 row. If a tweak says it didn't work although Shizuku is running and allowed, open Device › Access and tap Test Shizuku. It shows which step between BooxUltimatum and Shizuku stops, and copies the result for a report.
adb) and accept the "Allow USB debugging" prompt.# Windows
.\tools\host\grant-permissions.ps1 # T1, once
.\tools\host\start-shizuku.ps1 # T2, after every reboot
# macOS / Linux
./tools/host/grant-permissions.sh # T1, once
./tools/host/start-shizuku.sh # T2, after every reboot
Without the scripts, the T1 grants are these commands. The fourth is needed, and exists, only on Android 16 firmware such as 4.3, where reading the dropbox (Android's record of crashes and restarts) asks for it in place of READ_LOGS:
adb shell pm grant app.booxultimatum android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant app.booxultimatum android.permission.DUMP
adb shell pm grant app.booxultimatum android.permission.READ_LOGS
adb shell pm grant app.booxultimatum android.permission.READ_DROPBOX_DATA
adb shell appops set app.booxultimatum GET_USAGE_STATS allow
Firmware 4.3 hides the Wireless debugging switch from Developer options, and the platform has no android.settings.WIRELESS_DEBUGGING_SETTINGS screen at all, so Shizuku can't be started from the tablet itself. It can be started from any computer over adb, including over Tailscale (a private network between your own devices). Once started, it keeps running on its own. This was verified on a Note Air6 C on 2026-10-05, at 7 h 17 m of uptime, across a sleep and a lost adb connection. It doesn't survive a restart of the tablet. Making it survive restarts is on the roadmap.
From a release: download BooxUltimatum-0.12.0.apk from this repository's Releases page, allow your browser or file manager to install apps, and open it. The Access page shows what each level unlocks and the exact commands for it. Releases are signed with the project's own key, so later releases update it in place. BooxUltimatum's Suite page installs Nib for you. You can also download Nib-0.5.0.apk from the same page, where Nib's releases are tagged nib-v….
Test builds: unfinished builds of BooxUltimatum or Nib are sometimes published as test-… pre-releases, so they can be checked on a real tablet. BooxUltimatum offers them only when Offer test builds is turned on (Device page). A release always replaces its own test build.
Development builds: every commit on main also builds debug-signed APKs of BooxUltimatum and Nib, which are signed with a developer key rather than the release key. Open the latest successful Build run and download booxultimatum-debug-signed or nib-debug-signed under Artifacts (GitHub asks you to sign in). They use a different key from the releases, so Android won't install one over the other, or a debug build of one suite app next to a release of another. Uninstall the app first when switching, which also clears its settings.
From source:
# JDK 21 and the Android SDK (platform 36) are required.
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-21.0.8.9-hotspot'
.\gradlew.bat assembleRelease # -> hub\build\outputs\apk\release\hub-release.apk
adb install -r hub\build\outputs\apk\release\hub-release.apk
Without a signing key, that build is debug-signed, which is fine for a tablet that has no BooxUltimatum yet. A tablet already running the published release needs a build signed with the same key, or Android refuses the update. The maintainer's key lives outside the repository (see AGENTS.md › Releases).
Suite › Home screen › Use this makes BooxUltimatum home your home app. It first records the Boox home, so going back never loses anything:
adb shell cmd package set-home-activity --user 0 com.onyx/.StartupActivity.The recent apps screen, Boox gestures, NaviBall and EinkWise stay with Boox, so they work the same under either home.
The apps follow the tablet's language, so a Chinese tablet reads Chinese with nothing to choose. You can choose another one, and the choice is kept for the app alone.
BooxUltimatum, Nib, the shared kit and the updater read in Simplified Chinese and in Vietnamese.
Two things to know:
The Vietnamese was written with an assistant and checked against the English by script, which holds the words, the values and the plural forms right, but says nothing about how it reads. A reader who writes Vietnamese is welcome to correct it; a new language is a folder and a line, and the convention is in docs/12-languages.md.
Nib is new:
One signing key for the whole suite. Every suite app declares the same signature permission, which only apps signed with the same key can hold. So a development build, signed differently, can't be installed next to a release of another suite app. Install both from Releases, or both from the same build.
The BooxUltimatum plate on the Device page checks this repository's releases. It checks at most once a day when BooxUltimatum opens, or when you tap Check for updates. It downloads the APK, checks its SHA-256 checksum and its signing key, and passes it to Android's installer. Development builds, which are signed differently, say so and don't offer updates. Report a problem or idea fills in a GitHub issue form, or copies or shares the report. You choose which parts to include and can preview each one. Nothing is sent until you tap Open on GitHub or Share.
BooxUltimatum has no accounts, analytics, ads or trackers. It goes online for three things only: weather from Open-Meteo (which receives the city name you type, and never your own location), fonts from Google Fonts when you open the font browser, and GitHub's release list when it checks for updates, for itself and the suite's apps. Nib goes online only to check GitHub for its own updates, at most once a day, and only when BooxUltimatum isn't installed to do it. Neither app sends its logs anywhere. You share them yourself. The battery log stays on the tablet until you choose to share it, and a problem report is sent only when you open it on GitHub or share it yourself.
BooxUltimatum is an independent project. It is not affiliated with, endorsed by or supported by Onyx International or BOOX. "BOOX", "Note Air" and related names are trademarks of their owners, used here only to say which tablet this is for.
BooxUltimatum changes system settings and, if you ask it to, the home screen, the sleep screen and how other apps draw. Every change is recorded and reversible, and nothing touches the system partitions or the bootloader. Still, this is preview software that relies on behaviour Boox hasn't documented, so use it at your own risk. As the GPL says, it comes with no warranty (sections 15 and 16 of LICENSE).
No dates are promised. This is a spare-time project, and each release ships when it works on a tablet.
The full, dated history is in CHANGELOG.md.
BooxUltimatum is written in Kotlin and Jetpack Compose (minSdk 30, so Android 11 and up, with target 36, which is Android 16), in one Gradle build with a module for each app and a shared kit. The look is a "Braun Instrument" design language: paper white, black ink, one green lamp, the Archivo font, and no animation, because e-ink punishes motion. Every fact about the tablet that BooxUltimatum relies on is written down with its evidence in knowledge/experiments.md. The design docs in docs/ explain the research, the architecture, the home screen and the sleep screen.
The maintainer, who owns a Note Air6 C, writes it with an AI pair programmer (GitHub Copilot). Every change is tested on the maintainer's tablet before it's committed.
| Path | What's there |
|---|---|
hub/ | The BooxUltimatum app. core/ holds system readers, tweaks, the battery log, sleep/, ink/, suite/ and feedback/. launcher/ is the home screen and ui/ the screens |
nib/, nib-engine/ | Nib, the drawing app, and its drawing model in pure Kotlin |
kit/ | The libraries every suite app builds on: core, log, ui, ink and update (docs/07-suite.md) |
docs/ | Numbered design docs, from 00 device research to 11 the processor that stays awake while the tablet sleeps and 12 the languages, plus the screenshots |
knowledge/ | The evidence log (experiments.md), the Onyx package knowledge base bundled with the app, and what is known on each tablet (devices.json, which DEVICES.md and the site's table are built from) |
site/ | The landing page and the technical guide, published to GitHub Pages by .github/workflows/pages.yml |
tools/host/ | PowerShell scripts run from a computer over adb (recon, battery logger, Shizuku start) |
tools/dev/ | Repository hygiene and checks (prose_wrap.py, check_words.py, check_translations.py), the table of tablets (device_matrix.py) and publishing (publish.ps1) |
AGENTS.md | The rules for anyone, human or AI, working in this repo |
Bug reports and findings from other Boox models are the most useful contributions right now. The issue forms ask for exactly what's needed. CONTRIBUTING.md covers where help is wanted, the development setup, the rules for changes and how pull requests work. In short: every tweak must be reversible and declare its access tier, facts about the tablet need evidence, and prose is never hard-wrapped. Security problems go through private reporting.
BooxUltimatum is free software under the GNU General Public License v3.0 or later (see LICENSE). You may use, study, share and change it. If you distribute a changed version, you share its source under the same terms. Third-party code and assets, and their licenses, are listed in THIRD_PARTY.md.
Power-off screen: you can also use the face as the picture the tablet shows while it is off, with one tap, through the same Boox interface. Boox keeps a copy, so the picture changes only when you update it. It is drawn in portrait without the battery and the put-down time, and a live face is replaced by the Almanac, because a clock would stop.
One tablet checked, a few reported. Everything is verified on a Note Air6 C with firmware 4.3. Owners have reported parts of it working on a Note Air4 C, a Go 10.3, a Go 10.3 Gen II Lumi, a Note Air 2 Plus and a NoteX3 Pro, and DEVICES.md lists what each report covers. Results from other Boox models, and on features nobody has tried yet, are the most welcome contribution. Use the Device finding issue form.
Unofficial interfaces. BooxUltimatum relies on parts of the Boox firmware that Boox hasn't promised to keep. The sleep screen and power-off screen broadcast and the pen path appear in Onyx's own SDK, and the tablet font switch is used by Boox's own apps. None of them is a stable, documented public API (a published interface for app developers). Instant ink also uses the pen path in a way the SDK doesn't offer, on behalf of another app, through the firmware's display calls. A firmware update can change any of these without notice. When something stops working, BooxUltimatum says so rather than guessing.
Instant ink is experimental:
Updates while asleep have limits. They are verified on battery on a Note Air6 C. Measured there, the one-minute step cost about 1.6 mAh an hour, and the five-minute step wakes the screen a fifth as often. The faces don't yet have much that changes while the tablet sleeps. Without updates, Boox doesn't read the picture again until the tablet wakes. The power-off screen is a copy Boox keeps, so it changes only when you set it again. Updates work only in Sleep image mode: Boox doesn't reload a sticker during a sleep, so an Over Transparent plate is redrawn only while the tablet is awake.
Over Transparent hasn't been checked on a sleeping tablet yet. The band Boox keeps, the write permission and the way BooxUltimatum follows a re-picked sticker are all read from Boox's own code and checked against renders on an emulator (a virtual tablet on a computer), not against a sleeping tablet. The Sleep page says which file and which route it is using.
Charging: without updates while asleep, Boox always draws its battery bar over the sleep screen while the tablet charges. With updates, BooxUltimatum's overlay covers the bar as the tablet goes to sleep. The bar showed for about six seconds before 0.10.0.
Quiet hours: Not at night pauses the updates between two hours you choose, and the picture says "Paused until 07:00" at its top edge while it does.
The display can stay on while the tablet sleeps, and the cause isn't known. It happened on the maintainer's Note Air6 C on 2026-10-08 (twice), on 2026-10-12 (62 % to 18 % in five hours) and on 2026-10-13, when the battery ran out. Each time it was exactly 90 minutes after the display last went to sleep, with nothing refreshing the sleep screen in between. Each time, Android's system process had crashed and restarted, with no restart of the tablet since. A real restart on 2026-10-09 was followed by three clean nights, and the daytime sleeps in the same state were fine, because the live sleep screen refreshed every 5 minutes.
BooxUltimatum notices it: the log records the display's state, Today flags it as a Problem, and the morning report says so. The safeguard that switches off a display that stays on (on by default since 0.10.1) keeps trying to undo it. A refresh of the sleep screen every 30 minutes means the 90 minutes never run out. After a restart of Android by itself, BooxUltimatum keeps a note in the notifications until the tablet is restarted. Since 0.10.2 it also says so within about 30 minutes of a sleep in which the processor stayed awake, with or without a crash in Android's log. That state also stops the tablet sleeping deeply. The processor never suspended in the sleeps after the last restart, which used 10 to 46 mA asleep instead of about 7. Only a restart clears it. This is a pattern from four episodes, not a known cause, and neither the refresh nor any step of the safeguard has been seen working. Restart the tablet after any unexpected restart of Android.
Charge limit: Boox's Charging protection stops charging at 80 %. Other levels would need root, because the files that set the limit are closed even to Shizuku.
Other Boox models and other tablets: BooxUltimatum recognises Boox tablets and, on other tablets, hides what needs Boox firmware (the sleep screen and Instant ink). Instant ink had no effect on a Note Air 2 Plus or a Go 10.3 Gen II Lumi on 0.4.1. Their owner reported it working after 0.5, once BooxUltimatum found the pen by how it behaves and checked usage access. On a Note Air4 C, Boox's settings have no sticker album, so Over Transparent can't work there.
Shizuku stops on every restart, and on firmware 4.3 starting it again needs a computer (see How much access it needs). Everything in the T0 row works without it.
adb grants.kit:ink, the suite's ink framework:
docs/10-battery.md)
READ_DROPBOX_DATA, says so once per restart and shows it on Today. This needs the extra adb grant.docs/11-not-resting.md)
AGENTS.md), and a check on the string resources that runs with the unit tests.