Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

How I Built an Autonomous Physical Device QA Farm with Python, ESP32, and n8n (Bypassing AWS Device Farm)

Description and use

An autonomous QA fleet manager for physical mobile devices using ESP32-CAM, Python, OpenCV, and a Vision LLM eliminates cloud costs and USB instability.

Problem

Running automated UI tests on a fleet of physical mobile devices is expensive with cloud farms and unreliable with local hardware due to USB hub instability and OS-level screen recording overhead.

Outcome

The system enables autonomous, low‑overhead UI testing on a fleet of physical devices, eliminating cloud costs and USB instability while providing real‑time results via n8n.

Workflow

  • Trigger a GitHub Action that sends a webhook to n8n.
  • n8n posts to a local Python Fleet API to allocate an idle ESP32 node and its device.
  • The ESP32 streams the device screen via RTSP to the server with <100 ms latency.
  • Python backend captures a frame, encodes it, and sends it to a Vision LLM (e.g., gpt‑4o) with a structured prompt to assert UI elements.
  • Results are routed back to n8n, which updates Jira, posts to Slack, or logs metrics.

Evidence

Cloud-based device farms (like AWS Device Farm or BrowserStack) cost thousands of dollars per month and throttle your CI/CD pipelines due to harsh concurrent usage limits.

Source

By physically mounting a $5 ESP32-CAM over the mobile device, we decouple the testing mechanism from the device's OS entirely.

Source

The ESP32 utilizes optimized C++ firmware to stream the physical device's screen via RTSP to the local server with sub-100ms latency.

Source

  • Record date: 2026-10-13T17:56:20.882Z