DroneOS

Autonomous Drone Development

Solo engineer. Owned hardware assembly, firmware configuration, and software integration.

Project Summary

QuestionCan I build a programmable drone using open-source tools?
OutcomeYes. Built a custom software layer on PX4/ROS2 that enables programmatic flight control—arm, takeoff, waypoint navigation, land—all via code. Validated on real hardware.
StatusComplete. Paused at natural stopping point.

Intro

It was 2024. AI was everywhere. Drones were proving themselves on the battlefield in Ukraine—real autonomous systems making real decisions. I was having a conversation with my brother and he asked why I hadn't built one yet.

I didn't answer immediately. I was thinking: why haven't I done this before? I've always liked robotics, and I like software, so I could probably figure it out. I'd seen ArduPilot and knew you could do it with remote control. But we were also talking about AI at the time—and that's when it clicked. What if you could combine AI with the drone? Now it flies itself. It makes decisions. Object detection, tracking, adapting in real-time. Feed that data back into the system and theoretically you have something that could outmaneuver any human pilot.

That intrigued me. I started researching companies working on this—Anduril in particular. One thing led to another.

Research & Architecture

Before I touched any hardware, I spent a few weeks diagramming everything. I needed to understand the full technical framework before I could know if this was even buildable:

  • How does the flight controller communicate with external systems?
  • Where does the AI live—onboard or cloud?
  • What's the architecture for sending commands programmatically?
  • What's already out there vs. what would I need to build?

This led me to PX4 Autopilot and two integration paths:

Option 1: MAVLink — the traditional protocol for communicating with flight controllers. Well-established, but lower-level.

Option 2: ROS2 Integration — PX4 had strong documentation on integrating with the Robot Operating System (ROS2). This runs on an onboard computer (Raspberry Pi in my case), and that meant Python and C++.

I went with ROS2. The documentation was solid, and it meant I could build a software layer where I'd eventually write something like drone.arm() and it would send the right message to PX4 over my local network.

That was the hypothesis: if I can get to that point, I can code anything.

Hypothesis

Two core questions:

  1. Can I achieve programmable flight control using open-source tools? If yes, then the technology barrier isn't the moat—execution is.
  2. What's actually production-ready vs. still R&D? Autonomous flight platforms (PX4, ArduPilot) have been mature for years. What's hyped as the breakthrough is AI-driven autonomy—drones that perceive, decide, and adapt. Is that real yet, or still experimental?

What I Built

  • Hardware assembly (frame, motors, PX4 flight controller, sensors)
  • Firmware configuration and flight calibration
  • DroneOS: custom software layer on top of PX4/ROS2 for programmatic flight control
  • CLI for sending commands (arm, takeoff, waypoint, land)
  • Web UI with map-based waypoint navigation
  • Basic telemetry and mission monitoring

What I Didn't Build

  • AI/ML perception layers — not needed to prove core hypothesis
  • Fleet management — single drone scope
  • Production-grade reliability — learning project, not deployment

Execution

Phase 1: Hardware Assembly — Complete

Built functional quadcopter with PX4 autopilot, configured firmware, achieved stable manual flight.

Phase 2: Programmable Flight (CLI) — Complete

Built CLI to send commands via DroneOS. Demonstrated arm, takeoff, waypoint navigation, and land—all via code instead of remote control. Validated on real hardware over WiFi.

Phase 3: Web UI + Map Navigation — Complete (with limitations)

Built web app with map interface for click-to-fly waypoint navigation. Validated in SITL simulation. Tested on real hardware, but 4G limitation meant the drone would lose signal and land when flying beyond WiFi range. Full outdoor deployment pending 4G integration.

What I Learned

The technology is there. PX4, ROS2, open-source tooling—it's ready for anyone with the time and resources to build on. The barrier isn't access to the stack.

What's still early is AI-driven autonomy. Autonomous flight platforms have been around for years, but drones that perceive, decide, and adapt in real-time? That's still R&D. Even in Ukraine, most drones are remote-controlled, not autonomous. We're just now getting to programmable. Object detection, obstacle avoidance, real-time decision-making—there's promise, but we're not at AI outmaneuvering fighter pilots yet.

It's coming. And now I understand the landscape well enough to know what's real and what's hype.