From Simulation to Flight
Complete beginner-friendly tutorials for autonomous drones using ROS2 Humble, ArduPilot, and Gazebo Harmonic
Documentation • Getting Started • Tutorial Phases • Community
Learn autonomous drone development from simulation to real hardware deployment using modern tools: ROS2, ArduPilot SITL, and Gazebo Harmonic.
Who this is for:
- Beginners with no prior ROS or ArduPilot experience
- Developers wanting to learn modern drone autonomy stack
- Students and hobbyists building autonomous drones
- Anyone interested in transitioning from simulation to real hardware
What you'll build:
- Complete SITL simulation environment
- 3D visualization with Gazebo Harmonic
- ROS2 integration with MAVROS
- Companion computer deployment on Raspberry Pi
- Real autonomous flight system
Professional documentation with search, dark mode, mobile support, and video tutorials.
Master drone fundamentals in safe virtual environment.
Topics:
- Prerequisites and environment setup
- ArduPilot SITL installation
- MAVProxy command-line control
- Gazebo Harmonic 3D simulation
- First autonomous waypoint mission
Status: Complete
Time: 6-8 hours
Start: Phase 1 Documentation
Connect ArduPilot to Robot Operating System.
Topics:
- ROS2 Humble installation
- MAVROS setup and configuration
- Understanding topics and services
- Custom ROS2 control nodes
- Autonomous missions via ROS2
Status: In Development
Expected: February 2026
Deploy ROS2 on Raspberry Pi for onboard processing.
Topics:
- Raspberry Pi configuration
- Serial connection to flight controller
- ROS2 node deployment
- Hardware-in-the-loop testing
- Network communication
Status: Planned
Expected: March 2026
Deploy complete system on actual drone.
Topics:
- Hardware assembly and wiring
- Pre-flight safety procedures
- Ground testing
- First real flight test
- Complete mission deployment
Status: Planned
Expected: April 2026
Hardware:
- Computer with 8GB RAM minimum (16GB recommended)
- Ubuntu 22.04 LTS (native or VM)
- 30GB free disk space
- Stable internet connection
Knowledge:
- Basic terminal/command-line familiarity
- No prior ROS or ArduPilot experience required
- Check system requirements: Prerequisites Guide
- Set up environment: Environment Setup
- Start learning: Phase 1 Overview
👉 Begin Phase 1: Simulation Mastery
All tutorials tested and verified on:
Software Stack:
- Ubuntu 22.04 LTS
- ArduPilot Copter 4.5.7
- ROS2 Humble
- Gazebo Harmonic
- MAVProxy 1.8+
Hardware (Phase 4):
- Flight Controller: Cube Orange / Pixhawk 6X
- Companion Computer: Raspberry Pi 4 (4GB+)
- Frame: Various quadcopter frames tested
Last verified: December 2025
simtofly-guide/
├── docs/
│ ├── phase-1-simulation/ # SITL and Gazebo tutorials
│ ├── phase-2-ros2/ # ROS2 integration guides
│ ├── phase-3-companion/ # Raspberry Pi setup
│ ├── phase-4-hardware/ # Real drone deployment
│ ├── appendix/ # Ubuntu install, terminal setup
│ └── images/ # Logos and shared assets
├── mkdocs.yml # Documentation configuration
└── README.md # This file
- Questions: GitHub Discussions
- Bug Reports: GitHub Issues
- Documentation: Website
We welcome contributions! Ways to help:
- Report bugs or errors in tutorials
- Suggest improvements or new topics
- Submit fixes via pull requests
- Share your success stories
- Help other learners in discussions
See CONTRIBUTING.md for guidelines.
- ⭐ Star this repository for updates
- Watch for new releases
- Follow @sidharthmohannair
SimToFly Ecosystem:
- simtofly-ros2 — ROS2 packages and examples (coming soon)
- simtofly-setup — Automated setup scripts (coming soon)
This project is licensed under the MIT License - see the LICENSE file for details.
- Commercial use
- Modification
- Distribution
- Private use
- License and copyright notice must be included
- No Liability
- No Warranty
Note: While attribution is not legally required, it is appreciated and helps the project grow.
Built with knowledge from:
- ArduPilot community and documentation
- ROS2 official guides
- MAVROS maintainers
- Open-source drone community
Special thanks to everyone who contributes to open-source robotics and drone software.
Author: Sidharth Mohan Nair
Project Goals:
- Make drone autonomy accessible to beginners
- Provide complete workflow from simulation to hardware
- Use modern tools (ROS2, latest ArduPilot)
- Verify all tutorials on real hardware
- Maintain active documentation
Ready to start your journey?
Begin Phase 1: Simulation Mastery
Made with ❤️ for the drone community
SimToFly •
@sidharthmohannair
