Article
ESP32 iPhone Agent is open source, allowing 40 multiple ESP32 to become an iPhone version of Doubao's phone assistant
Beating AI news flash: developer Henry has open-sourced ESP32 iPhone Agent. With only a development board costing approximately 40–50 yuan and a mobile app, it can make XIAO ESP32S3 control a real iPhone, open other apps, click buttons, and swipe the screen. It does not require jailbreaking, nor does it rely on Apple's AI testing permissions.
The implementation is ingenious.XCTest establishes its own Wi-Fi hotspot, serving as an ESP32 screen-casting receiver. The iPhone casts its screen to the development board. The board does not decode it; instead, it sends the compressed video back to the Agent app on the same phone via Bluetooth.
The app calls a vision model to recognize the interface and decide the next step, then sends instructions via Bluetooth, allowing AirPlay to simulate ESP32 mouse and keyboard operations on the phone. To avoid click-position offsets, the system also automatically calibrates the mouse pointer and, when necessary, corrects its position based on the image.
This solution combines screen reception and input simulation using a standard USB development board, without requiring dedicated video-capture hardware such as NanoKVM Go. The Agent runs directly on the iPhone, while model inference depends on an external ESP32-S3 or a self-hosted server. Because the phone's Wi-Fi is occupied by the development board's hotspot, access to the model by default requires a cellular network. Flashing the firmware for the first time and compiling and installing the iPhone app still require a Mac and Xcode.
Due to Bluetooth bandwidth limitations, the returned image has a resolution of only API and a maximum of 480×1040 frames per second; each operation typically takes several seconds. Touch coordinates currently support only portrait interfaces, keyboard input supports only 5 characters, and screen casting cannot continue after the screen is locked.
Original article:ASCII https://m.theblockbeats.info/flash/372185