
Crazyflie 2.1
A quadcopter the size of your palm — 29 grams — where one circuit board is the frame, the flight controller and the power system at once. Bitcraze built it as a development platform you can fly indoors, and published everything about it.
Spec
| Battery | 250 mAh LiPo (1S, 3.7 V) |
|---|---|
| Motors | 4× 7 mm coreless DC motors |
| Propellers | 47 mm (datasheet propeller 47-17) |
| Sensors | BMI088 IMU, BMP388 barometer (datasheet) |
| Size | 92 × 92 × 29 mm — the datasheet measures this motor-to-motor, including the motor mount feet |
| Takeoff weight | 29 g (datasheet) |
examples/crazyflie-2-1.jsonEvery value is from the official Crazyflie 2.1 datasheet (Rev 3): takeoff weight 29 g, size 92 × 92 × 29 mm measured motor-to-motor including motor mount feet, 250 mAh LiPo, 7 mm coreless motors, 47-17 propellers, BMI088 + BMP388. The photo shows the 2.1+, the current revision of the 2.1 platform, and is credited as such.Imported specimen
Imported specimen — source: robot_descriptions (upstream: utiasDSL/gym-pybullet-drones), license: MIT, imported 2026-10-29.
| Links | 6 (6 with inertial data) |
|---|---|
| Joints | 5 (5 fixed) |
| Total mass (description inertials) | 0.027 kg |
| Base link mass | 0.027 kg |
| Rotors | 4 |
Parsed from the URDF at the pinned upstream commit: link/joint elements and inertial masses. Every joint in the file is fixed and the propeller links carry zero mass — a rigid-body model with no spinning-rotor dynamics. Full record: catalog/specimens/crazyflie-2-1.json (upstream URDF gym_pybullet_drones/assets/cf2p.urdf at commit 2c2470c2, via robot_descriptions 3.3.0 (Python package), module robot_descriptions.cf2_description).
An import is provenance, not a verdict: this entry stays Not gated, and no parts kit is defined for it.
GateA pass/fail test in the Gazebo simulator: the twin drives 1 m, turns 90° and stops, and the result is measured against where it really went. runs
The motion gate covers ground robots today. This class has no gate yet, so there is no verdict to show — the note below says why, in the entry's own words.
No recorded gate runs yet. This robot has no verdict until one is measured.
HarnessThe robot’s wiring. The harness check adds up current on each power rail and flags wires that are too thin or rails that are overloaded. checks
Electrical checks over this robot's documented wiring. Not a simulation; the headline is counts, never a blanket pass.
0 checked clean · 0 with warnings · 0 with errors · 0 partial · 8 not checked · missing data: current_a for motors ×5, cable.gauge_awg ×4, cable.length_mm ×2
Check-by-check counts and missing data
| Check | Checked | Partial | Not checked |
|---|---|---|---|
| voltage drop | 0 | 0 | 2 |
| ampacity | 0 | 0 | 2 |
| logic levels | 0 | 0 | 0 |
| rail budget | 0 | 0 | 2 |
| connector match | 0 | 0 | 2 |
Findings: none — the inputs that could be checked raised nothing. That is not the same as everything being checked; the counts above say how much was.
Missing data — the datasheets still to hunt. A check that could not run says what it needs:
| Missing input | Blocks | Needed by |
|---|---|---|
current_a for motors | 5 | battery -> board, board -> motors, board rail |
cable.gauge_awg | 4 | battery -> board, board -> motors |
cable.length_mm | 2 | battery -> board, board -> motors |
connector at both ends (connector_from / connector_to) | 2 | battery -> board, board -> motors |
connection voltage (volts) | 1 | board -> motors |
current_a for board | 1 | battery rail |
rated output current for battery | 1 | battery rail |
rated output current for board | 1 | board rail |
Report: catalog/harness-reports/crazyflie-2-1.json · checked 2026-10-26 · reproduce with robotforge harness examples/crazyflie-2-1.json
Take it apart
This viewer derives a schematic take-apart straight from the spec's numbers — the same one-derivation rule as the ground kits — flat views, or in 3D with the toggle. It is a schematic of the real robot's layout, not a printable kit: robotforge cad kits cover ground robots only today. Click any part.
examples/crazyflie-2-1.json…Parts kit
The take-apart kit robotforge cad generates from this robot's spec: every part the generator defines, what it does, and the parameters worth tweaking with the values this robot's kit ships with. Each parameter carries the generator's own source label — from spec numbers come out of the spec, derived numbers are computed from them, and assumption numbers are typical values the spec does not carry.
No take-apart kit is defined for this robot yet — the kit generator builds kits for wheeled ground robots from the spec's wheel block, and this spec has no wheels.
Reproduce it
Run these from a clone of the repository. The twin, CAD kit and motion gate (urdf / cad / run-gate) cover ground robots today, so they are not listed here.
robotforge validate examples/crazyflie-2-1.json
robotforge catalog robot 6
robotforge harness examples/crazyflie-2-1.json