ABVx is a Pocket OS for M5Stack Cardputer ADV: a fast offline-first personal tool for capture, memory, reading/listening, routines, and transfer.
It is not just a launcher or a set of apps. The product goal is to minimize friction for common actions:
Capture -> Remember -> Read -> Listen -> Act -> Reflect
The existing apps are implementation modules behind those actions.
Current firmware is the technical baseline for ABVx Pocket OS.
Core ideas:
- One Button Capture: start voice/text capture with one shortcut.
- Universal Inbox: notes, voice, habits, bookmarks, and actions flow into one log.
- Timeline: a simple life/activity journal built from captured events.
- Context Resume: resume last book, track, note, timer, or habit state.
- Fast Dashboard: boot into status + resume actions, not only an app list.
- Zero Cursor Philosophy: use physical keys directly where possible.
- Progressive Apps: simple first screen, advanced options later.
- Minimal / Art mode: productive default UI, optional battery-gated visual mode.
Architecture: docs/PRODUCT_ARCHITECTURE.md
Decisions: docs/ARCHITECTURE_DECISIONS.md
Roadmap: docs/ROADMAP.md
Current baseline: v0.2.0 Release Baseline.
Tested on real Cardputer ADV hardware.
Stable baseline:
- Boot: ABVx splash and large monochrome launcher.
- Listen/Music: SD MP3 player with waveform, volume, next/prev, shuffle, double-buffered playback.
- Voice/Record: one RAM-first 20-second WAV voice-note mode, save/play/delete, continuous playback, waveform.
- Read/Reader: small and large TXT books, streaming reader, English/Russian display,
1W / 2W / LINEspeed reading, persistent bookmarks. - Write/Notes: LAT/plain text create/open/edit/delete. Cyrillic notes are view-only.
- Time: manual clock, stopwatch, timer, alarm.
- Files: SD browser, file opening, file info, delete confirmation.
- Routines/Habits: daily checklist, manual next day, 7D/30D stats.
- Decide/Randomizer:
YES / NO / MB. - Settings: theme, sound, timeout, power preset, SD reprobe, About.
- Transfer/Connections: Wi-Fi AP list/download/small-file diagnostics.
Postponed: browser, AI, Mac companion, long SD-streaming recorder, large Wi-Fi upload.
Detailed status: docs/PROJECT_STATUS.md
Changes: CHANGELOG.md
Global:
- Up / Down: move selection.
- Left / Right: page or switch mode.
- OK / Enter: open, start, save, confirm.
- GO / Back: return or stop.
- Backspace: delete where supported.
1: app-specific shortcut.
App highlights:
- Listen: OK play/stop, Up/Down volume, Left/Right track,
1shuffle. - Read: Up/Down line, Left/Right page,
1speed mode for any supported book, OK pause/resume in speed mode. - Write:
1new/edit, Backspace delete from list. - Voice: OK starts
NEW REC, OK/GO stops and saves, OK plays a saved recording. Auto-save at 20 seconds. - Routines: OK toggles,
1next day, Right stats, Left manage. - Transfer: OK starts AP, GO stops it.
One Button Capture from launcher:
R: start voice recording.N: new text note.M: play selected music.2orS: resume last used context in the current session.Dor0: open session dashboard.
Use 8.3-safe filenames for now.
/sdcard/music/A.MP3
/sdcard/books/EN1.TXT
/sdcard/books/RU1.TXT
/sdcard/notes/NOTE0001.TXT
/sdcard/rec/REC0001.WAV
/sdcard/RECS/REC0001.WAV
/sdcard/inbox/INBOX.TXT
/sdcard/habits/HABITS.TXT
/sdcard/habits/LOG.TXT
/sdcard/habits/STATE.TXT
/sdcard/CARDPTR/CONFIG.TXT
/sdcard/CARDPTR/READER.TXT
Wi-Fi AP:
- SSID:
ABVX-Cardputer - Password: generated for each Transfer session and shown on Cardputer.
- URL:
http://192.168.4.1
Useful endpoints:
curl http://192.168.4.1/api/ping
curl http://192.168.4.1/api/status
curl "http://192.168.4.1/api/list?path=/music"
curl "http://192.168.4.1/api/download?path=/notes/NOTE0001.TXT"
curl http://192.168.4.1/api/write-testSmall upload only:
python3 tools/cardputer_upload.py ./NOTE.TXT /notes/NOTE.TXTUpload is intentionally limited to 64KB. Large MP3 upload over Wi-Fi is unstable on Cardputer ADV and is disabled. Use an SD reader/hub for music files.
cd /Volumes/Work/Work/cardputer-abvx-minimal
. ~/esp/esp-idf-v5.4.2/export.sh
idf.py buildFirmware:
build/cardputer-abvx-minimal.bin
Flash:
ls /dev/cu.usbmodem*
idf.py -p /dev/cu.usbmodem101 flash- Boot: ABVx splash and launcher.
- Music: play
A.MP3, check smooth sound/waveform, stop. - Record: create short note, confirm
Record saved, play it back, delete test file. - Reader: open both a small TXT and a large English/Russian TXT, scroll by line/page, test
1W / 2W / LINE, then exit/reopen and confirm the bookmark. - Notes: create LAT note, edit it, delete it; Cyrillic note should be view-only.
- Time: stopwatch, timer, alarm sound.
- Files: browse SD, open TXT/MP3/WAV, open unsupported file info.
- Habits: toggle habit, next day, stats.
- Settings: SD reprobe, About, config/theme.
- Connections: AP starts,
/api/ping, list, download, write-test. - Settings: About shows ABVx Pocket OS
v0.2.0.