NOTE-03 PROJECT LOG
Building MAVLab: Friendly Gateway to Drone Simulation
MAVLab is Ascend Labs' first flagship project: a phone-first simulator for learning drone systems before touching real hardware.
MAVLab is Ascend Labs’ first flagship project.
It began from a simple question:
Modern phones already have gyroscopes, accelerometers, GPS, magnetometers, cameras, compute, battery, screen, and network connectivity. Can we use a phone to help people understand how drones sense, move, communicate, and execute missions?
That question grew into a product direction:
Build a low-cost drone systems simulator that helps students, operators, and builders understand drones without needing every learner to own a Pixhawk, drone frame, batteries, RC transmitter, telemetry radio, GPS module, or safe flight field.
Today, the sharper purpose is this:
MAVLab makes drone simulation approachable.
The Problem MAVLab Solves
Drone simulation has a steep learning curve.
Professional stacks like ROS, Gazebo, ArduPilot SITL, PX4 SITL, MAVProxy, Docker, and QGroundControl are powerful, but they can overwhelm beginners before the drone concepts are clear.
A learner should not need to become a Linux networking and simulator-infrastructure expert before understanding:
- attitude
- altitude
- telemetry
- sensors
- flight modes
- mission planning
- failsafes
- battery behavior
- control authority
- debrief workflows
MAVLab changes the learning order.
MAVLab first
-> understand drone systems in one approachable app
-> then graduate into ArduPilot SITL, PX4 SITL, Gazebo, ROS 2, Webots, JSBSim, hardware-in-the-loop, and real aircraft
What MAVLab Is
MAVLab is a phone-based drone simulation and digital-twin platform.
It uses an Android phone as the primary simulation device and turns drone concepts into an interactive learning environment.
The current product surface is built around five tabs:
Cockpit -> What is the drone doing right now?
Controller -> How do I manually control or perturb the drone?
Mission -> What mission is loaded and how is it progressing?
SIM -> How is the physical drone reacting visually?
Ops -> Is the app, logging, and connection infrastructure healthy?
This structure is intentional. Each tab answers one system question.
The Core Loop
The MAVLab learning loop should feel practical:
Open MAVLab
-> understand the current drone state
-> arm / take off / control
-> connect QGroundControl if needed
-> upload or run a mission
-> watch telemetry and 3D state
-> inject or observe a failure
-> review logs and debrief
The user learns by operating the simulator, not by reading static lessons only.
Why Phone-First Matters
A smartphone is not a full drone. But it is an unusually powerful learning device.
It already has:
- motion sensors
- GPS
- magnetometer
- screen
- compute
- network connection
- battery
- camera
- haptics/audio potential
For education and early simulation, that matters.
Phone-first design means a learner can start with something they already understand and already own. It lowers the barrier to entry, especially in contexts where hardware access is limited.
MAVLink and QGroundControl
MAVLab should not be isolated from real drone workflows.
That is why QGroundControl and MAVLink matter.
MAVLink is the communication protocol used by many drone systems. QGroundControl is a real ground control station. When MAVLab connects to QGroundControl, learners can see how a simulated drone appears to real GCS software.
That creates a bridge:
Friendly phone simulator
-> real telemetry concepts
-> real GCS workflows
-> better preparation for professional tools and hardware
The goal is not to replace QGroundControl or ArduPilot. The goal is to make the concepts behind those tools more understandable.
The 3D SIM
The SIM view should not be decorative.
A useful 3D drone model teaches system state:
- body attitude
- altitude
- propeller speed
- mission path
- payload state
- battery state
- GPS or compass issues
- failure conditions
- control authority
When telemetry changes, the SIM should respond.
That matters because many learners understand drone behavior faster when they can connect numbers to physical movement.
Failure Lab and Debrief
A strong simulator should make failure safe to study.
MAVLab should help learners experience scenarios such as:
- GPS loss
- compass interference
- wind drift
- low battery
- motor weakness
- payload overweight
- link loss
- unsafe mission reserve
The point is not drama. The point is judgment.
A good failure scenario should answer:
What happened?
Why did it happen?
What did the telemetry show?
What should the operator do?
What safety lesson should the learner remember?
Why MAVLab Matters for Ascend
MAVLab supports Ascend in four ways.
- Bootcamp teaching — it gives learners a practical way to understand drone systems before real hardware.
- Talent development — it gives motivated students a path from learning to simulation, logs, missions, and technical projects.
- R&D discipline — it creates a sandbox for testing drone behavior, workflows, and assumptions.
- Public artifact — it shows that Ascend Labs is building, not only talking.
Current Maturity
MAVLab should be described honestly.
Use labels like:
[v1.5.0 RELEASED]
[OPEN SOURCE — APACHE 2.0]
[QGROUNDCONTROL-VERIFIED]
[BOOTCAMP-LINKED]
Current evidence (as of v1.5.0):
- Runs its physics, autopilot, and a MAVLink server entirely on an Android phone — no cloud, Docker, or bridge process.
- Passes live QGroundControl acceptance on real devices (discovery, arm/disarm, command-ACK, mission upload, autonomous mission, link reconnect, sustained stability), in both same-phone split-screen and desktop-over-Wi-Fi modes.
- Sustains ~60 FPS on the 3D digital-twin screen; 133 unit tests pass; the release APK is 43.9 MB.
- Released open-source (Apache 2.0), documented in a full technical paper.
Still avoid claiming it is a certified training system, a complete autopilot replacement, or a validated learning-outcome platform — the controlled classroom study is still ahead.
It is a released, verified flagship learning platform with an honest evidence trail. That is already valuable.
What Comes Next
Near-term MAVLab work should focus on:
- stronger onboarding
- clearer control authority
- polished Cockpit telemetry
- better Mission view
- more useful SIM visualization
- failure presets with explanations
- flight logs and shareable reports
- bootcamp demo scenarios
- the controlled classroom study (learning-outcome evidence)
The long-term direction is bigger:
- AI flight debriefs
- medical logistics mission scenarios
- instructor mode
- classroom dashboards
- ArduPilot/PX4 SITL bridges
- ROS 2 and Gazebo/Webots/JSBSim progression
- hardware-in-the-loop experiments
But the core must stay simple:
Make drone simulation learnable.
Closing
MAVLab is not just an app. It is a bridge.
A bridge from curiosity to understanding. A bridge from bootcamp to technical capability. A bridge from simulation to field readiness. A bridge from local talent to African drone infrastructure.
That is why MAVLab is the first public project from Ascend Labs.
MAVLab changes the learning order: understand the drone first, then graduate into the professional stack.
The SIM view should teach system state, not just display a cool drone model.
A good failure scenario should build judgment before real hardware is at risk.