Cobalt is an open-source exertion level for Kobo e-readers: a launcher, a signed App Store, a Rust SDK, and a runtime that keeps each app successful its ain unprivileged process.
Install it erstwhile complete USB. Every app aft that installs, updates and removes connected the scholar itself, complete Wi-Fi. A reboot returns to the banal Kobo reader.
The launcher connected a Kobo Clara BW.
Not affiliated pinch Rakuten Kobo
Recorded on-device astatine 3× speed. Watch arsenic video.
Running connected a Kobo.
Every app is simply a fixed ARM binary moving arsenic its ain unprivileged process connected banal hardware. The App Store installs, updates and removes them complete Wi-Fi, pinch signatures verified earlier thing launches.
arXiv papers and coding agents, connected the panel.
These are photographs of the device, not simulator captures. The arXiv app sounds the HTML rendering arXiv publishes for each insubstantial since December 2023: abstracts, sections, mathematics and consequence tables, paginated for the panel.
Apps
The apps.
Every screenshot beneath is simply a seizure from a Kobo Clara BW. Store apps type independently of the platform; the remainder vessel pinch the level install.

Launcher
Opens installed apps and ever keeps a way backmost to the Kobo reader.

App Store
Installs, updates, removes and reinstalls signed apps complete Wi-Fi.

arXiv
Browses a subject's newest preprints and sounds the afloat matter connected the panel.

Sudoku
Store-only by design: installing it proves transportation of an app the USB package ne'er contained.

Morse
Sends a typed connection successful Morse connected the beforehand light, 1 missive crossed the full panel.

Gutenbird
Reads immoderate OPDS library: Project Gutenberg, Standard Ebooks, Open Library, aliases yours.

Hacker News
Top, New, Ask and Show stories pinch complete remark threads.

Feeds
Discovers a site's provender and presents its articles without the site's layout.

Daily Brief
Collects the day's stories successful the inheritance while you usage different app.

Sidekick
Approve aliases contradict requests from coding agents, distant from the keyboard.

Terminal
A panel-native ammunition pinch keys that nonstop input immediately.

Components
The UI toolkit's controls, layouts, typography and states, connected the panel.

Settings
Connectivity, hardware, and level updates, kept abstracted from Store.

Todo
A persistent database pinch touch introduction and completed-item states.

Tic-tac-toe
Two players, partial refreshes for individual cells.

Magnet
Locates the hallway sensor down the bezel and reports its changes.
The SDK
An app is 1 Rust file.
Implement KoboApp, picture screens declaratively, and the runtime handles layout, e-ink refresh planning, Back navigation and lifecycle.
Apps don't unfastened instrumentality resources; they ask. Network, storage, audio, frontlight and Wi-Fi are capability-gated, and a refusal comes backmost arsenic a worth the app tin handle.
E-ink UIText, tiles, dialogs, keyboards, pagination, partial refresh planning
SimulatorsBrowser and runtime simulators pinch layout diagnostics
Async workHTTPS, ranged downloads, cancellable tasks, scheduled wakes
StateAtomic per-app keyed storage
ShippingSigned fixed ARMv7 binaries, published erstwhile an app PR merges
kobo caller my-app cd my-app kobo devRead the SDK docs
The Store
Signed packages, verified earlier launch.
Store sounds a signed catalog from a fixed GitHub release. Each package holds 1 ARM executable and a signed canonical manifest. The runtime verifies the catalog, the package, the installed manifest and the binary earlier an app runs.
App releases are independent of level releases: merging an app PR builds it for ARM, signs it, and updates the catalog. No Cobalt type bump, nary reinstall. The app simply appears successful Store.
The Cobalt level itself besides updates complete Wi-Fi, done Settings, connected a transmission abstracted from the app catalog. The USB cablegram is only ever needed once.
Install and catalog transactions are recovery-safe; an interrupted update leaves the scholar pinch the type it had.
Publish your ain app →
Sudoku arriving complete Wi-Fi.
Install
Installing from source.
- Charge a Kobo Clara BW (N365) and link it complete USB. Other models are refused, not guessed at.
- Run the setup:
- Restart the reader and unfastened Cobalt from Kobo's menu.
- Open Store. Everything from present connected arrives complete Wi-Fi.
The complete walkthrough, including betterment steps, is successful docs/INSTALL.md.
Contributing
Contribute an app.
App contributions are regular propulsion requests. If it runs connected your instrumentality and the PR shows it running, it gets merged and published.
- Build it. Add the app arsenic a workspace package nether apps/<app-id>/ and registry it successful apps/catalog.json.
- Test it. Add portion and layout tests, and tally it successful the browser and runtime simulators.
- Run it connected your ain device. A existent Clara BW, not conscionable the simulator.
- Open a PR pinch a gif aliases photos of it running. Once reviewed and merged, the people workflow signs it and it appears successful Store. No level merchandise needed.
Own a different Kobo model? Porting is invited too; unfastened an rumor first truthful the instrumentality floor plan tin beryllium agreed. Full specifications successful docs/CONTRIBUTING_APPS.md.
Safety
Device support and safety.
Cobalt does not switch Kobo's footwear chain. Device writes are gated connected an nonstop hardware and firmware match, and a reboot returns to the banal reader. The first installation does modify files connected the personification retention partition, and it is provided without warranty.
Only the Clara BW floor plan has been hardware-tested. Don't instal connected different exemplary until it has a reviewed, hardware-tested profile. Cobalt is an independent project, not affiliated pinch Rakuten Kobo.
English (US) ·
Indonesian (ID) ·