MeddyBuddy is an autonomous medical diagnostics and rescue drone system designed for rapid emergency response in disaster-affected or remote regions.
It combines ArduPilot SITL, Gazebo, QGroundControl (QGC), and Python automation scripts for autonomous takeoff, waypoint navigation, and mission control.
The drone is equipped with 3D-printed attachments for medical payload delivery.
┌──────────────────────────────┐
│ Gazebo (GZ) │
│ • 3D Physics Simulation │
│ • Drone & Environment Model │
└──────────────┬───────────────┘
│
│ MAVLink (UDP)
▼
┌──────────────────────────────┐
│ ArduPilot SITL (Copter) │
│ • Flight Controller Logic │
│ • Sensor & Control Emulation│
└──────────────┬───────────────┘
│
┌──────────────┴───────────────┐
│ Python Control Script │
│ (takeoff_waypoints.py) │
│ • Connects via MAVLink │
│ • Sends Arm/Takeoff Cmds │
│ • Controls Waypoints │
└──────────────┬───────────────┘
│
│ MAVLink (UDP/TCP)
▼
┌──────────────────────────────┐
│ QGroundControl (QGC) │
│ • Mission Visualization │
│ • Live Telemetry View │
│ • Manual Override Interface │
└──────────────────────────────┘
| Prototype Build | Simulation in Gazebo |
|---|---|
![]() |
![]() |
Install the following dependencies before running the project:
git clone https://github.com/ArduPilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profileTo start ArduCopter SITL:
sim_vehicle.py -v ArduCopter -f gazebo-iris --console --mapInstall Gazebo (GZ) and required ArduPilot plugins:
sudo apt install gazebo gz-tools gz-gardenDownload and install QGroundControl: 👉 https://qgroundcontrol.com/downloads/
Once installed, open QGC and connect to SITL (UDP: 14550).
Create and activate a Python environment:
python3 -m venv env
source env/bin/activate # On Windows: env\Scripts\activateInstall dependencies:
pip install pymavlink dronekit opencv-python numpyMedical_Drone/
├─ script/takeoff_waypoints.py
├─ stl/
├─ media/
└─ README.md
sim_vehicle.py -v ArduCopter -f gazebo-iris --console --mapOpen QGroundControl and ensure it connects automatically (UDP 14550).
In a new terminal:
python3 takeoff_waypoints.pyThis will:
- Arm the drone
- Take off to a set altitude
- Fly through defined GPS waypoints
- Return and land autonomously
The stl/ folder contains printable designs for:
- Medical payload containers
- Sensor mounts
- Delivery clamps
Slice using Cura, PrusaSlicer, or similar tools.
The media/ folder contains:
- Photos of the drone prototype
- Simulation snapshots
- Demo flight videos
Project Leads: Sahil Lakhmani & Shaneshraje Kadu
Institute: IIT (BHU), Varanasi
Group: Aerial Robotics
Club: Aero-Modelling Club, IIT (BHU)
This project is released under the MIT License.
📧 [lakhmanisahil8@gmail.com] 🌐 GitHub: @lakhmanisahil
🕊️ “Delivering diagnostics where roads can’t reach — MeddyBuddy.”

