Want to do a drone project, but not sure if you’re ready for coding or hardware? Here’s the good news: you don’t have to start with either. Your first project only has to match what you can do today. So let’s find yours. Below you’ll get a three-question level check, one first project for each level and three steps you can start today.
Key takeaways
- Answer three quick questions to find your level, and start with the one project that matches it.
- You can begin for free with no hardware: fly in a browser simulator or command a simulated drone from Python.
- Every project here is open source, so you can follow its official docs and start today.
Start here: a three-question level check
Answer yes or no. Don’t overthink it, because you can always move up a level.
- Have you written code in any language?
- Have you flown a drone, or a drone in a simulator?
- Are you comfortable installing tools and running commands on a computer?
Now match your answers to a level:
| Your answers | Your level | Your first project |
|---|---|---|
| No to question 1 | Level 1 | Simulator practice, then explore ESP-Drone |
| Yes to question 1, but no to question 2 or 3 | Level 2 | Explore Crazyflie |
| Yes to all three | Level 3 | Write your first Python drone script |
Got your level? Jump to it, or read all three to see where the path leads.

Level 1: simulator first, then a mini drone
Your project has two parts. First you learn the controls in a browser, then you explore ESP-Drone, an ESP32-based mini drone from Espressif with open hardware and firmware. An ESP32 is a tiny computer on a single chip. Firmware is the software that runs on the drone itself.
Why does this fit a beginner?
Think of learning to ride a bicycle in an empty ground before you try a busy road. In a simulator, a crash costs nothing, so you can practise until the controls feel natural. After that, a real mini drone stops being a mystery. Its hardware and firmware are open, so you can see what’s inside and learn from it.
Your first three steps
- Practise the controls in a free simulator. One option is the Aasma browser simulator: no install, keyboard controls and 6 missions.
- Open the ESP-Drone docs and read the getting-started page.
- Browse the ESP-Drone repository, the public folder that holds the project’s code, and note three things you want to understand.
Curious about the coding side? Our guide to ESP32 drone programming is a good next read.
Level 2: you can code, so look at Crazyflie
Crazyflie is a nano quadcopter from Bitcraze, used in research and classrooms. Nano means very small, and a quadcopter is a drone with four rotors.
Why does this fit you?
You already know how to read code, so here’s a better question: what does the code behind real flight look like? Crazyflie’s firmware, the software that runs on the drone itself, is open source, which means you can look for yourself. It’s a bit like opening the back of a clock to see how the gears turn. You aren’t starting from zero. You’re using a skill you already have on a new kind of machine.
Your first three steps
- Open the Crazyflie firmware repository, the public folder that holds its code, and read its README, the project’s front-page guide.
- Follow its links to the official Bitcraze docs and find their starting guide.
- Pick one part of the firmware that interests you, then write down what you think it does.
Reading code is powerful, but what if you could tell a drone what to do? That’s Level 3.
Level 3: write your first Python drone script
You’ll control a simulated drone from Python using MAVSDK-Python, a Python API for PX4 and MAVLink drones. An API is a set of ready-made commands your code can call. PX4 is an open-source autopilot, the software that keeps a drone flying and follows its commands. MAVLink is a message format that lets drones and computers talk to each other.
Why does this fit you?
You already understand flying, so the new skill is commanding a drone from code. Think of moving from the driver’s seat to writing the driver’s instructions. You can test against a simulated drone first, so you don’t need hardware to begin.
Your first three steps
- Install the package by following the MAVSDK-Python README.
- Start a simulated drone using the PX4 docs.
- Run an example script and watch the simulated drone respond.
Want a gentler walkthrough? Read our post on how to program a drone with Python.

Free open-source projects to learn with
Open source means the project’s code is public, so anyone can read it and learn from it. These projects are the work of their own communities. Aasma doesn’t make or maintain them.
| Project | What it teaches | Who it suits |
|---|---|---|
| ESP-Drone (Espressif) | How an ESP32-based mini drone’s hardware and firmware fit together | Level 1 learners ready to look at real hardware |
| Crazyflie (Bitcraze) | How the firmware of a nano quadcopter is written | Coders new to drones |
| MAVSDK-Python (MAVLink) | How to command PX4 and MAVLink drones from Python | Coders who have flown |
| ArduPilot (ArduPilot community) | Autopilot and mission basics for copters | Learners curious about autopilots |
| PX4 (PX4 community) | How an autopilot used in research and industry works | Level 3 learners using a simulated drone |
What should you do after your first project?
Pick the next level up, or go deeper into the project you enjoyed. Our drone programming learning path shows you where to go from here.
Frequently asked questions
Which drone project is best for a beginner?
It depends on your level, so take the three-question check first. If you’re completely new, start with simulator practice, then explore a mini drone such as ESP-Drone.
Can I program a drone with Python?
Yes. MAVSDK-Python lets you command compatible drones from Python, and you can try it against a simulated drone first. Our post on how to program a drone with Python will help you get started.
Do I need to buy a drone to start?
No. You can start in a free browser simulator or with a simulated drone. Hardware can come later, when you know what you want to build.
Ready to take off?
Your first project starts with one small step, and you can take it today. Try the free Aasma simulator: there’s nothing to install, and you can fly your first missions right away. When you’re ready for hardware, an Aasma learning kit can be your next step. Build it. Fly it. Code it. And once you’ve flown, here’s a question to take with you: what can a mini drone teach you that a simulator can’t?