Skip to content

3 KB

Machine-translated by Robotheca from the original in Japanese (opens in a new tab). License: MIT (opens in a new tab).

Full_Scratch_Drone

Overview

Instead of purchasing a kit

  • A control board with an ESP32, designed in KiCAD and surface-mounted
  • A frame designed in 3D CAD and printed on a 3D printer
  • Motors, propellers, and LiPo batteries purchased from Amazon and an RC helicopter/drone specialty shop

I built a fully scratch-built drone using these parts.

Control Board

  • Configuration → A single board carrying the MCU (microcontroller), IMU (9-axis inertial sensor), ESC (4 MOSFETs), connectors, and more.
  • Parts → ESP32-MINI-1-N4 (MCU), ICM-20948 (IMU), AO3400A (Nch MOSFET), and others.
  • Purchasing → Purchased from Akizuki Denshi Tsusho and corestaff. Some parts were purchased from Amazon.
  • PCB → Collected part data using SnapMagic and others, designed the schematic and PCB in KiCad, and ordered the boards from JLCPCB.
  • Assembly → Surface-mounted the components using a hot plate and solder paste.

For details, see the control-board folder.

Frame

  • Design → I designed it in Fusion.
  • Fabrication → Printed on a 3D printer (RAISE3D E2, 0.4 mm nozzle, black PLA filament).

For details, see the frame folder. Photos of the robot's exterior are also in the frame folder → docs folder.

Motors

Propellers

LiPoバッテリ

Control code (flight controller: drone side)

  • Coded in VSCode, compiled and built with PlatformIO, a VSCode extension.
  • You can switch between "single-loop angle PID control" and "double-loop angle and angular rate PID control (cascade control)".
  • For the gain constant values, you can switch between "default" and "tuning that can be changed in real time in conjunction with the app".

For details, see the firmware.

Control code (proportional control transmitter: smartphone app side)

  • I turned a smartphone into a drone transmitter using MIT App Inventor, a browser-based app development tool.

For details, please see the separate repository Example_MITAppInventor_for_DroneController (opens in a new tab).

Files by @Haruki-Ayukawa, at commit 11fc08a, read from GitHub in your browser. Hardware license: MIT; software license: MIT. Robotheca doesn't review code: read it before running it.