From Simulation to Flight
Complete, beginner-friendly tutorials for autonomous drones with ROS2 and ArduPilot
We bridge the gap between drone simulation and real-world flight.
Most tutorials stop at simulation or skip critical steps. SimToFly provides the complete journey:
Simulation → ROS2 Integration → Companion Computer → Real Hardware → Flight
| Feature | SimToFly | Others |
|---|---|---|
| Stack | ROS2 Humble (current) | Mostly ROS1 (legacy) |
| Hardware | ✅ Tested on real drones | |
| Companion Computer | ✅ Complete RPi setup | |
| Beginner-Friendly | ✅ Assumes zero knowledge | |
| Maintenance | ✅ Actively updated |
Main tutorial repository — Start here!
Complete path from simulation to real flight:
- Phase 1: ArduPilot SITL + Gazebo simulation
- Phase 2: ROS2 + MAVROS integration
- Phase 3: Raspberry Pi companion computer
- Phase 4: Real hardware deployment
Status: ✅ Phase 1 complete
ROS2 packages and examples (coming soon)
Reusable packages for drone control:
- Basic telemetry and control nodes
- Mission planning and execution
- Perception and navigation
Status: 🚧 Phase 2 in development
Automated setup scripts (coming soon)
One-command installation:
- ArduPilot SITL
- Gazebo Garden
- ROS2 Humble + MAVROS
- Raspberry Pi configuration
Status: 📋 Planned
| Simulation | Middleware | Hardware | Tools |
|---|---|---|---|
| ArduPilot SITL | ROS2 Humble | Pixhawk/Cube Orange | Gazebo Garden |
| MAVProxy | MAVROS | Raspberry Pi 4 | RViz |
| Gazebo | Python 3 | GPS/Sensors | Git |
New to drone autonomy? Follow this path:
# 1. Start with the main guide
git clone https://github.com/simtofly/simtofly-guide.git
# 2. Follow Phase 1: Simulation Mastery
cd simtofly-guide/docs/phase-1-simulation
# 3. Progress through phases at your own pacePrerequisites:
- Ubuntu 22.04 LTS
- 8GB RAM minimum
- Basic terminal comfort
- Patience and willingness to learn
No prior ROS or ArduPilot experience required!
graph LR
A[Complete Beginner] --> B[Phase 1: Simulation]
B --> C[Phase 2: ROS2]
C --> D[Phase 3: Companion Computer]
D --> E[Phase 4: Real Flight]
E --> F[Advanced Topics]
style A fill:#e1f5ff
style E fill:#c8e6c9
style F fill:#fff9c4
After completing the foundation:
- Obstacle avoidance
- ArUco marker detection
- Visual SLAM
- Multi-drone systems
- (Advanced repos coming soon)
We welcome contributions! Here's how you can help:
- 🐛 Found a bug? Open an issue
- 📝 Improve docs? Submit a pull request
- 💡 Have ideas? Start a discussion
- ⭐ Like our work? Star our repositories!
Read our Contributing Guidelines
Get help and connect:
- 📖 Documentation: Main tutorials in simtofly-guide
- 🐛 Issues: Report problems in respective repositories
- 💬 Discussions: Coming soon (Discord/Forum)
- 🌟 Updates: Star repositories to get notified
Current Focus: Phase 2 (ROS2 Integration)
| Phase | Status | Target | Completion |
|---|---|---|---|
| Phase 1: Simulation | ✅ Complete | January 2026 | December 2025 |
| Phase 2: ROS2 | 🚧 In Progress | February 2026 | — |
| Phase 3: Companion | 📋 Planned | March 2026 | — |
| Phase 4: Real Hardware | 📋 Planned | April 2026 | — |
Follow our progress: Project Roadmap
Built on the shoulders of giants:
- ArduPilot — Open-source autopilot
- ROS2 — Robot Operating System
- MAVROS — MAVLink ↔ ROS bridge
- Gazebo — Robot simulation
Special thanks to the open-source drone community for continuous inspiration and support.
All SimToFly repositories are released under the MIT License.
You are free to use, modify, and distribute for personal or commercial projects.
Created by: @sidharthmohannair
Mission: Make drone autonomy accessible to everyone, from complete beginners to experienced developers.