Skip to content

PixelPilot — Ground Station on Android

PixelPilot is a free open source app that turns an Android smartphone or tablet into a full OpenIPC ground station. It is the cheapest way to start flying: no goggles, no single-board computer — just a phone and a ~$10–15 Wi-Fi adapter.

What PixelPilot does:

  • Receives WFB-NG video through an external Wi-Fi adapter (OTG)
  • Plays the RTP/UDP stream from APFPV firmware — no adapter needed, directly over the drone's Wi-Fi
  • Decodes H.264 and H.265
  • Shows OSD telemetry (MSP from the flight controller)
  • Records DVR to phone storage

Two versions of PixelPilot

What you need

ComponentRequirements
Android deviceUSB OTG support; the faster the CPU, the lower the latency
Wi-Fi adapterRTL8812AU (recommended) or RTL8812EU2 with a powered USB hub
OTG cable/adapterUSB-C or micro-USB → USB-A
gs.key fileEncryption key from the camera (how to get it — WiFiLink v2 guide)

For APFPV mode you need neither the adapter nor gs.key — the phone simply joins the drone's Wi-Fi network.

Installation

  1. Download the latest APK from the PixelPilot releases page
  2. Allow installation from unknown sources (Android will prompt automatically)
  3. Install and launch the app

Setup for WFB-NG

  1. Copy the gs.key file from the camera to the phone
  2. Connect the Wi-Fi adapter over OTG — Android will ask for USB device permission; confirm and open PixelPilot via the popup
  3. Tap the gear icon and set:
    • Channel161 (must match the camera's channel)
    • Bandwidth20 MHz
  4. Add the key: Gear → WFB-NG → gs.key → pick the copied file
  5. Power on the VTX — video appears within a few seconds

Channel and bandwidth

161 / 20 MHz are the defaults of stock Runcam WiFiLink firmware. If you changed the channel on the camera (via the VTX Menu or config), set the same values in PixelPilot.

Setup for APFPV

  1. Power on a drone running APFPV firmware — it creates a Wi-Fi network
  2. Connect the phone to that network
  3. Open PixelPilot — video appears automatically

DVR recording

PixelPilot records video to phone storage as MP4. The record button is on the main screen during flight. File size depends on the camera bitrate (roughly ~1 GB per 10 minutes at default settings).

Troubleshooting

No video:

  1. ✅ Lens cap removed
  2. gs.key on the phone matches the camera's key
  3. ✅ Channel and bandwidth are correct (161 / 20 MHz)
  4. ✅ Restart PixelPilot
  5. ✅ Reboot the camera

Adapter not detected:

  • Check that the phone supports OTG (the "USB OTG Checker" app)
  • RTL8812EU2 may not start without a powered hub — it needs stable 5V
  • Try another OTG cable

Video freezes or high latency:

  • Weak phone CPU — try lowering resolution/bitrate on the camera
  • Congested channel — switch to a cleaner one
  • Enable Adaptive-Link for automatic bitrate control
Was this page helpful?