▲ 52 r/CardPuter
XZYOS — a dual-screen SSH terminal + MP3 player + lunar almanac clock for Cardputer ADV (with an external 320×240 SPI display)
Hey folks!
I've been working on a custom firmware for the Cardputer ADV (ESP32-S3) that turns it into a pocket SSH terminal with a big external display. Just released v0.6.0 — binaries only, no source (for now).
What it does
SSH Terminal (the main feature):
- Full SSH2 client implemented from scratch (curve25519 + AES128-CTR + HMAC-SHA2-256)
- Runs on the external 320×240 ILI9341 SPI display — 40×15 VT100 terminal with ANSI 16-color, blinking cursor, and Chinese character support (GB2312 bitmap font)
- Tested against OpenSSH 10.3 / zsh / vim / htop — full-screen TUI apps work
- Password auth, config stored in NVS, long-press key repeat (hold backspace to delete, hold arrows to move in vim)
- Flow control window management, so heavy output like
catdoesn't stall
MP3 Player:
- SD card playback via esp-audio-dec hardware decode
- Dual-screen visualization: inner 240×135 shows controls, external 320×240 shows a Braun-style clock face + spectrum analyzer + track name
- Resume from last position, long-press seek, software volume with perceptual curve
Lunar Clock (3 modes, Tab to switch):
- Large DSEG7 LED clock with blinking colon
- Date + weekday + Chinese lunar calendar date
- Full almanac page: four pillars (八字 BaZi), five elements (五行), daily auspicious/inauspicious activities (宜忌), and lucky clothing colors shown as little T-shirt icons
All verified against the cnlunar Python library for accuracy across 2,150 test dates.
Hardware
- Cardputer ADV (ESP32-S3, 8MB flash, no PSRAM)
- External ILI9341 320×240 SPI display (shares bus with SD card)
- The display connects via the Prokuon Cap TFT V2 adapter board
Keyboard
Follows the standard Cardputer layout:
- Plain
,./;= type punctuation directly (for IPs and URLs) Fn+ those keys = arrow keysCtrl+ letter = control charactersEscshort = send ESC, long hold = exit app
Download
GitHub: https://github.com/hongxin/m5cardputer-xzyos
Binaries + flash script included. No source code at this time.
Made by Tim · XZYOS (小璋瑜OS) · v0.6.0
Would love feedback, especially from anyone with a Cardputer ADV + external display setup!
u/HotJury9079 — 7 days ago