A distraction-free terminal writing environment for Raspberry Pi
Project description
MicroJournal
MicroJournal turns a Raspberry Pi into a distraction-free e-paper writing appliance.
It is built for headless use on Raspberry Pi OS Lite, with systemd launching MicroJournal directly onto a Waveshare e-paper display. If the Waveshare stack is missing, it falls back to mock mode instead of failing.
Install
uv tool install microjournal
On Raspberry Pi OS Lite, run the installer after installing the tool:
microjournal install
microjournal boot enable
If you want spaCy-powered NLP, install the optional NLP extra:
uv tool install "microjournal[nlp]"
If you want local voice dictation, install the optional voice extra:
uv tool install "microjournal[voice]"
The voice extra skips faster-whisper on Linux armv6l, because the upstream wheel stack is not available there.
Local development
uv run microjournal
Commands
microjournallaunches MicroJournal OSmicrojournal runlaunches MicroJournal OS explicitlymicrojournal installprepares Raspberry Pi OS Lite for the e-paper appliancemicrojournal setupruns first-time configurationmicrojournal configedits settingsmicrojournal syncsyncs notesmicrojournal exportexports notesmicrojournal pack exportwrites a shareable visual pack JSON filemicrojournal pack loadapplies a visual pack from a JSON filemicrojournal doctorchecks hardware and dependenciesmicrojournal dictateruns push-to-talk local speech-to-textmicrojournal service installwrites the systemd servicemicrojournal service enableenables and starts the servicemicrojournal service disablestops and disables the servicemicrojournal service statusprints systemd statusmicrojournal service logsprints recent service logsmicrojournal boot enableenables direct boot into MicroJournal OSmicrojournal boot disabledisables direct boot
Storage
- Notes are stored as Markdown in
~/MicroJournal/journal - Config is stored in
~/.config/microjournal/config.toml - Autosave is enabled by default and runs every 5 seconds
First run
- Run
microjournal install - Enable direct boot with
microjournal boot enable - Reboot the Pi
- MicroJournal OS launches full-screen onto the e-paper display
Editor shortcuts
Ctrl+SsaveCtrl+Nnew noteCtrl+Fsearch notesCtrl+Pcommand paletteCtrl+Ttheme makerCtrl+Rview note statsCtrl+Eexport note statsF8toggle voice recordingCtrl+Qquit
NLP stats
- The footer shows live writing stats plus spaCy-powered NLP stats when the optional
nlpextra is installed - Note stats export creates a companion
*.ner.mdfile with entities and summary stats - If you install the optional
nlpextra and theen_core_web_smmodel is available, named-entity results are richer
Voice dictation
- The prototype uses the optional
voiceextra withfaster-whisperplus microphone capture, all locally - Dictated text is inserted into the editor at the cursor
- Voice mode is push-to-talk: press
VoiceorF8to start, then press it again to stop
Accessibility
- Large UI mode increases spacing, sidebar width, and footer breathing room
- The app does not force terminal font size; that is still controlled by your terminal emulator
- Visual packs let you share a theme, palette, and display setup as a JSON file
- Use the command palette to open the in-app Theme Maker, tweak a pack, and export it for sharing
Roadmap
- Typing telemetry for sparklines and dashboards, focused on aggregated local writing data rather than raw keystrokes
- More visual pack presets for cyberdeck-style builds
- Better export/share flows for Reddit-ready screenshots and pack files
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file microjournal-0.1.7.tar.gz.
File metadata
- Download URL: microjournal-0.1.7.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd47fffc7e3fff2988401757a84ea7147b24ab4610eb35213149e28cddd1366a
|
|
| MD5 |
35145a2c1382410a9bad05ae005865b4
|
|
| BLAKE2b-256 |
738cf5d93842b35711f4687bb0f80ccf58f5bfc9f08f1cbc59a0d976d67d0d16
|
Provenance
The following attestation bundles were made for microjournal-0.1.7.tar.gz:
Publisher:
workflow.yml on elclaudioabierto/microjournal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
microjournal-0.1.7.tar.gz -
Subject digest:
bd47fffc7e3fff2988401757a84ea7147b24ab4610eb35213149e28cddd1366a - Sigstore transparency entry: 2111628703
- Sigstore integration time:
-
Permalink:
elclaudioabierto/microjournal@def3d1f1e4239ccb7e31173b58b07348b8137d44 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elclaudioabierto
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@def3d1f1e4239ccb7e31173b58b07348b8137d44 -
Trigger Event:
push
-
Statement type:
File details
Details for the file microjournal-0.1.7-py3-none-any.whl.
File metadata
- Download URL: microjournal-0.1.7-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c24c7ce72cc3ce1e9ae7dc16c3da3f5d666735dfdc4a92c83e207459405c15b0
|
|
| MD5 |
ea450bbf347ab66e7983224a28e52d2a
|
|
| BLAKE2b-256 |
cc45b3cc353773e1585e63d00a858f8d2e9c38fe6f567dce01258fddc29e06c2
|
Provenance
The following attestation bundles were made for microjournal-0.1.7-py3-none-any.whl:
Publisher:
workflow.yml on elclaudioabierto/microjournal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
microjournal-0.1.7-py3-none-any.whl -
Subject digest:
c24c7ce72cc3ce1e9ae7dc16c3da3f5d666735dfdc4a92c83e207459405c15b0 - Sigstore transparency entry: 2111628778
- Sigstore integration time:
-
Permalink:
elclaudioabierto/microjournal@def3d1f1e4239ccb7e31173b58b07348b8137d44 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elclaudioabierto
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@def3d1f1e4239ccb7e31173b58b07348b8137d44 -
Trigger Event:
push
-
Statement type: