FAQ¶
Is ESPM a git submodule?¶
No. ESPM lives at espilon-test/ESPM/ and is copied into the firmware at Espilon-Firmware/components/espm/. Documentation that calls it a submodule is out of date.
What happened to the TUI and Copland?¶
C3PO is now a Qt6 desktop app with six views. The old Textual TUI and Flask dashboard are gone, and the standalone copland.py provisioning script was replaced by the built-in Provision view.
How many syscalls does ESPM have?¶
102, in ESPM v0.2.0. See the syscall reference.
Do devices auto-discover C3PO?¶
No. Each device is provisioned with the Management Protocol server address and its own key. It connects outbound on boot. See provisioning.
Can I run multiple servers or fleets?¶
Yes. Run C3PO instances on different ports, and provision devices to the server you want them to reach. Each device connects to exactly one server address.
Can I provision over GPRS/cellular?¶
Yes. Choose GPRS in the Provision view and a board profile (t-call, t-sim7070g) to auto-fill the modem pins. The Management Protocol server must be reachable from the internet for cellular devices.
Can I use a custom sdkconfig?¶
The Provision view generates an sdkconfig from your form values. For full control, point it at a pre-configured Espilon-Firmware checkout, or build manually with idf.py and the config overlays. See configuration.
What survives a power cycle?¶
Nothing, by default. Modules live only in RAM and are wiped on reboot, leaving a clean hollow shell. The exception is a module explicitly persisted to encrypted NVS (CONFIG_ESPM_PERSIST_ENABLE).
Is the reverse tunnel still supported?¶
Yes, as a module capability rather than a server feature. The reverse tunnel is part of mod_network (tun_start/tun_stop/tun_status). The old standalone SOCKS5 view no longer exists.
What about camera streaming and trilateration?¶
Not in the current version. The camera module (mod_cam) is written but depends on camera syscalls that are not yet in the ESPM ABI, and trilateration is not yet implemented. Both are planned for a future release. See planned modules.
Which chips support BLE?¶
ESP32-C6 and ESP32-S3 v0.3+ (and C3). The ESP32 classic has no BLE, and the ESP32-S3 v0.2 cannot use it due to a silicon errata. See supported boards.
How do I rotate a device key?¶
Re-provision the device. That regenerates the master_key, rewrites the fctry partition, and updates keys.json.