64 milliwatts and a prayer: flying a CNN on a stamp-sized drone
A full visual navigation stack that runs entirely on a Crazyflie nano-drone's pluggable AI deck—no ground station, no cloud, just a RISC-V SoC chewing through frames at 139 FPS.

What it does
PULP-Dronet is an end-to-end autonomous navigation engine for pocket-sized quadcopters. It takes camera input, runs a distilled CNN, and outputs steering commands for collision avoidance and path following—all on a 30-gram drone with no external compute or human operator. The project spans three major iterations (v1–v3) of both hardware shields and deployment tooling, built around the PULP GAP8 RISC-V SoC.
The interesting bit
The real grind here isn’t the network architecture (a shallow CNN borrowed from UZH’s DroNet); it’s the relentless squeezing required to make inference viable on a device measured in milliwatts. Over five years the team hand-crafted, then automated, then re-automated the quantization and deployment pipeline—going from 16-bit fixed-point manual tuning to fully automated 8-bit flows using academic tools (NEMO, DORY) and industrial ones (GAPflow, NNTool). v3 reportedly hits 139 frames per second, an 8.5× speedup over v2, though the README cuts off mid-sentence before explaining how.
Key highlights
- Hardware: pluggable PCB shields for the Crazyflie 2.0/2.1, from the custom PULP-Shield (v1) to the commercial AI-deck (v2–v3)
- Power envelope: 64–284 mW in v1, down to 35–102 mW in v2; v3 numbers aren’t stated in the visible README
- Full stack open-sourced: trained networks, datasets, hardware designs, and deployment code
- Multi-tasking perception in v3—collision avoidance plus navigation—previously considered infeasible at this scale
- Extensive academic publication trail with reproducible artifacts
Caveats
- The v3 README section is truncated; claimed 139 FPS and 8.5× speedup lack supporting detail in the visible source
- Hardware required: specific GAP8-based shields, not generic flight controllers
Verdict
Grab this if you’re doing embedded ML, ultra-low-power vision, or actual nano-drone research and need a reproducible baseline to beat. Skip it if you’re looking for a drop-in software-only solution; this is tightly bound to its hardware stack.