Skip to content

RC Drone and Controller (Nano ESP32)

A custom 3D-printed RC quadcopter with its own flight computer on an Arduino Nano ESP32, paired with a 3D-printed joystick controller.

  • Drone
  • Open source
  • 3D printable

Suggested by Robotheca, created by @twodoot (opens in a new tab), from github.com/twodoot/RC-Drone (opens in a new tab). Pinned to commit 0cf43b6 (opens in a new tab).

Photo and 3D model

RC Drone and Controller (Nano ESP32), photo from its repository
Photo:@twodoot (opens in a new tab)MITsource file (opens in a new tab)

3D preview converted from github.com/twodoot/RC-Drone at 0cf43b6, under MIT. View the original files from GitHub (80.4 MB) (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Flies as a quadcopter with four brushless motors, controlled by a handheld joystick controller over a wireless link.
  • Main flight mode controls roll rate by stick; a secondary angle-based mode is accessed by pressing the right stick and is described as not functioning well.
  • Left stick up and down adjusts throttle, which holds its last signal when released; left and right yaw the drone.
  • Right stick left and right controls roll on the x axis; right stick up and down controls pitch on the y axis.
  • Uses an MPU-6050 inertial sensor on the drone to read its orientation.

Bill of materials

36 parts
Export parts list (CSV)

36 of 36 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1Drone Base1–Supplier: buy Drone Base, opens in a new tab
2Drone Top1–Supplier: buy Drone Top, opens in a new tab
3Drone legs4–Supplier: buy Drone legs, opens in a new tab
4Controller Body1–Supplier: buy Controller Body, opens in a new tab
5Controller Lid1–Supplier: buy Controller Lid, opens in a new tab
6Controller Drawer1–Supplier: buy Controller Drawer, opens in a new tab
7Adruino nano ESP322–Supplier: buy Adruino nano ESP32, opens in a new tab
8MPU-60501–Supplier: buy MPU-6050, opens in a new tab
94S 2200mah LiPo battery1–Supplier: buy 4S 2200mah LiPo battery, opens in a new tab
10XT-60 splitter3–Supplier: buy XT-60 splitter, opens in a new tab
11USB Power Bank1–Supplier: buy USB Power Bank, opens in a new tab
12Electronic Speed Controller (ESC)4–Supplier: buy Electronic Speed Controller (ESC), opens in a new tab
13KY-023 joystick modules2–Supplier: buy KY-023 joystick modules, opens in a new tab
14jumper wires––Supplier: buy jumper wires, opens in a new tab
15male terminal banana connectors12–Supplier: buy male terminal banana connectors, opens in a new tab
162400kv BLDCs4–Supplier: buy 2400kv BLDCs, opens in a new tab
17drone propellers4–Supplier: buy drone propellers, opens in a new tab
18USBC to USBA cable2–Supplier: buy USBC to USBA cable, opens in a new tab
19Power only USBC to bare wires1–Supplier: buy Power only USBC to bare wires, opens in a new tab
20M1.6 bolts8–Supplier: buy M1.6 bolts, opens in a new tab
21M2.5 bolts8–Supplier: buy M2.5 bolts, opens in a new tab
22M3 bolts4–Supplier: buy M3 bolts, opens in a new tab
23M3 bolts16–Supplier: buy M3 bolts, opens in a new tab
24M5 bolts4–Supplier: buy M5 bolts, opens in a new tab
25electrical tape1–Supplier: buy electrical tape, opens in a new tab
26battery straps2–Supplier: buy battery straps, opens in a new tab
27plastic tubing1–Supplier: buy plastic tubing, opens in a new tab
28stiff foam1––
29sandpaper low grit1–Supplier: buy sandpaper low grit, opens in a new tab
30hacksaw1–Supplier: buy hacksaw, opens in a new tab
31soldering iron1–Supplier: buy soldering iron, opens in a new tab
32armature wire1–Supplier: buy armature wire, opens in a new tab
33multimeter1–Supplier: buy multimeter, opens in a new tab
34scissors1–Supplier: buy scissors, opens in a new tab
35pliers1–Supplier: buy pliers, opens in a new tab
36screwdriver1–Supplier: buy screwdriver, opens in a new tab

36 of 36 needed parts have no price in the source, so there is no parts total. Read from BOM.csv at the pinned commit.

Build guide

The creator's steps, each with its instructions.

  1. 1Print and prepare the controller body, lid and drawer
  2. 2Solder wires and female headers to the controller Arduino Nano ESP32
  3. 3Mount the Arduino in the controller with M1.6 bolts and stand-offs
  4. 4Mount the joystick modules with M2.5 bolts and foam pads
  5. 5Wire the joysticks to the controller Arduino
  6. 6Print and prepare the drone top, base and spacers
  7. 7Solder and mount the MPU-6050 IMU on the drone top
  8. 8Solder male headers to the drone Arduino PWM pins and mount it on the base
  9. 9Assemble the frame with M5 bolts and legs
  10. 10Attach banana connectors to motors and mount the motors with M3 bolts
  11. 11Mount ESCs and wire power, BEC and PWM connections
  12. 12Flash via PlatformIO, calibrate joysticks and ESCs, fit the propellers

The guide appears here as you scroll.

Guide by @twodoot (README.md), under MIT.

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Two Arduino Nano ESP32 boards, one in the controller and one in the drone.
  • MPU-6050 inertial measurement unit mounted on the drone.
  • Four brushless DC motors rated 2400kv with propellers.
  • Four electronic speed controllers (ESCs), at least 40A rated.
  • Two KY-023 joystick modules in the controller.
  • 4S 2200mAh LiPo battery powering the drone through XT-60 splitters.
  • 5V USB power bank powering the controller.
  • A BEC supplying 5V to the drone Arduino.

Connections

  • Controller: joystick GND and 3.3V/+5V pins go to each module; A0 to A3 read the joystick axes and D3 reads the right joystick switch.
  • Drone: MPU-6050 SDA connects to A4, SCL to A5, GND to GND and VCC to 3.3V.
  • Drone: PWM signal wires from the ESCs connect to pins D6 to D9, one per motor.
  • Drone: each motor's three phase wires connect to its own ESC, with the ESCs' main power fed from the battery through XT-60 splitters.
  • Drone: BEC 5V and GND are connected to the drone Arduino's USB power input.

Cables and connectors

From the parts list.

  • jumper wires
  • male terminal banana connectors × 12
  • USBC to USBA cable × 2
  • Power only USBC to bare wires × 1
  • armature wire × 1