Made for ArduPilot and PX4.

Unlimited Telemetry.

Plug it into any ArduPilot aircraft, and your phone becomes the GCS.

Buy

£199 | $270 | €232

Works wherever your phone works.

Works wherever your phone works.

Unlimited means range, not data: you bring a data SIM, and telemetry is so small that a 500 MB SIM is roughly thirty hours of flying.

Plug in and fly.

One cable to your flight controller. No account, no app, no setup.

100 100 H743 V4 flight controller KTE-7F2-9QX the only thing you ever type

No subscription.

The service is included with the hardware.

twelve months in £0.00 charged since the day you bought it

Any vehicle.

Copter, plane, rover, boat — and any ground station you already fly with.

It’s an open stream.

Put it on anything.

How it works.

On the vehicle

Plugs into the flight controller's TELEM port and reads the MAVLink stream. Your RC link is untouched.

Mobile network

Over 4G on your SIM, inside TLS. About 4 KB a second: a 500 MB SIM is roughly thirty hours.

Relay

Your module opens one with a secret only it holds, your code opens the other. 

GCS

Mission Planner through our open TLS plugin, QGroundControl, MAVProxy, or the portal in a browser. Commands are signed; the flight controller ignores anything else.

Write code w/ KiteLine

Python, standard library onlyconnect.py
import socket, ssl

def readline(s):
    buf = b""
    while not buf.endswith(b"\n"):
        buf += s.recv(1)
    return buf.rstrip(b"\n")

ctx = ssl.create_default_context()          # full chain + hostname check
raw = socket.create_connection(("relay.kiteline.cloud", 5764), timeout=10)
raw.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
tls = ctx.wrap_socket(raw, server_hostname="relay.kiteline.cloud")

assert readline(tls) == b"KTL1-GCS"
tls.sendall(b"9RZ80995HE3X\n")                # your access code
assert readline(tls).startswith(b"OK ")

# tls.recv() and tls.sendall() now carry MAVLink.
# That's the whole integration.