GuideBB-0016

Developing a Rust IoT device with an AI agent on an ESP32-S3

Ricardo F. Tafas Jr of Espressif explains how he built Rust firmware for an ESP32-S3-based M5Stack ESP DualKey, with Cursor's agent writing the code. The device handles Wi-Fi, BLE and provisioning. He fed UART traces back to the agent and stepped through with OpenOCD and GDB when its reasoning stalled. Photos show the board's red and green status LEDs.

Open original source developer.espressif.com · Ricardo F. Tafas Jr (Espressif)

Shown working
Why this evidence label?

Photos of the ESP DualKey showing the red and green connectivity LED states from the firmware.

How we check entries
Preview image for Developing a Rust IoT device with an AI agent on an ESP32-S3
The source's own preview image, from developer.espressif.com.

Briefing

The article casts the agent as the coder and the author as the evaluator, who checks its work against a written product spec, cargo check, UART traces and the bench. Prompts stay small, and when debugging stalls he hands the agent a hypothesis to test. In one case that showed the device resetting before a communication window finished.

His recommendations: pin crate versions, keep known-good ESP-IDF C examples in the workspace as a reference for protocols such as BLE provisioning, and commit and tag each milestone that works on the bench. His failure modes include invented APIs, over-refactoring and a debug journal the agent deleted when asked to clean out garbage files.

“Speed without tracing, commits, and occasional tidy-up is how you lose afternoons to regressions nobody can bisect.”

Ricardo F. Tafas Jr (Espressif), in the source on developer.espressif.com

Tags

Instrument
Agent
Interface

Report a problem with this entry