An advanced telemetry and monitoring system for real-time MAVLink data visualization.
Drone_Web_Interface_909 is a cutting-edge web-based UAV telemetry dashboard, designed for real-time data visualization from drones using MAVLink. The system integrates with Jetson and Pixhawk and now features:
- 3D Data Visualization π
- Full TypeScript & React-based UI π¨
- Real-time MAVLink telemetry processing β³
- Optimized for both mobile and desktop π»π±
Before transitioning to TypeScript and 3D visualization, the project was a basic web interface built using:
β
HTML, CSS, JavaScript
β
Simple data polling from JSON files
β
2D telemetry displays (tables, simple graphs)
π Repository Link: IROC_WEB_INTERFACE
The new version is a modern, interactive telemetry system, with:
β
TypeScript + React for a modular UI
β
Three.js for 3D telemetry visualization
β
WebSockets for live data updates
β
Improved file-based JSON data fetching
π Repository Link: Web_Interface_909
1οΈβ£ Telemetry Data Flow
- A Python script (
listen.py) reads MAVLink telemetry and writes.jsonfiles inpublic/params/. - The React-based frontend reads these JSON files and updates the UI dynamically.
2οΈβ£ Frontend (React + TypeScript)
- Fetches and processes telemetry from
/public/params/. - Uses Three.js for 3D drone movement & attitude representation.
- Displays real-time battery, altitude, and position data.
3οΈβ£ Backend (Python + MAVLink)
- Uses
pymavlinkto listen to drone telemetry. - Converts MAVLink messages into structured
.jsonfiles.
git clone https://github.com/ArnavBallinCode/Drone_Web_Interface_909.git cd Drone_Web_Interface_909
1οΈβ£ Install Node.js (latest LTS) from nodejs.org
2οΈβ£ Install dependencies:
npm install3οΈβ£ Start the React development server:
npm run dev4οΈβ£ Open http://localhost:5173/ in your browser.
1οΈβ£ Install Homebrew (if not installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2οΈβ£ Install Node.js & dependencies:
brew install node
npm install3οΈβ£ Start the development server:
npm run dev1οΈβ£ Install Node.js:
sudo apt update && sudo apt install -y nodejs npm2οΈβ£ Install dependencies:
npm install3οΈβ£ Start the development server:
npm run dev1οΈβ£ Connect Pixhawk/Jetson via USB (/dev/tty.usbserial-0001)
2οΈβ£ Run the Python script:
python3 listen.py3οΈβ£ Data will be written to public/params/.
Once the frontend server is running:
- Open
http://localhost:5173/in your browser. - You will see real-time drone telemetry, battery status, GPS, IMU data, and a 3D model representing the droneβs movement.
| Repository | Description | Link |
|---|---|---|
IROC_WEB_INTERFACE |
Original UI (HTML, CSS, JS) | View Here |
ISRO_IROC_Web |
Backend scripts (Python + MAVLink) | View Here |
ISRO_IROC_Webinterface |
Older telemetry interface (Python-based) | View Here |
β
WebSocket-based real-time updates (instead of polling JSON files)
β
AI-powered anomaly detection for UAV telemetry
β
Enhanced 3D mapping using LiDAR & SLAM data
1οΈβ£ Fork the repository
2οΈβ£ Create a new branch (feature-xyz)
3οΈβ£ Commit your changes (git commit -m "Added XYZ feature")
4οΈβ£ Push and submit a PR π
This project is not open-source. All rights are reserved by the author. No part of this repository may be used or reproduced without explicit permission from Arnav Angarkar.
If you need help, open an issue in the repo or reach out via:
π§ Email: 24bcs015@iiitdwd.ac.in