No GPS.
Just a 3D map,
built mid-flight.
An autonomous mapping drone for GPS-denied environments — warehouses, tunnels, collapsed structures, anywhere a satellite signal can't reach. Built on ROS2, ArduPilot SITL, and a layered ToF sensor rig.

carrasqueira / pt
A flying scanner for places GPS can't see.
claudeDrone is an autonomous quadrotor that builds a multi-layer 3D map of its surroundings in real time, without relying on satellite positioning. Our target environments are the ones GPS gives up on — warehouse interiors, parking decks, mines, and post-disaster structures where every other navigation system fails first.
The platform combines a layered TF-Luna ToF sensor array, an ESP32 sensor bridge, and a ROS2 / Gazebo simulation pipeline running against ArduPilot SITL. The "Stop-Scan" behavior lets the drone hold position, rotate, and integrate a clean point cloud before continuing along the path.
Long-term: the same SLAM techniques developed for space rover navigation, ported back into industrial inspection and search-and-rescue work on Earth.
↻ click to advance
The components that make it fly.
Open-source, simulation-first, hardware-honest. Everything below either runs today in our Gazebo bench or sits on the workbench waiting for a solder iron.
System topology — ESP32 at the center of the bus.
Real-time MCU brokers every sensor and actuator. Companion compute (Pi Zero 2W) is a thin WiFi bridge — flight-critical loops never leave the ESP32. The flight controller runs ArduCopter and stays low-level; mission logic sits one tier up.

- mcuESP32-S3real-time bus hub
- lidar2× TF-Lunascanning + altimeter, UART
- tof_array6× VL53L0X360° proximity, I²C mux
- flowPMW3901optical flow, SPI
- pwmPCA9685 + SG90lidar tilt servo
- fcMicoAir 405 Mini Ardupilotlow-level stabilization, SBUS
- bridgeRPi Zero 2WWiFi telemetry bridge — provisional for the testbench, beefier hardware on the way
ClaudeDrone Roadmap (track view)
A hand-curated snapshot of what we're shipping this release. Vault holds the originals (obsidian-files/planning/roadmap-tracks.md); the landing version is reviewed before each release and lives in content/roadmap.json.
Watch the simulation fly.
A walkthrough of the Gazebo world, the Stop-Scan behavior, and what the sensor stream actually looks like.
What it's made of, what it runs on.
Open documentation: the bill of materials for the prototype airframe and the development environment we run simulations on. Everything below is the real working setup.
Open documentation ↗| qty | part | description | status |
|---|---|---|---|
| 1 | F450 frame | Quadrotor airframe, glass-fiber arms, 450 mm wheelbase. | on bench |
| 1 | MicoAir 405 Mini | Flight controller running ArduPilot Copter 4.5. Bluejay-compatible 4-in-1 ESC pad, DShot bidir. | on bench |
| 1 | Raspberry Pi 5 (8 GB) | Companion compute for ROS2 nodes and SLAM stack. | on bench |
| 1 | ESP32-S3 DevKit | Sensor MCU, reads ToF array, streams over UART. | on bench |
| 4 | TF-Luna ToF | Time-of-flight modules, 8 m range, layered at offset angles. | on bench |
| 4 | EMAX MT2213 motors | 935 kV brushless, with 30A SimonK ESCs. | on bench |
| 2 | LiPo 4S 5200 mAh | Flight pack, ~12 min hover endurance. | on bench |
| 1 | RFD900x telemetry | 915 MHz long-range MAVLink link. | ordered |
| 1 | Holybro Sik V3 | Backup short-range telemetry, bench debugging. | on bench |
| 1 | USB-C power module | Bench supply for ESP32 / sensor calibration rig. | on bench |
| 1 | Custom sensor PCB | In design — KiCad project, breaks out 4× TF-Luna + IMU. | in design |
- // machine-1 · laptop (orchestration)
- osLubuntu 24.04 LTS · LXQt
- cpuAMD Ryzen 5 3500U · 4c / 8t
- ram17 GB
- gpuAMD Radeon Vega · integrated
- ip192.168.0.168
- // machine-2 · desktop (simulation)
- osKubuntu 24.04 LTS · KDE Plasma 5.27
- cpuIntel Core i7-12700F · 12c / 20t
- ram32 GB · 2×16 DDR5
- gpuNVIDIA RTX 5070 · 12 GB GDDR7
- ip192.168.0.231
- // simulation stack
- ros2Jazzy Jalisco
- gazeboHarmonic 8.x
- bridgeros_gz_bridge
- autopilotArduPilot SITL 4.5 · MAVLink 2.0
- slamCartographer 2D · RTAB-Map planned
- // toolchain
- langC++17 · Python 3.12 / 3.10 (rl-lab venv)
- buildcolcon · ament_cmake
- ideVS Code · PlatformIO
- aiclaude_team · multi-agent dev infrastructure
ROS 2 Jazzy · Gazebo Harmonic · ArduPilot SITL — versions and bring-up notes.
Build, flash, deploy: pnpm · colcon · PlatformIO · esptool · ros_gz_bridge.
Self-funded. Every euro is logged here.
One-time spend
| item | cost |
|---|---|
| Workstation · RTX-class GPU PC // Kubuntu 24.04 sim rig | €2000 |
| RAM upgrade · 16 GB DDR5 | €170 |
| Soldering iron + tips // symbolic — bench tooling | €50 |
| Multimeter // symbolic | €25 |
| Drone parts // 35 items · click to expand | €269.38 |
| total | €2514.38 |
Recurring (subscriptions)
| item | since | rate | €/mo | lifetime |
|---|---|---|---|---|
| Claude · Pro subscription // agent runtime | 2026-03 | €100/mo | €100 | €820 |
| Home internet | 2026-04 | €30/mo | €30 | €210 |
| Cloud server · VPS // landing + docs hosting | 2026-05 | €5/mo | €5 | €30 |
| Domain · .solutions | 2025-04 | €24/yr | €2 | €38 |
| monthly burn (2026-10) | €137 | €1098 | ||
Hours-per-day for every agent in the claude_team.exe fleet. Aggregated from _workspace/timetracking.md markers; Aleks injected at 8h weekday / 10h weekend.
A staff of eight, running on one workstation.
claude_team.exe is the orchestrator script that boots all eight agents. Each one operates independently — they read shared state from Obsidian, write back dev-logs, and never block on each other. Total wage bill: one Claude subscription.
- Always-on. Agents pick up work the moment a queue has items.
- Audit trail. Every action lands in Obsidian as a dated note.
- Composable. Add a new agent → drop a script + a folder.
- Honest. If an agent fails, it logs the failure verbatim.
┌─────────────────────────────┐
┝──── you've got mail ───────▮
└─────────────────────────────┘╭──── support_the_build.sh ───╮ │ components · sim · bench │ ╰─────────────────────────────╯





