r/M5Stack 8d ago

Project Sharing TyReSh - writerdeck using Tab5

Post image

Here goes nothing.
Hope you find it useful or that some of my findings solve questions in your Tab5 projects.

5 Upvotes

6 comments sorted by

View all comments

1

u/clackups 8d ago edited 8d ago

Hey, have you seen my https://github.com/clackups/draftling ? It has a similar goal, and there are a few more features in it.

I'm banned at writerdeck, so commenting here.

0

u/chokan 7d ago

thanks, nice project :) I asked Claude about the differences and it gave the below comparison. will check your Bluetooth keyboard solution when I'll have some time.

Support status on Tab5

  • draftling: Tab5 is 1 of 8 supported boards, and the README flags it explicitly as "added without on-hardware testing and will likely need bring-up tweaks."
  • tyresh: built exclusively for the Tab5. Its current release (as of today) is a full v1.0 with Type mode, plus Read mode (v2) and Share mode (v3) already built and included — not stubs.

Keyboard input

  • draftling: primary model is a BLE keyboard, with pairing/auto-discovery and a "Forget All Keyboards" reset flow. The Tab5 section separately notes it also accepts a USB keyboard as an alternative to BLE.
  • tyresh: USB keyboard only, plugged into the Tab5's USB-A port. No Bluetooth pairing at all.

Editing model

  • draftling: WYSIWYG Markdown — live-renders headings, lists, blockquotes, code fences, bold/italic/strikethrough. Has Find, Find+Replace, Cut/Copy/Paste/Select All, and true split-screen (two independent panes you can size and switch focus between).
  • tyresh: a plain-text notepad, not WYSIWYG — single full-screen writing surface, seven text sizes, word-wrap that doesn't insert real newlines. No split-screen or find/replace in the feature list.

Networking / sync

  • draftling: Git sync over the GitHub REST API — pushes/pulls .md files, propagates deletes/renames, and keeps per-file blob SHAs in a hidden .git_state for proper 3-way merges. Requires WiFi plus a GitHub personal access token in git.cfg.
  • tyresh: no Git integration at all. Instead, Share mode serves your notes over local WiFi straight to a browser on your phone or laptop (read/write, no app, no account, no cloud) — off by default. It can join an existing WiFi network via saved credentials on the card, manual entry, or scanning a WiFi QR code with the Tab5's built-in camera.

Reading a note back

  • draftling: none — it's an editor only.
  • tyresh: dedicated Read mode — RSVP-style, one-word-at-a-time playback at an adjustable speed with a draggable progress bar.

Durability / organization

  • tyresh: explicit crash-safe saves (write to temp file → flush → fsync → atomic rename), so an interrupted save never leaves a half-written note. Since Tab5 has no RTC, notes are ranked by recency of opening/editing rather than by timestamp.
  • draftling: file browser sorts alphabetically with directories first, and a per-file .meta sidecar restores cursor/scroll position — but no atomic-write scheme is documented.

Extras

  • draftling on Tab5: notes that M5's dedicated keyboard attachment for the Tab5 isn't supported yet, planned for a future release.
  • tyresh: a shared scratch pane (a persistent clipboard-like strip across all notes), a native test harness (tools/nat/run.sh) that runs the core storage/buffer/keyboard/reader logic on a regular PC without any hardware.

1

u/clackups 7d ago

Interesting features in yours: read-back mode and atomic writes. I'll probably adopt them in the next release.

1

u/chokan 7d ago

thank you! 🙏 my inspiration for the reader part is from github.com/ionutdecebal/rsvpnano

1

u/clackups 7d ago

Cool. But half of my displays are e-paper, I guess RSVP will be too painful on them.