Kobo can run apps now

Aug 21, 2026 11:25 PM - 1 hour ago 1

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 Cobalt launcher connected a Kobo Clara BW showing Settings, App Store, Terminal, AI Chat, Audiobooks, Components, Daily Brief, Feeds and Gutenbird The launcher connected a Kobo Clara BW.

Not affiliated pinch Rakuten Kobo

A Kobo Clara BW moving Audiobook Studio, Gutenbird, Terminal, Hacker News, Sidekick and the App Store, past installing, playing, removing and reinstalling Sudoku complete Wi-Fi 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.

Cobalt launcher app grid connected e-ink

Launcher

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

Cobalt App Store catalog listing installed and disposable apps

App Store

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

Newest instrumentality learning preprints listed successful the arXiv app connected a Kobo

arXiv

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

A complete 81-cell Sudoku crippled connected a Kobo Clara BW

Sudoku

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

The missive S filling the Kobo sheet while the beforehand ray sends it successful Morse

Morse

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

A support of book covers from an OPDS catalogue connected a Kobo

Gutenbird

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

A classed database of Hacker News stories connected a Kobo e-reader

Hacker News

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

Subscribed feeds and articles successful the Feeds app

Feeds

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

A numbered regular news little connected e-ink

Daily Brief

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

A coding supplier petition pinch tappable responses successful Sidekick

Sidekick

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

A ammunition and touch keyboard connected the Kobo display

Terminal

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

Cobalt typography and UI components connected e-ink

Components

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

Battery position and hardware facts successful Settings

Settings

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

A persistent to-do database pinch completed items

Todo

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

A completed crippled of tic-tac-toe connected e-ink

Tic-tac-toe

Two players, partial refreshes for individual cells.

The Kobo hallway sensor responding to a magnet

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 dev

Read the SDK docs

use kobo_sdk::{ ActionId, Context, KoboApp, ScreenBuilder, }; #[derive(Default)] struct Hello { taps: u32 } impl KoboApp for Hello { fn on_start(&mut self, ctx: &mut Context) { self.show(ctx); } fn on_action( &mut self, ctx: &mut Context, a: ActionId, ) { if a == kobo_sdk::action_id("tap") { self.taps += 1; } self.show(ctx); } } impl Hello { fn show(&self, ctx: &mut Context) { let surface = ScreenBuilder::new("hello") .top_bar("Hello") .heading(format!("{} taps", self.taps)) .button("tap", "Tap me") .build(); ctx.set_screen(screen); } } fn main() { let app = Hello::default(); let _ = kobo_sdk::run("hello", app); }

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 →

The Cobalt App Store installing an app complete Wi-Fi connected a Kobo Clara BW Sudoku arriving complete Wi-Fi.
FIG. 1 CLARA BW N365

Install

Installing from source.

  1. Charge a Kobo Clara BW (N365) and link it complete USB. Other models are refused, not guessed at.
  2. Run the setup:
git clone https://github.com/BandarLabs/Cobalt.git cd Cobalt rustup target adhd armv7-unknown-linux-musleabihf cargo tally -p kobo-cli -- setup
  1. Restart the reader and unfastened Cobalt from Kobo's menu.
  2. 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.

  1. Build it. Add the app arsenic a workspace package nether apps/<app-id>/ and registry it successful apps/catalog.json.
  2. Test it. Add portion and layout tests, and tally it successful the browser and runtime simulators.
  3. Run it connected your ain device. A existent Clara BW, not conscionable the simulator.
  4. 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.

More