📈 GH Trending Explorer 🎲 Surprise me

← all repos

ananhq / anan-iphone-use

git clone https://github.com/ananhq/anan-iphone-use.git

ESP32 MCP firmware for iPhone USB input, built for M5Stack StopWatch with guided board adaptation

—
stars, 24h
+130
stars, 7 days · #396
+130
stars, 30 days · #1,817
130
★ total · +130% this week
20
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
LicenseGPL-3.0
Created2026-10-13 (7d ago)
Last push5d ago
Watchers1
OwnerOrganization

GitHub topics

Links

README excerpt
# Anan iPhone Use
English · 简体中文
**An iPhone MCP server built for M5Stack StopWatch (ESP32-S3), with USB and Bluetooth mouse and keyboard input.**
The client observes the screen, decides what to do and checks the result; StopWatch executes taps, drags, scrolling and keyboard input. The firmware runs no model and provides no phone screenshots.
Integrated with **Anan (an entirely client-side agent, coming soon as open source)**. Other MCP agents and ESP32 boards are welcome; the anan-iphone-use skill guides setup and hardware-specific adaptation.
## Demos and setup
 Draw in Notes 
 Check Xiaohongshu followers 
 Do Not Disturb and timer 
 Prompt: Open Notes and draw a little dog. 
 Prompt: Open Xiaohongshu and check how many followers I have. 
 Prompt: Turn on Do Not Disturb, then start a 25-minute timer. 
After flashing, choose a connection:
- **Wireless:** scan the StopWatch Wi-Fi QR, open `http://192.168.4.1`, confirm MCP pairing, then select your 2.4 GHz Wi-Fi. Copy the MCP configuration before closing setup; rejoin your usual Wi-Fi, import it, then select BLE input and pair **Anan StopWatch** on iPhone.
- **USB:** connect StopWatch to iPhone, configure USB Ethernet (`192.168.7.2`, mask `255.255.255.0`, no router/DNS), then open `http://192.168.7.1` to pair and import MCP.
Enable AssistiveTouch for either route, then tap **Start control** on StopWatch: white eyes on black react to input, tilt and touch, with colored cursors and keycaps during operations. Press either front key to stop and return Home. Wireless setup is illustrated below; full setup and recovery covers both routes.
> **Avatar credit:** the expressive eyes are adapted from **Trentct/m5stack-stopwatch-avatar**, with MCP input feedback added here.
 1 · Join the setup hotspot 
 2 · Confirm MCP pairing 
 3 · Copy config before leaving 
 4 · Pair BLE and start control 
*Static illustrations rendered from the firmware layout, not device screenshots. Codes, Wi-Fi password, IP and battery values are synthetic examples; MCP pairing is separate from Bluetooth pairing.*
## How it works
A phone or computer agent reaches StopWatch's MCP over USB networking or Wi-Fi; StopWatch sends input to iPhone over USB or experimental BLE. Network access and input selection are independent, so Wi-Fi MCP can also control a USB-connected phone.
## What you need
| Item | Requirement |
| --- | --- |
| Device | M5Stack StopWatch (ESP32-S3); computer and data cable for initial flashing |
| Phone | iPhone with AssistiveTouch enabled; USB input requires a USB-C connection |
| Client | Anan, or a phone/computer HTTP MCP client with access to the USB subnet or Wi-Fi LAN |
| Screen observation | Supplied by the client; Anan's system screen sharing requires iOS 27+ |
## Quick start
 [code] 
Open your agent in the repository directory and enter:
 [code] 
The skill guides flashing and connection setup, or minimal adaptation for another ESP32 board. Update through `flash.sh` / `flash.py` to preserve BLE pairing and Wi-Fi