Use case

One Mac, a whole shelf of phones.

Plug in Android and iOS devices and they're adopted and provisioned automatically — mirror any of them live, drive input, and each one keeps its own proxy identity.

Six phones racked to one bmfarm Mac mini beam a live mirror up into a browser farm view — a mirrored phone screen with a touch ripple beside a schedule card of checked runs — while the rack's traffic also streams into a small live dashboard feed with green status codes. dash.busymate.dev/farm 02:00 bmfarm live 200 201

The problem

A shelf of test phones is usually a shelf of chaos

Every device farm tool has to solve the same three problems: stable identity across USB reconnects, a live view without lag, and traffic each phone can be attributed to individually.

For teams running a self-hosted lab of real Android and iOS phones — device-support matrices, manual triage across OS versions, or a fleet that needs to be controllable and watchable from anywhere, not just standing at the shelf.

Busymate's Phone Farm gives Android and iOS one shared model: one control wire, one capture sink, one live-mirror relay. Plug a phone in and it keeps one stable identity for as long as it's yours — a reconnect, a cable swap or a hub change never turns it into a "new" device.

How it solves it

Watch it, touch it, route its traffic — per device

Both platforms share one device model; only the on-device control and capture engines differ.

Watch it. Touch it. Live.

Low-latency H.264 mirroring streams each phone's screen into your browser — Android via scrcpy, iOS via ReplayKit — and your taps, swipes and keystrokes round-trip to the physical device.

Stable identity, real control

Every command targets the phone's stable identity, not a cable-session detail that changes across reconnects — so a script aimed at "that phone" keeps working after a replug, a reboot or a port swap.

Per-device proxying at scale

Each farmed phone's HTTPS routes through the shared proxy-server with its own identity — no second proxy stack to run, and traffic from ten phones never blurs into one feed.

Surfaces involved
  • Farm
  • Android
  • iOS
  • Proxy
  • MCP

Walkthrough

From a box of phones to a controllable, watchable fleet

Zero-touch bring-up, then it stays online.

  1. 01

    Install the host daemon

    Run bmfarm on the Mac driving the phones and sign in once. It supervises its own dependencies and stays online, even on a machine you never sit in front of.

  2. 02

    Plug in phones

    Android phones are auto-adopted over ADB with near-zero config. iOS phones are auto-provisioned — the one-time Developer Mode and Trust taps aside.

  3. 03

    Mirror, control, and capture

    Open a live mirror on any device from the dashboard, drive it directly, and watch its captured traffic land in the same feed — from your desk or across the world.

On the host

How it works from box to fleet

One daemon on the Mac, then it stays online.

  1. 01

    Install the host and sign in once

    Run the farm host on the Mac the phones will connect to and sign in with your workspace account. The host pairs itself as a device, supervises the tooling it depends on, and keeps running on a machine nobody sits in front of.

  2. 02

    Connect phones and let them be adopted

    Plug in Android phones with USB debugging enabled and they are adopted with near-zero configuration. iOS phones are provisioned after the one-time Developer Mode and Trust taps. Each device gets a stable identity on the host, so a cable swap or hub change never turns it into a new phone.

  3. 03

    Mirror, drive and route, per device

    Open a live mirror of any phone from the dashboard and drive it directly — taps, swipes and keystrokes round-trip to the physical device. Each phone's HTTPS routes through its own identity on the shared proxy, so ten devices' traffic never blurs into one feed, and every action is available to an AI agent over MCP.

FAQ

Before you buy a hub, the usual questions

How many phones can one Mac drive?

As many as its USB hubs can power and enumerate reliably — the practical limit is hub quality and bandwidth, not the software. Start with one hub and grow from there.

Does a replug create a duplicate device?

No. The host mints a stable identity for each phone and keeps it across reconnects, reboots and port swaps, so scripts and schedules aimed at a phone keep working.

How is mirroring so responsive?

The phone's screen is streamed as low-latency H.264 video — Android via scrcpy, iOS via ReplayKit — and your input is sent back over the same control connection, so it feels like holding the device, not watching a slideshow.

Can the farm live somewhere other than my desk?

Yes. The host runs unattended on any Mac with the phones attached; you mirror, drive and capture from the dashboard wherever you are, and the traffic lands in the same feed as every other source.

Turn a shelf of phones into a real device farm

Self-hosted, no per-minute bill, no seat fees — it's your hardware and your daemon.

Ask your mate