Apps and an SDK for Kobo e-readers.
Cobalt adds apps to Kobo e-readers. It includes a launcher, an app store, a Rust SDK, a runtime that runs each app in its own restricted process, and a simulator for building apps without a device.
Install Cobalt once over USB. After that, apps install, update and uninstall over Wi-Fi, and your Kobo's own reader stays as it was.
Website · Install · Apps · SDK · Community
Recorded on a Kobo Clara BW at 3× speed.
Important
Tested on the Kobo Clara BW (N365 and the 2025 P365), Clara Colour, Clara HD, Elipsa 2E, Libra 2, Libra Colour and Libra H2O, at the firmware listed in the device support matrix. Other Kobos can run it too: Cobalt lists what has not been tested and asks once before it starts. Kobo firmware 5.x is not supported. Cobalt is not affiliated with Rakuten Kobo.
The easiest way is the browser installer, in Chrome, Edge or Opera. Plug in your Kobo and follow the steps.
Or, on macOS or Linux:
curl -fsSL https://bandarlabs.github.io/Cobalt/install.sh | shThen restart the reader, wait a minute, and open Cobalt from the Kobo menu. If you already use NickelMenu, Cobalt is added to it and your other entries are kept.
Everything the script downloads is checked against the signed release
manifest. To verify install.sh itself first, follow the
signed-bootstrap procedure.
docs/INSTALL.md covers updates, recovery, uninstalling and
building from source.
- Cobalt updates from Settings on the reader. Settings also switches between the Stable and Beta channels, keeping your apps and data.
- Apps update from Store.
- The
kobocommand on your computer updates withkobo update, orkobo update --channel beta. This never changes the reader.
Install and remove apps from Store on the reader, or from an app's page on the website: open Install links in Store to link a phone or computer, then use Install on any app page. The Launcher, Store, Settings and Terminal come with Cobalt and cannot be removed.
Screenshots are from a Kobo Clara BW or its simulator.
![]() AI Command Center Ask a question, then read and navigate the answer with touch controls. |
![]() Audiobook Studio Turn a topic into an original narrated audiobook and listen on your Kobo. |
![]() Backgammon Play complete solo or pass-and-play backgammon on one Kobo. |
![]() Birds Show the birds heard by BirdNET-Go on your Mac or Linux computer. |
![]() Components See every Cobalt UI component on the device in one reference app. |
![]() Crossword Four offline mini crosswords with clue navigation and saved progress. |
![]() Daily Brief Build a daily news brief in the background while you use other apps. |
![]() Deck Turn your Kobo into a remote control for your computer. |
![]() Digest Read your Miniflux feeds anywhere. |
![]() Fanshelf Save public AO3 works to a shelf made for offline reading. |
![]() Feeds Follow feeds, search saved articles and read offline with images. |
![]() Fieldbook Log bird sightings anywhere and build your life list. |
![]() Flashcards Review flashcards anywhere, even without Wi-Fi. |
![]() Frame Show photos from your computer as a slideshow, with the screen on or waking on a schedule. |
![]() Grimoire Browse offline SRD references and manage tabletop combat. |
![]() Gutenbird Browse OPDS libraries and read their books on your Kobo. |
![]() Habits Track daily and weekday habits with local streaks. |
![]() Hacker News Read Top, New, Ask, and Show stories with complete comment threads. |
![]() Home Panel Control saved Home Assistant tiles from a low-power panel. |
![]() Inkling Solve a fresh five-letter puzzle each day. |
![]() Kitchen Card Keep Mealie recipes handy in a counter-friendly cooking view. |
![]() Library Browse and read books from your calibre-web library. |
![]() Lichess Play Lichess games, challenge players, solve puzzles, or play offline. |
![]() Logic Pack Play four familiar logic games offline. |
![]() Magnet Find the hall sensor behind the bezel and watch it respond to a magnet. |
![]() Morse Type a message and send it in Morse code with the front light. |
![]() Music Stand Read music scores with setlists and half-page turns. |
![]() Needles Count rows, browse Ravelry collections, and read your synced patterns offline. |
![]() Nonograms Solve 18 original picture puzzles with attached clues, saved undo and larger grids. |
![]() Panels Read comics added from your computer or Komga library. |
![]() Paperterm Pair with a computer to mirror a terminal session on e-ink. |
![]() Parlor Play Reversi, Draughts, Nine Men's Morris and Kalah on one Kobo. |
![]() Parser Play an original interactive story without Wi-Fi. |
![]() Post Read and reply to letters from Hermes. |
![]() Preprints Browse and search arXiv, keep preprints, and read their HTML versions on your Kobo. |
![]() Pub Quiz Play offline solo or pass-around trivia rounds. |
![]() Read Later Read your Wallabag articles anywhere. |
![]() Sidekick Answer coding-agent permission prompts from your Kobo. |
![]() Stacks Browse Zotero collections, read metadata and indexed paper text, and keep papers available offline. |
![]() Sudoku Play 36 original Sudoku puzzles with pencil notes, undo and saved games. |
![]() Sync Sync folders between your computer and Kobo with Syncthing, on a schedule. |
![]() Tic-tac-toe Play tic-tac-toe together on one Kobo. |
![]() Todo Keep a simple to-do list that stays on your Kobo. |
![]() Vault Browse your notes by folder, tag, link, and backlink. |
![]() Verses Read a public-domain poem each day. |
Want an app that is not here? Add it to the app request thread.
- Signed app installs, updates and removal over Wi-Fi.
- App pages on the website that install to a linked Kobo by QR code or pairing code.
- Every app runs in its own unprivileged process, and must declare the services it uses, such as network, storage, audio or the front light.
- Cobalt updates are separate from app updates.
- A declarative e-ink interface toolkit, with full and partial refreshes planned for each supported screen.
- A browser simulator for building and testing apps without a device.
- Static ARMv7 binaries, with nothing to install on the reader beyond Cobalt.
- Interrupted installs and updates leave the working version in place.
- Folder sync with your computer through Syncthing.
NickelMenu adds actions to the Kobo menu. KOReader and Plato are reading apps. Cobalt is a platform for building and installing many kinds of apps. It handles the screen, touch input, e-ink refreshes, app lifecycle, device access, isolation and signed installs, so app authors do not have to. The FAQ has more.
git clone https://github.com/BandarLabs/Cobalt && cd Cobalt
cargo install --path crates/kobo-cli
kobo new my-app
cd my-app
kobo devkobo dev runs the app in the Clara BW simulator in your browser. Set
KOBO_SIM_PROFILE=libra-2-388 or KOBO_SIM_PROFILE=elipsa-2e-389 to try the
larger screens.
| Area | What the SDK provides |
|---|---|
| App model | Plain Rust programs with declarative screens, named actions, lifecycle callbacks and Back navigation |
| E-ink UI | Measured text, rows, tiles, pictures, dialogs, keyboards, terminal views, pagination and refresh planning |
| Network and credentials | HTTPS requests, ranged downloads, size limits, and named secrets that the app never sees |
| State and background work | Per-app storage, cancellable tasks, background and foreground events, and scheduled wake |
| Device and media | Battery, cover sensor, front light, Wi-Fi, Bluetooth and audio, each behind a declared capability |
| Tooling | Scaffolding, simulators, layout checks, failure scenarios, packaging and device deployment |
Apps ask the runtime for services instead of opening devices themselves. A request can be refused because it was not declared, the battery is too low or the device does not support it, and the app receives the refusal as a value it can handle.
Start with the SDK reference.
The full guide is SDK.md, and
docs/companion-cli.md covers the kobo command.
Contributions are welcome: apps, fixes, documentation and device testing. See
CONTRIBUTING.md. Pull requests go to the beta branch.
To add an app:
- Add it as a workspace package under
apps/<app-id>/, with its entry inapps/catalog.json. - Add unit tests and layout checks for each supported screen.
- Run it in the simulators, then on a supported Kobo, and attach a photo, GIF or video to the pull request.
- Include a screenshot for the app's README and website page.
Once merged, the app is signed and published to the Beta catalog. It reaches Stable when that commit is promoted. See docs/CONTRIBUTING_APPS.md and docs/RELEASE-TRAIN.md.
Own a Kobo that is not tested yet? You can help without writing code. Open or join a device thread with your model, firmware and whether you can run attended tests. See device testing.
| Path | Purpose |
|---|---|
apps/ |
Store apps and the app registry |
examples/ |
Built-in apps and SDK examples |
crates/kobo-sdk |
The application SDK |
crates/kobod |
The runtime on the reader |
crates/kobo-ui |
Layout and e-ink rendering |
crates/kobo-sim |
The simulator |
crates/kobo-app-store |
Signed package and catalog formats |
crates/kobo-cli |
The kobo command: setup, build, simulation, packaging and release |
docs/ |
Guides, indexed in docs/README.md |
cargo test --workspace --all-features
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo fmt --all --check
cargo run -p kobo-cli -- run --sim --app sudokuSee docs/DEVELOPING.md, docs/DEVICES.md and the roadmap.
Cobalt does not replace the Kobo's boot chain, and a restart always returns to the stock reader. Installing it adds files to the reader's user storage. It is provided without warranty. Report security issues as described in SECURITY.md.
GNU Affero General Public License v3.0. See LICENSE and THIRD-PARTY.md.












































