Made for ArduPilot and PX4.
Unlimited Telemetry.
Plug it into any ArduPilot aircraft, and your phone becomes the GCS.
£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.
No subscription.
The service is included with the hardware.
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
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.