ESP32 3D Printed Helicopter!!!

by Kid Inventor in Workshop > 3D Printing

249 Views, 4 Favorites, 0 Comments

ESP32 3D Printed Helicopter!!!

IMG_3422.gif
Screenshot 2026-01-02 at 9.43.37 PM.png
IMG_0344.JPG
IMG_0447.jpg
IMG_0449.jpg
IMG_0345.JPG
IMG_0452.jpeg
IMG_0453.jpeg

Hello!

Below is the visual Guide on how I built an ESP32 3D printed RC helicopter. I have taken ~300 pictures of how I made this helicopter, so you can follow along with the images and the image descriptions to help you build this helicopter. This helicopter was originally based on a heavy 18650 4S3P battery, which only let the helicopter fly once due to its max ~40A output, but for the sake of the people following this instructable, I will be using a 4s 18650 to test the electronic desgine so the people following this instructable can use a 120A 4s lipo battery that I have provided the link in the Supplies part of the instructable. I can also confirm that the flybar mechanism works well from the one time the helicopter flew. Speaking of flybar, I was inspired by this awesome flybar design and this helicopter with 3d printed parts, so big credit to Navid Goudarzi and Life Around Damian for inspiration.

Important info:

  1. Print Settings
  2. I used 1 wall and 10% line infill to make the printing process speedy, but I have also used 100% infill on the parts that need a lot of strength.
  3. Print tolerances
  4. The free spinning tolerances of the printed parts are 0.2mm, but I have also put some direct M3 screw to the plastic free spinning joints (don't worry, they have a surprisingly long lifetime), and the diameter of those holes is 3.4mm. And I did notuse lock-tight, so in each hole a screw goes in, the diameter of the hole is 2.7mm to ensure the screw does not get loose.

Enough with the boring info, it's time to have fun assembling the helicopter and hoping no magic smoke comes out during the electronics part.

Supplies

51P5XdRW0IL._SL1076_.jpg
51H8+gC1ExL._SX522_.jpg
61EL-BhFdCL._SL1500_.jpg
71qSunALHYL._SL1500_.jpg
71L-i1tznSL._AC_SL1500_.jpg

Here are the supplies, which together cost less than dinner but somehow more than my dignity.


Screws And Bearings

  1. 6 of M3x5mm Screw
  2. 2 of M3x20 screw
  3. 180 M3x10mm Screws
  4. 180 Square nuts
  5. 2 608 bearing
  6. 1 big 6006 bearing

Things that must be cut

  1. 10x10 and 200mm long square wooden rod
  2. 11mm thick wood
  3. 4mm steel rod
  4. 3mm steel rod

Electronics

  1. ESP32-S3
  2. Red Brick 100A esc
  3. HW30A esc
  4. 4S Li-Po Battery
  5. 2 of ZD2808-V1.9 700kv motor
  6. Servo motor

Servo Housing

IMG_0034.JPG
IMG_0035.JPG
IMG_0036.JPG
IMG_0037.JPG
IMG_0050.JPG
IMG_0051.JPG
IMG_0038.JPG
IMG_0039.JPG
IMG_0048.JPG
IMG_0047.JPG
IMG_0046.JPG
IMG_0045.JPG
IMG_0053.JPG
IMG_0055.JPG
IMG_0057.JPG
IMG_0058.JPG
IMG_0059.JPG
IMG_0060.JPG
IMG_0061.JPG
IMG_0062.JPG
IMG_0063.JPG
IMG_0064.JPG
IMG_0066.JPG
IMG_0065.JPG
IMG_0067.JPG
IMG_0042.JPG
IMG_0044.JPG
IMG_0049.JPG

This part holds the entire helicopter mechanism and houses the servo motors


Images 1 to 3:

Insert 6 square nuts on the top servo holder; there are 6 slots on the top of it where square nuts are hammered.

Images 4 and 5:

Put square nuts in the servo horn

Image 6-7

Angle the servo to 90 degrees and screw in the servo horn

Images 8 and 9:

screw the servos to the top servo holder

Images 8 to 11:

hammer bearings in the bottom servo holder

Note:

I didn't take a picture of this during the documenting of the assembly step, but in the Bottom servo holder, there are 9 slots to insert square nuts(6 at the near the bottom and 3 near the top)

Images 12 to 15:

Insert 2 square nuts in the slots that are on the bottom of the big gear center and screw the M3 screws into the holes that are on the side of the big gear center

Images 16 to 18:

Insert the 4mm steel rod through the big gear centre and tighten the screws in the big gear center

Images 19 and 20:

Insert the axle adapter on the axle, on top of the big gear center

Images 21 and 22:

hammer the axle in the 2 bearings in the bottom servo holder(ignore the placement of the top servo holder because I messed up in documenting the assembly step)

Images 23:

Insert 2 square nuts in the slots on the top of the axle thingy(I should have called it axle holder) and put 2 M3x5MM screws in the part

Images 24 and 25:

insert the axle thingy(REMBER TO PRINT THIS WITH 100% INFILL!!!) on the 4mm rod and tighten it

Images 26 to END 🎉👍

Screw the top servo holder onto the bottom servo holder


Yay, we have completed the Servo Housing!! (∩_∩)

Swashplate Assembly

IMG_0068.JPG
IMG_0069.JPG
IMG_0070.JPG
IMG_0073.JPG
IMG_0075.JPG
IMG_0071.JPG
IMG_0072.JPG
IMG_0078.JPG
IMG_0081.JPG
IMG_0082.JPG
IMG_0083.JPG
IMG_0084.JPG
IMG_0085.JPG
IMG_0086.JPG
IMG_0087.JPG

Image 1:

insert a square nut in the Bottom swashplate translator

I forgot to take pictures of this step:

in the bottom swash plate there is 2 square nut slots on the bottom of the model and on the sides of the arms

Images 2 and 3:

screw the Bottom swashplate translator on the bottom swashplate

Images 4 and 5

screw the bottom swashplate arms on the bottom swashplate

Images 7 and 6:

screw the m3 standoff on the Bottom swashplate translator

Image 8:

hammer the 6006 bearing into the bottom swashplate

Image 9 and 10:

hammer the upper swashplate on thee bottom swashplate

Images 11 to 15:

put the swashplate on the 4mm rod and screw to the servo horns on the servo housing





Swashplate Keep Still Mechanism

IMG_0088.JPG
IMG_0089.JPG
IMG_0090.JPG
IMG_0091.JPG
IMG_0092.JPG
IMG_0094.JPG
IMG_0095.JPG
IMG_0097.JPG
IMG_0100.JPG
IMG_0102.JPG
IMG_0104.JPG
IMG_0107.JPG
IMG_0108.JPG
IMG_0109.JPG
IMG_0110.JPG
IMG_0111.JPG
IMG_0112.JPG
IMG_0120.JPG
IMG_0121.JPG
IMG_0122.JPG
IMG_0123.JPG
IMG_0117.JPG
IMG_0124.JPG
IMG_0127.JPG
IMG_0128.JPG
IMG_0129.JPG

Images 1 and 2:

Insert 2 square nuts into the flybar slider and screw 2 screws in

Images 3 and 4:

screw a screw into the bar

Image 5:

Put a spacer on the screw

Image 6:

screw another bar on the screw

Image 7:

Tighten everything up using a square nut

Images 8 and 9:

screw that bar on the flybar slider and tighten with a nut(the bar must rotate smoothly for the helicopter to function). Images 10 and 11:

screw the assembly to the upper swashplateto the o flybar slider arm and tighten using the nut(this also needs to rotate smoothly)

Image 12:

Repeat for the other side of the flybar slider

Images 13 to 17:

Insert the assembly on the 4mm rod and screw it on the upper swashplate


Bottom Swashplate Keep Still Mechanism:


Images 18 to 23:

Put square nuts in the grooves of the bottom servo holder and screw the bottom servo holder in place. Don't worry,y we will position it precisely in the future.

Images 24 to 2

Shimmy the bottom swashplate. Keep still in between the M3 standoff on the bottom swashplate and move it next to the bottom servo holder.


Gimble Flybar Mechanism

IMG_0130.JPG
IMG_0132.JPG
IMG_0133.JPG
IMG_0135.JPG
IMG_0137.JPG
IMG_0138.JPG
IMG_0139.JPG
IMG_0140.JPG
IMG_0141.JPG
IMG_0144.JPG
IMG_0145.JPG
IMG_0146.JPG
IMG_0148.JPG
IMG_0151.JPG
IMG_0152.JPG
IMG_0154.JPG
IMG_0155.JPG
IMG_0156.JPG
IMG_0162.JPG
IMG_0163.JPG
IMG_0164.JPG
IMG_0165.JPG
IMG_0166.JPG
IMG_0161.JPG
IMG_0169.JPG
IMG_0170.JPG
IMG_0171.JPG
IMG_0173.JPG
IMG_0174.JPG
IMG_0176.JPG

This is just a 2 axis gimble that holds the flybar airfoils, and it is an important part of the flybar mechimsm

Image 1:

Insert 2 square nuts in the flybar slider

Images 2 and 3:

screw the flybar slider to the flybar x rotater using M3x7MM screws(the flybar x rotater should rotate smoothly)

Image 4:

Place 6 square nuts in the slots of the flybar y rotater(print this part with 100% infill)

Images 5 to 9:

Place the flybar X rotater in the flybar Y rotater and insert the 3mm rod through the flybar X rotater and the flybar Y rotater and tighten the screws VERY VERY HARD; otherwise,e the rods will fly out when it is spinning. Repeat for the other side.

Images 10 to 13:

screw the Bottom flybar arm on the top flybar arm and tighten it in place using a nut to make a flybar arm

Images 14 to 18:

Put the Flybar Arm on the 3mm rods with the Thin Spacers.

Images 19 to 24:

Put the flybar airfoil on the 3mm rod and use the Flybar Airfoil Centring Block to ccentrethe airfoil perfectly with the Flybar Y Rotater.

Images 25 to 27:

Put screws in the Upper swashplate to the flybar gimble arm, and insert square nuts on the screws and screw that to the Flybar Gimble.

Images 28 to END

Screw the Upper swashplate to the flybar gimbal arm to the flybar assembly.




Samurai Blade Holder

IMG_0190.JPG
IMG_0191.JPG
IMG_0192.JPG
IMG_0193.JPG
IMG_0195.JPG
IMG_0196.JPG
IMG_0197.JPG
IMG_0198.JPG
IMG_0199.JPG
IMG_0200.JPG
IMG_0202.JPG
IMG_0203.JPG
IMG_0204.JPG
IMG_0205.JPG
IMG_0207.JPG

This holds the helicopter blades like a Samurai, and it also has a linkage that averages the swashplate output and the flybar output (Note: all of these parts must be printed with 100% infill except for the 2 Output Adder).

Images 1 to 4:

Insert 4 square nuts in the Blade Centre (2 slots on top and 2 slots on bottom), and also insert 2 square nuts into the Samurai

Images 5 to 8:

Screw the Samurai to the Blade Centre (Note: the Samurai needs to rotate smoothly)

Images 9 to 13:

Insert 2 square nuts in the 2 Output Adder and screw those in place on the Samurai

Images 14 and 15:

Screw Screws(is my Grammer correct?) into the Blade centre, don't screw fully in, screw halfway to allow the 4mm rod to go through the Blade Centre

Finishing the Mechanism

IMG_0177.JPG
IMG_0178.JPG
IMG_0179.JPG
IMG_0180.JPG
IMG_0182.JPG
IMG_0183.JPG
IMG_0185.JPG
IMG_0184.JPG
IMG_0186.JPG
IMG_0187.JPG
IMG_0188.JPG
IMG_0208.JPG
IMG_0209.JPG
IMG_0210.JPG
IMG_0213.JPG
IMG_0216.JPG
IMG_0217.JPG
IMG_0219.JPG
IMG_0212.JPG
IMG_0220.JPG
IMG_0221.JPG

In this step, we will be putting the Flybar Gimble and the Samurai Blade Holder on the 4mm rod.

Images 1 to 5:

Slide the Flybar Gimble on the Flybar Slider and screw the Flybar Gimble on the Upper swashplate, and do the same for the other side.

Images 6 to 11:

Drop the Upper Swashplate to Samuari arm in between the Flybar Gimble and screw it to the Upper Swashplate, and repeat for the other side.

Images 12 to 14:

Slide the Samurai Blade Holder on the 4mm rod and screw the Upper Swashplate to Samuari arm on the 2 Output Adder(Note: the Upper Swashplate to the Samurai arm must rotate smoothly), and repeat for the other side of the Samurai Blade Holder.

Images 15 to 19:

screw the Flybar Arm to the 2 Output Adder and repeat for the other side


We are fully done with the Mechanism (◕‿◕✿).








Back Arm and Landing Legs

IMG_0222.JPG
IMG_0223.JPG
IMG_0224.JPG
IMG_0225.JPG
IMG_0226.JPG
IMG_0227.JPG
IMG_0230.JPG
IMG_0231.JPG
IMG_0232.JPG
IMG_0234.JPG
IMG_0237.JPG
IMG_0239.JPG
IMG_0235.JPG
IMG_0245.JPG
IMG_0247.JPG
IMG_0248.JPG
IMG_0250.JPG
IMG_0251.JPG
IMG_0252.JPG
IMG_0253.JPG
IMG_0254.JPG
IMG_0255.JPG
IMG_0256.JPG
IMG_0258.jpeg
IMG_0259.jpeg
IMG_0260.jpeg
IMG_0261.JPG
IMG_0265.jpeg
IMG_0266.JPG
IMG_0267.JPG
IMG_0268.JPG

Images 1 to 3:

Put 8 Square nuts in the slotson the Second Battery Holder, as demonstrated by the Image and screw the screws through the nuts.

Images 4 to 6:

Slide the 15mm hollow rod through the Second Battery Holder and tighten the screws to lock the 15mm hollow rod in place.

Images 7 to 9:

Put 4 square nut in the Back Motor Holder

Images 10 to 13:

Screw the Back Propeller to the motor, and then screw 2 screws into the Back Propeller.

Images 14 to 16:

Insert 8 screw into the Front Motor Holder and then screw the holder to the motor

Images 17 to 23:

Put the front motor holder on the 15mm rod, and place the back motor holder on the other side of the rod, and tighten the screws on the Front Motor Holder into the back motor holder.


Landing Legs

Image 24:

Cut an 11mm thick wooden plank into a 305mm to 30mm rectangle and drill two 3mm holes into it as demonstrated by the Image. Make 2 of these.

Images 25 and 26:

Put square nuts in the Back Landing Leg Holder and screw it to the wood rectangle. Make 2 of these.

Images 27 and 28:

Screw the Back Landing Leg Holder with the wood rectangle and screw it to the 10x10mm square wooden rod next to the Servo Housing, and put the second one on the other side of the helicopter.

Images 29 to 31:

Put the back arm on the 10x10 wooden rod and tighten it in place.

Last step:

Move the Servo Housing and the 2 Back Landing Leg Holders 9mm away from the Back Arm and tighten them.















Main Motor and Electronics Box

IMG_0278.JPG
IMG_0279.JPG
IMG_0280.JPG
IMG_0281.JPG
IMG_0270.JPG
IMG_0271.JPG
IMG_0272.JPG
IMG_0273.JPG
IMG_0274.JPG
IMG_0275.JPG
IMG_0276.JPG
IMG_0277.JPG
IMG_0282.JPG
IMG_0283.JPG
IMG_0284.JPG
IMG_0285.JPG
IMG_0286.JPG
IMG_0287.JPG
IMG_0288.JPG
IMG_0289.JPG
IMG_0290.JPG
IMG_0291.JPG
IMG_0292.JPG
IMG_0293.JPG
IMG_0294.JPG
IMG_0295.JPG
IMG_0296.JPG
IMG_0297.JPG
IMG_0298.JPG
IMG_0299.JPG

Images 1 and 2:

Put 2 screws in the Small Gear and screw the gear on the motor axle

Images 3 and 4:

Tighten the Screws on the gear

Images 4 to 8:

Put the big gear on the big gear hub and lock the gear in place using 4 screws

Images 9 to 12:

Put 5 square nuts into the Front Landing Leg Holder, print 2 of these

Images 13 to 19:

screw the motor on the motor block with a spacer

Images 20 to 24:

screw the motor block the 2 Front Landing Leg Holder

Images 25 to 30:

screw the assembly on the 4 wooden rods.








Electronics for Helicopter

Screenshot 2026-01-04 at 10.57.13 AM.png
IMG_0309.JPG
IMG_0311.JPG
IMG_0312.JPG
IMG_0310.JPG
IMG_0317.JPG
IMG_0318.JPG

It's time to release magic smoke.

First, download Thonny and MicroPython by following the YouTube tutorial link here.

With the esp32 that you are planning to use in the helicopter, run this code and write down its output

import network.

wlan = network.WLAN(network.STA_IF)
mac = wlan.config('mac')
print(mac)

The output should be something like this -> b'\xft\x01,-\x5fP'

When you are done with that, I have a file called helicopter.py, run that and save that file on the esp32 as boot.py.

Tape the HW30A to the back arm to ensure good airflow for the HW30A in Image 2.

Connect everything, referring to the wiring diagram spreadsheet above in Image 1.

Your setup should look like Image 3.

Remember to insulate the wire connections using hot glue or electrical tape

Connect batteries and main motor

this is a step by step tuturiol because i forgot to take pictures(my phone ran out of battery)

  1. connect main motor to 100A ESC(it does not matter the order in witch you place them because we will doudle check if the motor is spinning the right way later)
  2. connect the negative side of the esc to the negative side of the 4S lipo
  3. connect a switch to the positive side of the 100A ESC
  4. connect the switch to the negative side of the 100A ESC

do the same thing except replace 100A ESC to HW30A, replace main motor to tail motor and replace 4s lipo to 3s lipo in the step by step tuturiol.

turn on both switches at the same time and if you hear one beep and a pause and a beep again from both motors then you have done it correctly but if there beep beep beep with no long pause double check the esp32 pinout and flash the helicopter.py code to boot.py again.

Organize Electronics

First start with putting the 3S battery in the Second Battery Holder and use velcro to lock it in place like in image 4 then put the 4S lipo and the esp32 in the electronic box the close it using 4 screws like in Image 5.


Yay we are 100% done with the Helicopter but now it time for the hard part witch is the receiver.


Downloads

Assemble the Remote

IMG_0344.JPG
IMG_0320.JPG
IMG_0321.JPG
IMG_0322.JPG
IMG_0323.JPG
IMG_0324.JPG
IMG_0325.JPG
IMG_0326.JPG
IMG_0327.JPG
IMG_0328.JPG
IMG_0329.JPG
IMG_0330.JPG
IMG_0332.JPG
IMG_0333.JPG
IMG_0334.JPG
Screenshot 2026-01-04 at 4.48.04 PM.png
IMG_0335.JPG
IMG_0336.JPG
IMG_0337.JPG
IMG_0338.JPG
IMG_0339.JPG
IMG_0340.JPG
IMG_0341.JPG
IMG_0342.JPG

Images 1 to 6:

Place the ESP32 and the joystick on the body of the remote, and screw the top cover in place. If needed, put nuts on the screws to tighten the body to the top cover

Images 7 to 10:

Put a nut in the slot on the potentiometer holder, and then screw a screw through that nut, and then put the potentiometer in the hole and tighten the screw.

Images 11 to 14:

screw the potentiometer holder to the case and tighten it using nuts

Images 15 and 16:

Wire it according to the wiring diagram

Images 17 and 18:

Put battery straps on the back cover

Images 19 to 23:

screw the back cover to the body and put the battery on the remote.










Flash Remote's Code and Test Motors

Screenshot 2026-01-04 at 5.48.39 PM.png
IMG_0345.JPG
IMG_0349 2.jpeg

Using Thonny, flash the joystick.py file as boot.py on the remote's ESP32 and change the peer variable on the 13th line of code to your Helicopter's MAC address.


WEAR SAFETY GLASSES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Now it is testing time, to connect the helicopter to the remote, first turn on both switches at the same time, then when the beeping stops, connect the ESP32 on the remote to the power bank on the remote and then when you connect the ESP32 to the power bank, you will see the tail motor go to 50% automatically and if its spinning the wrong direction then offf the helicopter and the esp32 and switch 2 wires around from the motor to the esc to change direction. When it starts spinning in the right direction, then increase the throttle SLOWLY by spinning the throttle knob counter-clockwise, and if that is spinning the wrong direction, switch 2 wires around from the motor to the esc.


Now you can put the blades of the helicopter by using 2 M3x20 screw(Note: if the blades appear small in the slicer, then scale them by 1.5 times)

Here is the link for the helicopter blades.

If you are having trouble printing helicopter blades, then refer to this YouTube video.


If you don't know how to fly an RC helicopter, then watch this YouTube video on how to fly a helicopter.

Have fun with your RC Helicopter!!!!!!!!!!

Downloads