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