Loading files…
TPOD is a wearable voice-first task device built around the M5Stack M5StampS3 BAT. Pull it from a key reel, press a physical button, speak, confirm the task on its round display, and let it return to your belt or bag.
Pull. Speak. Confirm. Return.
The project reduces the time and attention required to capture a thought. It is an assistive productivity tool, not a medical device and not a diagnostic or treatment product for ADHD.
日本語の概要 · Hackster draft · contest readiness · assembly guide · parts and provenance · BLE protocol
firmware/ — PlatformIO firmware for M5StampS3 BAT, GC9A01 display, PDM
microphone, physical buttons, BLE task sync, and battery telemetry.mobile/tpod_flutter/ — Android Flutter app with English/Japanese UI,
offline English/Japanese speech recognition, local task parsing, BLE sync,
calendar, and widget support.hardware/electronics/ — KiCad PCB layout, JLCPCB Gerbers, BOM, CPL,
readable circuit documentation, and manufacturing notes.hardware/mechanical/ — renamed candidate STL, Blender-source audit notes,
print notes, and LCD-fit instructions. The editable Blender file is withheld
pending privacy cleanup and source-version selection; physical-match
confirmation and final revision naming are still pending.docs/ — architecture, assembly, safety, manufacturing, and Hackster copy.The included JLCPCB package is the adjusted Rev.B manufacturing snapshot. The physical board data and the active firmware pin configuration were produced at different points in development. Do not order boards until you compare the PCB nets against the selected PlatformIO environment and the actual assembled prototype.
Requirements:
^3.11.1The speech model is intentionally not committed. Install it from the upstream sherpa-onnx release, then build:
cd mobile/tpod_flutter
./tool/install_sensevoice_model.sh
flutter pub get
flutter analyze
flutter test
flutter build apk --debug
Use the 日 / EN control in the header to switch languages. The selection is
saved on Android and changes UI copy, the SenseVoice recognition language,
local parsing, and the BLE display language suffix (write:ja or write:en).
The Japanese path has been refined through repeated real-world use. The English UI, language switching, and parser checks pass, but end-to-end spoken English has had less field testing; recognition and parsing refinement is ongoing.
Clear task phrases use deterministic local parsing. Less structured input can be refined on the phone by a local Qwen2.5 0.5B Instruct model through the included llama.cpp Android runtime. The GGUF model itself is installed separately and is never sent to a cloud service by TPOD.
./mobile/tpod_flutter/tool/install_local_llm_model.sh \
/path/to/qwen2.5-0.5b-instruct-q4_k_m.gguf
cd firmware
python3 -m pip install -r requirements.txt
platformio run -e m5stack-stamps3-bat-reconnect-sleep-fast-charge
The contest/demo environment uses M5StampS3 BAT as the main controller for the display, buttons, microphone audio transport, BLE communication, UI state, and battery operation. Its current physical-button behavior is GPIO1 for record/confirm, GPIO3 for down selection, and GPIO2 for mode/up/long-press exit.
The exact files supplied for JLCPCB are under:
hardware/electronics/fabrication/jlcpcb/
hardware/electronics/bom/bom_jlc.csv
hardware/electronics/assembly/pick-and-place/cpl_jlc.csv
hardware/electronics/pcb/
The original upload ZIP is retained together with extracted Gerber/drill files. Verify orientation, footprints, substitutions, connector pin order, and pin mapping before purchase.
See LICENSES/README.md and NOTICE.
No comments yet. Be the first to ask about this board.