rsCardputer
⚠️ DEPRECATED - use ratspeak-handheld ⚠️
Dual-mode Ratspeak firmware for the M5Stack Cardputer Adv.
Legacy repository. Current firmware and development are in Ratspeak Handheld. The modes, controls, radio defaults and build artifacts below describe this retained repository; they are not the current handheld release instructions.
rsCardputer turns the M5Stack Cardputer Adv into a two-mode Reticulum handheld. Standalone mode is an on-device Ratspeak/LXMF messenger. RNode mode makes the Cardputer Adv a host-controlled radio for Ratspeak, Sideband, or another Reticulum client over BLE or USB serial.
The supported target is the M5Stack Cardputer Adv with:
- ESP32-S3FN8.
- 8 MB internal flash.
- Built-in keyboard and 240x135 display.
- microSD slot.
- SX1262 LoRa cap/module.
LoRa requires the Cardputer Adv LoRa cap. Without it, the device can still run Standalone messaging over WiFi, but it cannot transmit or receive LoRa. BLE is the host connection for RNode mode; it does not replace the LoRa radio.
For current firmware, follow the
handheld installation guide
and choose Cardputer Adv in the
Ratspeak web flasher. The current full
image is cardputer-full.bin.
Back up your identity and messages before changing firmware or layouts. Legacy packages from this repository use different names and storage layouts; matching a device name does not establish that an update will preserve its data.
On boot, the launcher lets you choose:
- Standalone: a local Reticulum/LXMF messenger with identity management, contacts, peer discovery, messages, LoRa, and WiFi TCP access.
- RNode: a host-controlled RNode-style radio target for Ratspeak or other Reticulum clients over BLE or USB serial.
RNode mode self-provisions the Cardputer Adv RNode product/model/default config
and running firmware hash on first boot, so users should not need a separate
rnodeconf setup step for the bundled release images.
On first boot, Standalone mode generates a Reticulum identity and asks for a timezone so GPS-provided time can be displayed locally. Your LXMF address is the 32-character hex string you share with contacts.
- Navigation: built-in keyboard and OK/Enter.
- BLE pairing in RNode mode: hold
porOKfor three seconds. - BLE toggle in RNode mode: hold
bfor three seconds. - The RNode radio stays idle until a host client connects and configures it.
Long Fast is the compiled-in default. Host clients can change RNode radio
parameters through normal RNode commands, and Standalone mode exposes radio
settings on-device.
| Preset | SF | BW | CR | TXP |
|---|---|---|---|---|
| Short Turbo | 7 | 500 kHz | 4/5 | 14 dBm |
| Short Fast | 7 | 250 kHz | 4/5 | 14 dBm |
| Short Slow | 8 | 250 kHz | 4/5 | 14 dBm |
| Medium Fast | 9 | 250 kHz | 4/5 | 17 dBm |
| Medium Slow | 10 | 250 kHz | 4/5 | 17 dBm |
| Long Turbo | 11 | 500 kHz | 4/8 | 22 dBm |
| Long Fast (default) | 11 | 250 kHz | 4/5 | 22 dBm |
| Long Moderate | 11 | 125 kHz | 4/8 | 22 dBm |
The supported SX1262 cap is an 850-950 MHz radio target. 868 MHz and 915 MHz are valid software profiles for that hardware range. 433 MHz requires 433 MHz radio hardware. You are responsible for operating within local laws and radio regulations.
These commands build the retained legacy source. Install Git, Make, Python 3
with virtual-environment support, and Arduino CLI first. Use a fresh checkout:
packaging replaces files under dist/.
git clone https://github.com/ratspeak/rsCardputer
cd rsCardputer
git checkout 98fec8f5e2f00330d95d0c27479a13f4b358f1f9
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install platformio esptool
make prep-cardputer_adv
make packageAfter backing up the device, make flash PORT=/dev/cu.usbmodemXXXX builds and
writes the full legacy image at offset 0x0. Replace the port with your device
and close any app using it. A factory write can replace settings; do not assume
that data from another firmware layout will survive.
Useful build targets:
make build-launcher # launcher only
make build-standalone # standalone messenger app
make build-rnode # host-controlled RNode target
make full-image # launcher + Standalone + RNode
make standalone-image # standalone merged image
make rnode-only-image # standalone RNode merged image
make package # release zips and launcher binsLegacy artifacts are written to dist/:
dist/rscardputer-full.zip
dist/rscardputer-standalone.zip
dist/rscardputer-rnode.zip
dist/rscardputer-standalone-m5launcher.bin
dist/rscardputer-rnode-m5launcher.bin
Each .zip contains a merged factory image and its legacy flasher manifest.
The *-m5launcher.bin files are bare applications for a compatible external
launcher or a correctly sized OTA slot. Do not write a bare application at
offset 0x0.
rsCardputer standalone firmware, launcher, partition tables, and packaging tools are licensed under the GNU Affero General Public License v3.0 or later. See LICENSE.
The bundled RNode firmware under vendor/rnode_firmware/ is licensed under the
GNU General Public License v3.0. See LICENSE-RNODE.
Standalone mode uses a custom fork of microReticulum, which was originally written by Chad Atterman.