node api for the tello drone

Usage no npm install needed!

<script type="module">
  import telloApi from '';




Node API for the tello drone.

Supporting the 1.3 SDK version

The API if using the dgram sockets under the hood to connect to drone through UDP.


yarn add tello-api
npm i -save tello-api


API is working with async/await syntax Currently it's supporting only one command at the time

Typescript example

import { Drone } from 'tello-api'

const drone = new Drone(); // will create new instance with default ports
await drone.connect(); // will init the command and state sockets
const temp = await drone.command('battery?'); // will return battery result

await drone.takeoff() // drone will take off
await drone.up(25) // drone will go up
await // drone will land

await drone.disconnect(); // remove all listeners from the sockets

To create an instance with different drone host and ports use the DroneConstructorInput interface as in example with defaults 👇

const drone = new Drone({
    commandPort: 8889;
    statePort?: 8890;

When connecting to the drone, client UDP port on your machine assigned by default. To change that use the optional parameters to connect command: DroneConnectInput interface as in example with defaults 👇

const drone = new Drone();

await drone.connect({
    clientPort: 9888,
    defaultCommandTimeout: 12000 // time in ms 


npm install




I'm using the node-tap for testing To run tests npm test should be enough. Config is in .taprc file.

Future Development

  • Cover all SDK commands (go, curve, set commands not supported yet)
  • Generate API docs from the ts files.