Nimbus 2300
Pushing Limits, Almost Anything

A drone made in four weeks with skills learned over a semester of the class How to make (almost) anything at MIT. The drone reads data from an IMU and controls 4 motors to spin. See Detailed Design Process
What it is
A quadcopter built in the last four weeks of How to Make (Almost) Anything, using the semester's worth of processes at once: a carbon fibre shell laid up by hand, a laser-cut carbon fibre skeleton, a custom power distribution board, and flight control on a microcontroller. Three things were mine to design rather than buy: the chassis, the PCB, and the flight control.
The board
The board takes 11.1 V from a 3S LiPo, distributes it to four 20 A brushless speed controllers driving 2300 KV motors over DSHOT, and regulates the same rail down to 3.3 V through an AZ1111I-AD for a Seeed XIAO ESP32-C3. Routing the battery connector was the hard part, and the fix in the end was cutting through-holes in the back of the board and passing the conductors through it.
Orientation comes from a BNO085 nine-axis sensor. The first one would not talk reliably over UART, so it was replaced and then moved to I2C, which is the kind of decision that costs a week and reads as one line afterwards.
The shell
The body is a carbon fibre wet layup in two hemispheres, with a laser-cut carbon fibre skeleton and motor arms at 1.65 mm. Five-inch propellers: several toroidal designs were attempted on the resin printer and every one of them failed in supports, so the build fell back to injection-moulded props.
Finished mass was 372.2 g against an estimate of 476.9 g, which is the number I would have wanted to know before starting rather than after.
Where it stopped
It never flew. The flight control code, built on the dRehmFlight architecture, was unfinished when the semester ended: too much of the four weeks went to the toroidal propellers and to generative design on the frame, and the embedded work got complicated late. The airframe, the power system and the sensor chain all worked. The loop that turns orientation error into four motor commands did not.