Skip to main content

OTG HID tutorial

Overview

  • iOS currently supports ESP32S3 boards
  • OTG simulated actions do not conflict with proxy IPA — combine or use separately
  • OTG can skip proxy IPA and use image.captureFullScreenNoAuto — no mirroring, less detection risk, no Bluetooth interference
  • Firmware is free; buy boards on Taobao, Pinduoduo, 1688, etc.
  • OTG uses the data cable — a 3-in-1 adapter (Ethernet + OTG + charging) is recommended

Download firmware

  • Cloud drive: iOS resources → USB edition → OTG firmware
  • Currently ESP32S3 only; iOS 17+ required

Flash firmware

Bind OTG device

  • Label board and phone with MAC for mapping
  • Control center → right-click device → OTG HID settings → Bind OTG device

  • Pick serial port; or clear Show bound only, Force refresh, or enter last 8 MAC chars
  • Bluetooth/OTG MAC column shows bound hardware

OTG networking

  • Right-click → OTG HID settings → Set WiFi (provisioning)

  • Enter SSID/password, Set, restart or replug board

Scan OTG IP

  • Control center needs board IP — provision Wi‑Fi first, then scan
  • Right-click → OTG HID settings → Scan board IP
  • IP appears under Bluetooth/OTG hardware IP
  • After bind + network, PC is only needed for setup

Enable wireless debugging on phone

  • OTG occupies the cable — use wireless debugging to reach the control center
  • Settings → General → Transfer or Reset iPhone → Reset → Reset Location & Privacy — clears trust with PC
  • Install iTools / 爱思助手 on PC, connect USB, tap Trust
  • iTools → Toolbox → iTools screen mirroring installs Bonjour (required for wireless debugging) — follow prompts until Process manager → Bonjour service running
  • With Bonjour running, control center right-click → Wireless debugging → Enable, restart phone — connection shows Network

Test OTG

  • With wireless debugging, firmware, and phone settings ready:
  • Connect OTG — mouse dot on phone, or Settings → Ethernet → EasyClick NCM+HID input
  • Right-click → OTG HID settings → Test OTG

  • Click Mouse move or HOME — phone should react

Keyboard shortcuts

  • Same as BLE — Full Keyboard Access → Commands; scripts use otgEvent.keyPressChar
  • Right-click → Bluetooth BLE settings → Add keyboard shortcut

  • Example:
  • Commands → Notification Center → shortcut dialog
  • Control center: gui + b, Send, Done on phone
  • Send gui+b again → Notification Center opens

Input

With proxy IPA

  • If proxy IPA starts automation, use inputText, etc.

Custom IME

  • EC standalone main app as IME: imeApi with imeApi.forwardImeServer first

Without proxy IPA or IME

Video and images

With proxy IPA

  • Proxy IPA inserts to Photos

Without proxy IPA

FAQ

Can't enable wireless debugging

  • Reset Location & Privacy, reconnect and trust
  • Bonjour must run; phone and PC on same LAN and pingable — reference
  • If control center can't enable remote debug: iTools → Feature toggles → WiFi debugging

Which settings to enable on iPhone for OTG

Using with scripts

  • IDEA: Non-automation capture, Live test (non-automation)
  • Scripts: image.captureFullScreenNoAuto, image.startPreCapScreen
  • No node APIs; OCR, YOLO, color, template match work

Absolute coordinates

  • Start (0,0); restart phone if wrong

Control center shows wireless serial name

  • Restart control center; close flash tool before opening control center