Skip to content

Example Use Cases

Max Johenneken edited this page Feb 18, 2026 · 1 revision

Example Use Cases

WenuLink acts as a bridge between DJI drones and MAVLink-based Ground Control Stations (GCS). This page presents three example scenarios to give you an idea of what you can accomplish with WenuLink.


1. Flight Plan

What is it?

A flight plan lets you define a sequence of geographic waypoints that the drone will visit autonomously. Instead of manually piloting the drone, you draw a route on a map in your GCS software and let WenuLink handle the translation to DJI commands.

Why does it matter?

Manual piloting limits repeatability and precision. With autonomous flight plans you can:

  • Execute the same route consistently across multiple flights
  • Cover large areas systematically
  • Add actions at each waypoint (e.g. hover for a set duration, rotate to a specific heading)
  • Focus on monitoring instead of stick control

How it works

flowchart LR
  GCS["GCS (QGroundControl / Mission Planner)"] -->|MAVLink| WenuLink["WenuLink App"] -->|"DJI SDK"| Drone["DJI Drone"]
Loading
  1. You create a waypoint mission in a MAVLink-compatible GCS such as QGroundControl or Mission Planner.
  2. The GCS sends the mission to WenuLink over MAVLink (UDP).
  3. WenuLink translates each MAVLink mission item into the corresponding DJI waypoint, including optional actions like delays, yaw changes, and return-to-launch.
  4. The DJI drone executes the mission autonomously.

What you need

Component Example
DJI drone with remote controller DJI Mavic 2 / Phantom 4 (DJI SDK v4 compatible)
Android device Phone or tablet connected to the remote controller via USB
GCS software QGroundControl or Mission Planner on a PC in the same network
WenuLink app Installed on the Android device with MAVLink service enabled

Supported mission commands

MAVLink Command Description
NAV_TAKEOFF Autonomous takeoff
NAV_WAYPOINT Fly to a GPS coordinate at a given altitude
NAV_DELAY Hover at the current waypoint for a specified duration
CONDITION_YAW Rotate the aircraft heading
NAV_RETURN_TO_LAUNCH Return to the home point after the mission

2. Video Capture

What is it?

Video capture lets you stream the live camera feed from a DJI drone to any WebRTC-compatible viewer in real time. This turns the drone into a remotely observable eye in the sky without requiring DJI's own app for viewing.

Why does it matter?

  • Remote monitoring: Observers who are not at the flight location can watch the drone feed live in a web browser.
  • Integration: The WebRTC stream can be consumed by custom applications, computer vision pipelines, or recording tools.
  • Independence from DJI Go: You do not need DJI's proprietary ground station app to see what the drone sees.

How it works

flowchart LR
  DJICamera["DJI Camera"] -->|"DJI SDK (H.264)"| WenuLink["WenuLink App"] -->|WebRTC| Signaling["Signaling Server"] -->|WebRTC| Viewer["Web Browser / Viewer"]
Loading
  1. The DJI camera feed is decoded on the Android device by WenuLink using the DJI codec.
  2. Decoded video frames are fed into a WebRTC video track.
  3. A signaling server (WebSocket) coordinates the peer connection between WenuLink and the remote viewer.
  4. The viewer receives the live stream in a standard web browser.

What you need

Component Example
DJI drone with camera Any DJI SDK v4 compatible aircraft
Android device Connected to the remote controller via USB
Signaling server webrtc-client-server running on the local network
Web browser Chrome, Firefox, or any WebRTC-capable browser
WenuLink app Installed with WebRTC service enabled

Quick start

Refer to the Getting Started guide for detailed setup instructions, including signaling server configuration and how to view the stream in your browser.


3. Photogrammetry

What is it?

Photogrammetry is the process of reconstructing 3D models or creating orthomosaic maps from overlapping aerial photographs. With WenuLink you can fly a survey grid pattern and trigger the drone camera at each waypoint, collecting the images needed for photogrammetric processing.

Why does it matter?

  • Agriculture: Monitor crop health over large fields.
  • Construction: Track site progress with accurate 3D models.
  • Environmental research: Map terrain, vegetation, or erosion over time.
  • Surveying: Generate geo-referenced orthomosaics without expensive dedicated mapping drones.

How it works

flowchart LR
  GCS["GCS Survey Planner"] -->|"MAVLink (waypoints + photo triggers)"| WenuLink["WenuLink App"] -->|"DJI SDK"| Drone["DJI Drone"]
  Drone -->|"Photos on SD card"| Processing["Photogrammetry Software"]
Loading
  1. In your GCS (e.g. QGroundControl's Survey tool), define a survey area. The planner generates a grid of waypoints with IMAGE_START_CAPTURE commands at each point.
  2. The mission is uploaded to WenuLink over MAVLink.
  3. WenuLink translates each photo trigger into the DJI TakePhoto waypoint action.
  4. The drone flies the grid and captures a photo at every waypoint. Images are stored on the drone's SD card.
  5. After the flight, retrieve the SD card and process the images with photogrammetry software such as OpenDroneMap.

What you need

Component Example
DJI drone with camera and SD card DJI Mavic 2 / Phantom 4
Android device Connected to the remote controller via USB
GCS with survey planner QGroundControl (Survey tool)
WenuLink app Installed with MAVLink service enabled
Photogrammetry software OpenDroneMap or others

Current limitations

Note: This use case is partially supported. The mission system can trigger photos via the IMAGE_START_CAPTURE MAVLink command, but end-to-end testing with actual photogrammetric processing is still ongoing. Video/photo capture to the device storage (as opposed to the drone's SD card) is not yet implemented. Contributions and test reports are welcome — see the Test Procedures page.