setup guide
Set up your own phone fleet, from nothing
Everything you need to go from a box of Android phones to opening any of them in a browser, from anywhere. Free to read. When you're ready, we do it with you on a call.
On this page
Overview
There are two sides. Your office has the phones, a powered USB hub and one small Ubuntu PC. We run a private control server for you in the cloud. The PC opens an encrypted tunnel out to that server, and your team signs in to the server from any browser.
| Part | Who | Time |
|---|---|---|
| Your private server | Us | 30–60 minutes, before your call |
| PC and phones (steps 1–4) | You, with us on a call | About an hour, mostly installing Ubuntu |
| End-to-end check (step 5) | Both | 15 minutes |
1. What to buy
| Item | Buy | Avoid | Rough price |
|---|---|---|---|
| PC | A small Intel or AMD PC: Dell OptiPlex Micro, Lenovo ThinkCentre Tiny, HP EliteDesk Mini or Intel NUC. 8 GB RAM (4 GB works up to about 20 phones), 128 GB SSD, USB 3 ports, an Ethernet port. Second-hand is fine. | Raspberry Pi. A PC you also use for other work: this one runs 24/7 and only does this. | USD $100–230 |
| USB hub | A powered hub with its own power brick, 2 A or more per port. Several 7–10 port hubs work better than one huge one. | Hubs without their own power. Hubs built on the QinHeng 1a86:8095 chip, which caused most of the drop-outs on our own phone racks (check with lsusb once plugged in). | USD $35–100 each |
| Cables | Short (0.5–1 m) USB data cables, one per phone, plus a spare for every 5. | Charge-only cables: the phone never shows up. | USD $3–7 each |
| Network | Ethernet from the PC to your router. | Wi-Fi for the PC, if you can avoid it. | |
| Power | Hubs and PC on one power strip. A small UPS if power cuts are common where you are. | ||
| Phones | Android 9 or newer. Samsung Galaxy works best (S20 to S23, A-series is fine). One SIM each if they need mobile data. | Xiaomi, Redmi and POCO work but need extra switches and a Mi account. iPhones don't work. | Your own |
How many phones per PC
Plan on 20 per PC, and up to about 40 with 8 GB of RAM. Two hard limits:
- A PC's USB controller has 64 device slots, and every hub uses one. Past 64, extra phones silently never appear. A PCIe USB card adds another 64.
- For now we support one PC per customer. Over 40 phones, talk to us first.
2. Install Ubuntu on the PC
- Download Ubuntu Desktop 24.04 LTS from ubuntu.com/download/desktop.
- Write it to an 8 GB or bigger USB stick with balenaEtcher or Rufus.
- Boot the PC from the stick (press F12, F10 or F2 at power-on) and choose Erase disk and install Ubuntu.
- Create a user and a password you'll remember. Tick Log in automatically if it's offered.
- In the PC's BIOS, set Restore on AC power loss to Power On if it has that option, so the PC comes back by itself after a power cut.
- Plug in Ethernet and check the PC is online.
You don't need to change any power or sleep settings. The installer stops the PC from ever sleeping.
Why not Windows?
Most of these PCs come with Windows, and the Ubuntu install simply replaces it. The software that streams the phone screens only runs on Linux, and it needs direct access to the USB ports. Windows can pass USB phones to Linux one at a time (WSL2 with usbipd-win), but every phone has to be attached by hand again after each replug or restart, which falls apart at 10 or more phones. Windows also restarts itself for updates. A cheap second-hand PC that does nothing but this is more reliable.
3. Install the software: one line
We send you one private line that starts with wget. It's made for your PC only and works for 7 days. If it runs out, ask us for a new one.
- On the PC, open Terminal (Ctrl+Alt+T).
- Paste the line (Ctrl+Shift+V) and press Enter.
- Type the PC's password when it asks.
wget -qO- https://YOUR-SERVER.cloudf.one/i/your-private-code | sudo bash
The first install takes 5–10 minutes because it downloads about 1 GB. It ends with "Installed. Now plug the phones in."
What it installs
- adb, the standard Android tool that talks to phones over USB.
- The DeviceFarmer STF provider, in Docker. It streams each phone's screen and passes taps and typing through.
- A WireGuard tunnel out to your server on UDP port 51820. Nothing on the PC is opened to the internet.
- A watchdog that checks everything every 3 minutes and restarts the part that most often hangs.
- Phone settings applied once to each new phone (step 4).
phonefleet-setup, so you can remove our access or uninstall later.
Take our support access away any time with sudo phonefleet-setup --remove-support. Remove everything with sudo phonefleet-setup --uninstall. Your phones are never touched.
4. Prepare each phone
This is the minimum Android allows. No software can switch on USB debugging or tap Allow for you.
- Finish the phone's own setup screens first.
- Settings → About phone → Software information → tap Build number 7 times.
- Settings → Developer options → USB debugging → On.
- Samsung: Settings → Security and privacy → Auto Blocker → Off. Xiaomi, Redmi or POCO instead: Developer options → Install via USB and USB debugging (Security settings) → On. This needs a Mi account sign-in.
- Plug the phone into the hub, unlock it, tick Always allow from this computer and tap Allow.
A Samsung left on its setup wizard switches itself off after about 30 minutes. Finish the wizard before you plug it in.
Settings we apply for you
Within a minute of plugging a phone in, the PC sets these once:
- The USB permission never expires. Otherwise Android forgets the PC after 7 days without use, and someone has to tap Allow again.
- Samsung phones stop charging at 80–85% (Protect battery, Maximum). A battery held at 100% on charge for months swells.
- System updates don't download by themselves, so a phone never restarts while someone is using it.
These are ordinary settings. Nothing is disabled or uninstalled, and if you change one back, it stays your way.
Worth doing yourself
- Set the screen lock to Swipe or None. With a PIN, your team types it through the browser every time a phone locks.
- Leave Stay awake off, to avoid screen burn-in. A black screen in the browser is a sleeping phone: press the power button in the toolbar.
- Label each phone and its cable (S22-01, S22-02 and so on).
- Play Store app auto-updates stay on unless you turn them off (Play Store → Settings → Network preferences → Auto-update apps). We leave that one alone, because the only way to change it from the PC also stalls your own downloads.
5. Check it works
On the PC, run:
sudo phonefleet-site status
It lists every phone and tells you what is wrong in plain words. Every phone should read device.
| Check | How | Good result |
|---|---|---|
| Browser | Sign in at your server's address | Every phone listed, opens, live screen |
| Control | Tap, type, swipe, install an APK | The phone reacts within a second |
| Reboot | Restart the PC | Phones back in the browser in about 3 minutes, with nobody touching them |
| Alerts | Unplug one phone for 10 minutes | We get a "phone offline" alert, then "back online" |
Troubleshooting
| You see | Do this |
|---|---|
| A phone is missing in the browser | Check its cable, unlock it, accept the USB prompt. Samsung: check Auto Blocker is off. |
unauthorized | Unlock the phone, tick "Always allow", tap Allow. |
offline | Unplug and replug the cable, or restart the phone. |
| Nothing at all for one phone | Charge-only cable, or Auto Blocker is on. |
| "Tunnel: never connected" | The PC needs internet, and your firewall must allow outgoing UDP port 51820. |
| All phones missing | Make sure the PC is on and online, then restart it. |
| Phones drop out now and then | Usually the hub. Run lsusb; if you see 1a86:8095, replace that hub. |
What we run for you
Each customer gets their own server. It isn't shared with anyone else.
- An Ubuntu 24.04 cloud server running DeviceFarmer STF 3.8, the open-source phone farm software, with its database.
- Your own address on cloudf.one (for example
au1.cloudf.one) with an HTTPS certificate. - A sign-in page in front of STF. Each person on your team gets their own login.
- The other end of the WireGuard tunnel from your PC.
- A check every 5 minutes that records how many phones are online and alerts us when one goes missing.
Privacy and access
- The phones stay yours. We never wipe them or remove your apps.
- Our admin account can open your phones, the same way your team does. We only use it when you ask for help.
- The install line gives us SSH access to the PC for support, through the tunnel. One command removes it (see step 3).
- If the PC is off, nobody can reach the phones. Keep it on and plugged in.
Pricing
- USD $500 one-off for setup and remote onboarding.
- USD $30 per phone per month, with a minimum of 10 phones (USD $300 a month).
- We bill on the most phones connected at the same time in the month, or 10 if that was fewer. Monthly invoice by PayPal.
Try it free with 1 phone
Steps 2 to 4 work with one phone on our shared test server, free for 7 days. Sign up with the trial box ticked and we send your install line. When you're ready for your own server, we do the setup with you on a call.