| Crates.io | airfrog-core |
| lib.rs | airfrog-core |
| version | 0.1.2 |
| created_at | 2025-08-12 10:42:26.226844+00 |
| updated_at | 2025-09-06 09:07:03.859117+00 |
| description | Rust native ARM debug support |
| homepage | |
| repository | https://github.com/piersfinlayson/airfrog |
| max_upload_size | |
| id | 1791807 |
| size | 88,042 |
Tiny wireless co-processor/programmer/debugger for ARM. Uses $3 WiFi module. Written in Rust.
The size of a postage stamp/quarter. $3 BOM. Hand solderable.
| Use Case | Description |
|---|---|
| Co-Processing | Augment MCU with additional processing power - including direct access to the MCU's hardware resources |
| Stealth Control | Control devices without physical access to the target device or the MCU's knowledge |
| Remote Telemetry | Transmit flash, RAM and peripheral data from device over WiFi |
| Live Re-programming | Program devices while they are running, over WiFi |
| Wireless Debugging | Debug devices over WiFi - no physical access required |
| Feature | Description |
|---|---|
| Default firmware | Access ARM MCU's RAM/flash/peripherals via web/REST/binary interfaces over WiFi |
| Custom firmware | Quickly develop custom apps using Airfrog libraries and examples |
| Super-fast boot | Airfrog transmits data from the target device within 5 seconds of power on |
| Existing tooling integration | Compatible with probe-rs for programming and debugging. |
| STM32 support | Tested and works with STM32F4 ARM targets. |
| Highly controllable | Erase/reflash firmware while target is running, halt/reset target, read/write RAM/flash/peripherals |
To install the default Airfrog firmware:
Install the dependencies
Connect the Airfrog via USB serial
Build and flash the default firmware
AF_STA_SSID=your-ssid AF_STA_PASSWORD=your-password cargo run --release -p airfrog
Point a browser to http://airfrog-ip/ (IP from DHCP) to access the web interface
Firmware:
Hardware:
Airfrog is used to add remote telemetry support to the Software Defined Retro ROM (SDRR) which is based on the STM32F4 ARM MCU.
SDRR has no network interface or spare MCU cycles to transmit data, so Airfrog is installed. It reads a counter directly from the MCU's RAM and sends it via MQTT over WiFi to be graphed on a remote system.
Airfrog can also be used to dynamically control SDRR during run-time, and reprogram it over WiFi.
This demonstration was developed in 2-3 hours with

If you are interested in precisely what is being shown here:
matplotlib.Contributions are welcome!