S1-adv: An Openclaw-connected Cardputer Adv
About the project
An experimental ESP32-S3 handheld interface with local tools and a bridge to a host-side OpenClaw agent. The device handles keyboard, display and audio; models and optional builds run off-device. Source, architecture and a filmed walkthrough of my own setup are included.
Project info
Difficulty: Moderate
Platforms: M5Stack
Estimated time: 1 day
License: Creative Commons Attribution CC BY version 4.0 or later (CC BY 4+)
Items used in this project
Story
S1-ADV: an OpenClaw-connected Cardputer ADVI built S1-ADV as an experimental software environment for the existing M5Stack Cardputer ADV. The aim is to keep local tools on a small handheld while connecting its keyboard and screen to an agent on a separate host.
The device and host are separateESP32-S3 firmware handles input, display, audio I/O and local applications. A Node.js bridge connects the conversation to OpenClaw. Models, configured speech services and optional development/build tools run off-device. This is not Linux or an LLM running on the ESP32.
A request is the beginning of a featureThe intended sequence is request, AI-assisted code, build, review, approved update and an actual hardware check. A successful chat reply is not proof of an installed firmware change.
Starting pointUse the current source documentation. Configure OpenClaw on the host first, then the bridge and your own device token. Initial flashing uses a USB data connection. Connect Wi-Fi and test one typed question, checking the reply on the physical display.
Source and setup: https://github.com/s1z0v/s1-adv
Getting started: https://github.com/s1z0v/s1-adv/blob/main/docs/GETTING-STARTED.md
Walkthrough: https://youtu.be/-eJ83SK7VHQ
Limits and creditsThis is a report of my own setup, not a validated beginner kit. Clean-device reproduction, measured reliability and compatibility with other Cardputer variants are not established here.
M5Stack designed the hardware. S1-ADV builds on OmniBot by Naz Louis and contributors. Component-specific source licenses and notices remain unchanged, including GPL obligations for the Mesh dependency. Any article or photograph license applies only to my original write-up and photo, not the source components or third-party hardware. The cover is a real frame from IMG_3547.MOV, previously used in my Maker Pro draft. This write-up was prepared with AI assistance against the project documentation.
I'd welcome feedback on the small-screen status design: what should remain visible when local tools are working but the host is waiting or disconnected?
Leave your feedback...