Menu
O mnie Kontakt

W dzisiejszym wpisie Max z kanału Max Imagination przedstawia budowę jednego z najmniejszych dronów ESP32 na świecie, nazywanego ESP Fly. Ten niesamowicie mały dron mieści się w kieszeni koszuli i jest niezwykle zabawny w użyciu. Jak się okazuje, nie potrzebujesz drogiego nadajnika ani skomplikowanego sprzętu, wystarczy Twój telefon. Max krok po kroku prowadzi widzów przez proces budowy, programowania i latania swoim mikro dronem, zapewniając jednocześnie stosunkowo niską cenę. Koszt budowy drona wynosi około 37 USD za same części, co czyni go dostępnym dla każdego majsterkowicza.

Toggle timeline summary

  • 00:00 Wprowadzenie do najmniejszego drona ESP32 na świecie, ESP Fly, który jest łatwy do zbudowania i przyjemny w lataniu.
  • 00:21 Max przedstawia się i określa komponenty potrzebne do budowy mikro drona.
  • 00:34 Omówienie wymaganych części, w tym komponentów montowanych powierzchniowo i PCB.
  • 00:56 Wyjaśnienie procesu projektowania przy użyciu CAD, koncentrując się na ramie drona.
  • 01:15 Szczegóły na temat aerodynamicznego projektu i osobowości dodanej do drona.
  • 01:41 Informacje, gdzie znaleźć pliki STL do modelu 3D drona.
  • 01:49 Instrukcje dotyczące przygotowania plików do druku 3D i ustawień.
  • 02:09 Dyskusja na temat drukarki 3D Elegoo Neptune 4 Plus i jej zalet w zakresie prędkości druku i jakości.
  • 03:03 Alternatywna metoda tworzenia ramy drona PVC dla tych, którzy nie mają drukarki 3D.
  • 04:53 Instrukcje dotyczące montażu części PVC w kompletną ramę drona.
  • 05:43 Wyjaśnienie projektowania elektroniki i układu PCB przy użyciu wsparcia AI.
  • 07:08 Przewodnik po przesyłaniu pliku Gerber do producenta PCB w celu produkcji.
  • 08:02 Wprowadzenie do procesu montażu PCB z komponentami SMD.
  • 11:15 Dyskusja na temat wyboru mikrokontrolera Xiao ESP32-S3 do drona.
  • 12:39 Dostosowywanie drona poprzez kolorowanie i przymocowywanie części.
  • 16:12 Szczegóły na temat wyboru odpowiedniej baterii dla optymalnej wydajności.
  • 16:56 Instrukcje dotyczące wgrywania oprogramowania na drona za pomocą ESP-IDF.
  • 20:41 Bardziej zaawansowane opcje konfiguracji dla precyzyjnego sterowania dronem.
  • 22:30 Przegląd łączenia drona z aplikacją na telefon do sterowania.
  • 24:27 Testowanie zasięgu lotu drona i stabilności.
  • 26:27 Analiza wydajności czasu lotu drona z określoną baterią.
  • 29:36 Zachęta do zbudowania drona z dostarczonymi materiałami.
  • 30:05 Zamykające stwierdzenie zachęcające do kreatywności w budowaniu.

Transcription

This might be the world's smallest ESP32 drone, and you can build it. I call it the ESP Fly, and trust me, this tiny beast flies. It's so small, it fits in your shirt pocket. It's so fun, you won't want to put it down. And flying it? Easier than you think. No expensive transmitter, no fancy equipment, just your phone. I'm Max, and I'll guide you step by step as you build, program, and master flying your own micro drone. Let's do this! Now all the parts you'll need to make it real include a whole lot of surface mounted components and a PCB to make the sensor plus motor driver module, a microcontroller, battery, wires, connectors, antenna, coreless motors, propellers, and parts to form the frame of the tiny quadcopter. You're looking at $37 USD in parts as of March 2025, excluding the cost of shipping. Find all of the parts listed with product links in the video description below. To take you back to how I designed the drone, I took measurements of each and every component that would eventually fit the frame. Then I hopped into the CAD software I've been using for years and highly recommend called Autodesk Fusion, and began designing the 50mm drone frame. I went for a closed body look with two prong style arms to support the motors while considering basic aerodynamics. I gave it some personality and a top cover with its name. And for you FPV fanatics, I went as far as designing a cover to support a tiny 3g FPV camera. Having completed it, you can find STL files for the finished ESP-Fly drone 3D model slash design listed on Kultz3D with more design related info and 3D printing settings to get it made successfully. To purchase the design, click the page link in the description below and go from there. While the 3D printer heats up, we'll drop the three files into the 3D printing software, position them accordingly, and apply the main list of print settings I've also listed on the 3D model page. Once saved to a memory card, we can shove it into a 3D printer and begin 3D printing out the drone's parts. I've been asked by quite a number of you which 3D printer I use, and I must say I'm very pleased with the one I'm currently using, the Elegoo Neptune 4 Plus. Aside from its obviously spacious build volume, the number one thing that stands out for me is how fast it 3D prints without sacrificing on quality. You're seeing its true speed. What would probably take my old 3D printer over an hour to print, this one produces the drone's parts in just 30 minutes. I also like how the flexible magnetic build plate allows me to pop the parts off easily without using a scraper. Alright, let's look at the outcome. No stringing, no warping, or any layer shifting. I'm quite happy with the print quality knowing I used the printer as it was out of the box. So if you want to learn more about the Elegoo Neptune 4 Plus, click the link in the description below and perhaps even obtain one. However, if budget constraints are what's holding you back from 3D printing, you always have the option to make the PVC version of the drone frame. Based on the outlines of a 3D model in 2D form, I came up with a blueprint sheet for you to print out with an inkjet printer. The bottom half contains the parts you need to cut out, while in the upper half you have outlines according to which you need to bend the respective parts. Download it for free linked in the video description among the other project files. Taking a 2 inch hardware store PVC pipe with a thickness of 1-2mm and length of at least 200mm, we can cut it open and heat it up with a stove, hair dryer, or heat gun to the point we can flatten it with something like a cutting board to end up with a PVC sheet. With some glue stick, we can stick on the sheet of outlined parts to cut out and begin drilling holes in the marked areas either with a drill or by hand with a screwdriver. From here we can either use the scoring method with a hobby knife or a rotary tool to cut out the parts one by one. If you do this, make sure you wear a filtered mask. Once peeled from paper, we can sand the parts to the point they're less than a millimeter in thickness for weight management. Going from 11 to just 5 grams, these parts are now light enough. We'll need to bend each of the four motor holders, frame head, inner frame, and outer frame pieces according to the outlines I made on the blueprint sheet. With all of these bent accordingly, we can begin supergluing the parts together. For the frame heads to fit in, three corners poking inward will need to be trimmed off. We'll also put some pieces of PVC on the inside to support the boards, and to top it off, assemble the top cover. With that, we've just turned 11 grams of flat PVC into a complete DIY drone frame weighing just 6 grams. The drone will still fly with the PVC frame despite being 2 grams heavier, but I'll go my drone on the 4 gram 3D printed frame for its detailed and highly accurate design. Moving on to making the drone's electronics, to design the circuit board that holds all the components together, I'll jump into my go-to PCB design software. Instead of manually searching for each component, I'll use its AI assistance to place them directly onto the canvas, saving time and keeping my workflow smooth. From here, I'll wire up the motion sensor to the microcontroller, building out the schematic. I'll also bring in my 4-channel motor driver circuit from the last project and integrate it along with the drone's head and tail lights. With the schematic complete, it's time to lay out the PCB. The top layer will handle motion tracking, while the bottom layer manages motor control and power distribution. While working on the copper fills, I just so happened to run into a small issue, but the AI copilot quickly guides me through the fix. That looks better. Now I can move on to routing traces across all four layers. Copilot's tips on minimizing electromagnetic interference help ensure stable performance, especially around the more sensitive components. After a final review, I can say the design looks solid and it's ready to be exported as a Gerber file. If you're interested in designing your own PCBs, you can try out Flux through the link in the description below. And to download the Gerber file for the drone's PCB, find it within the same folder containing all the other project files linked below as well. Once saved, upload the drone board's Gerber file to JLCPCB, the easy, affordable, and reliable PCB manufacturer, to get an instant quote. For board specs, set the layers to 4, choose your desired board's quantity, set 1.2mm as the thickness, and pick a board color. Shipping is the fastest and most cost-effective option. Don't forget to select remove mark down here and that's it. Add it to your cart, choose shipping and payment options, and place your order. It's as easy as online shopping. While the factory gets to work, you can track your order in real time from the 24-hour lightning-fast production to the shipping. And just like that, the PCBs have arrived. JLCPCB delivers high-quality 1-8 layer PCBs at unbeatable prices as low as $2. Their strict quality control brings you picture-perfect, reliable PCBs just like these for my drone. From my experience, JLCPCB truly makes getting PCBs easy, affordable, and reliable. It works! So grab $60 in coupons upon signing up and order your drone's PCB through the link in the description below. Along with ordering the PCBs, I highly recommend you order an SMD stencil based on the PCB Gerber file as it'll make your life so much easier when applying solder paste onto the board for all of the surface-mounted components to sit. So let's go ahead and secure one PCB with another 4 around it taped down to prevent it from wriggling, and then secure the stencil above aligned perfectly with the pads. With a generous blob of solder paste spread all over the holes and then scraped off, we can carefully remove the SMD stencil leaving behind the neatly coated pads. Now for the PCB assembly, I'm using surface-mount components found in these reels ordered from Amazon. Let's start by picking and placing the indicating LEDs facing out, resistors, and capacitors according to their labeled values. When it comes to placing the MPU6050 motion tracking IC, we need to align the dots for correct orientation. The chip can be bought in tape reels or salvaged from a sensor module like I did. Now we can gently pick up the board and place it on a SMD hot plate to be reflow soldered. Here's how the completed sensor side of the board looks. Now we can flip it over to the bottom side and give its pads there some solder paste with the other stencil cutouts. This side of the board mainly handles the driving of motors. We'll pick and place LEDs for head and tail lights, MOSFETs, flyback diodes, pull-down resistors, and filtering capacitors. Since the components on the other side prevent us from reflow soldering, we'll need to solder each component by hand using a soldering iron and a pair of tweezers. Here we'll come in and solder the JST battery connector for power input. And our IMU or inertial measurement unit slash motor driver module is complete, weighing only a grand. Wow, does using a PCB keep things super compact and lightweight. But if you don't have the tools to make this board, use JLC's PCB assembly service to make you a ready-to-use board that you can start using right out of the box. When ordering the PCB, don't forget to submit the PCB assembly option and ensure you select that you want components on both sides. Upload your bill of materials file and pick and place file linked below. Only then order the board instead of just standalone PCBs. You'll be sent the finished board with all the components soldered on for you. Now it's time to give the quadcopter its brain. For that I'm using the Xiao ESP32-S3 from Seed Studio and their lineup of cute thumb-sized microcontroller boards. Size and efficiency are key in a microdrone and this board nails both. We'll bridge battery power with short wires and mount it using pin headers, keeping orientation in mind. I chose it for its small size of 21 by 17 millimeters, perfect for flight. But despite its size, it runs two cores and packs plenty of processing power to juggle running the drone's firmware. With built-in low-latency Wi-Fi, it handles real-time control without extra modules, unlike my mini Arduino FPV drone project from 2024. Another big plus, the built-in battery management system lets it run directly off a battery that you can charge via USB-C. Plus, its low 100 milliamp power draw helps extend flight time, critical for the lightweight drone. It's the perfect fit, minimal, powerful, and efficient. You'll see it in action once we start flying the ESP Fly. To buy the board, I've linked different stores in the description below this video, so check it out. Now this compact flight controller stack is ready to be installed, but just before we do, let's give the drone some personality by coloring in the debossed areas on the parts of the drone's name, customization, and last but not least, my branding. Now it definitely stands out. Now let's continue the assembly by adding the battery strap, which is a small zip tie laced through with the one-cell battery inserted. We'll clip off the excess, and continue by installing the 6x15mm coreless motors with a shaft diameter of 0.8mm. When you buy these, check you get the two clockwise and two counterclockwise motors, which can be told apart by wire color. We'll clip the connectors off, exposing the wire ends, which get tinned. Based on my quick motor test with the flight controller, this is the order in which the motors get connected to the board. But before connecting them, we'll need to insert all 4 motors into the frame like so. And then we'll push the wires through the holes designed specifically for them, followed by tucking the exposed parts of the wires into the drone arms. Nice and tidy, huh? With the wires sticking through the inside, only then do we connect each pair to their designated motor pads on the motor driver's side of the board. The extra room inside the drone will fit the length of wires as we push the flight controller into its place. To prevent things from moving inside, we'll follow up with some super glue dabbled on While we're at it, we'll even give a drop to each motor without overdoing it. To make the drone's landing gear or legs, we'll take advantage of the motor holder regions designed with a couple of holes each to accommodate 1mm wire. Knowing that, we'll cut 4 25mm sections of solid core jumper wire normally used to connect circuits on breadboards, and bend these in a V shape, inserting them into the arms secured with super glue. Once firmly mounted, the ESP-Fly has its legs. Next, let's modify the antenna that came included with the Xiao ESP32-S3 from Seed Studio by desoldering the flex PCB part of it, stripping the antenna wire end from its plastic coating, and stranded wire shield exposing an enameled section of the antenna. We'll connect it to the Xiao and bend the antenna wire in such way to get to the right side of the drone where the top cover slides over it. For the propellers, commercial ones work best. We'll go with a set of Gemfan tri-bladed props for .8mm shaft motors like these. We need to be careful when attaching these so that the rotors do not pop through the bottoms of the motors. Replacing these can be easily done with the included prop removal tool. To tell what's front and back when it's in the air, I suggest using different colored props for the rear motors. If you've attached the propellers correctly, air must blow downward when spinning this way in flight or else your drone will not fly. For the drone's battery, I recommend picking one anywhere from 150 to 300 mAh with at least a 25C discharge rate for best results. It means batteries with battery management boards won't work as they don't supply enough current. Charging the drone's battery can be done either one of two ways. If you have many to recharge, use a multi-charger like this one that may come with a set of batteries you purchase. But if you're left with only one battery, charging it can be done via the same USB-C port that is also used to program the microcontroller. Speaking of which, that's what we're about to do with the help of a computer. Using the PowerShell command line interface from a development framework called the ESP-IDF, specifically for ESP32 chips, we're gonna flash the firmware onto the drone called ESPDrone by Espressif. The ESP chip manufacturer originally made the open-source ESPDrone project built on a PCB which was inspired and heavily contributed by Bitcraze with their CrazyFly drone which is known for being used in drone swarms, creating coordinated formations of different shapes in the air. For more technical info on the ESPDrone, Espressif's documentation linked below has it all. Shout out to Circuit Digest and engineer Jobit Joseph from India for their blog and video on the ESPDrone, making it more accessible to makers like me. Also thanks to Dr. Electronics for helping me get set up with the firmware. He made a nice video on his PCB version of the drone. I've linked their channels and other contributors in the description if you want to check them out. Also, to flash the code, you'll need to download the framework assuming you don't have it yet. I've left a link below to open the page where you download the 5.0.7 version of ESP-IDF that is 0.96 GB. Save the .exe file, open it, and go through the straightforward installation process ensuring you select the PowerShell and ESP32-S3 related boards to be installed when asked. Once installed and opened, this is how the ESP-IDF PowerShell should look like. For the firmware, you can either check out Jobit Joseph's GitHub for his version of ESPDrone which requires some configuration changes to work with my drone, or save time by using my adjusted version with all the correct hardware settings. You'll find it along with the other project files linked below. Once downloaded, open the folder, get inside Firmware, and into the folder called ESP-Drone. Right-click to copy the folder's address as text. Then in the PowerShell, type cd, space, and then hit Ctrl-V on your keyboard to paste the folder address, and hit enter. When this new command line appears based on the address, here comes the flashing of the firmware. Type idf.py, space, dash, p. Then go to your computer's device manager and identify the COM port the connected drone is using. Mine happens to be on COM6, but yours might be different. So I'll type that in followed by typing flash monitor, and hit enter. This action both flashes the firmware to the drone and allows you to monitor the output log which looks like this. If you've done everything right, you should see a line saying, ready to fly. Now if you see these specific sensors, CPU, or driver warnings, don't panic. That's simply because these are not being used by the drone. But what you do want to see is that the motion sensor chip's connection is okay, and a visible access point network with its password, and all the other elements are in green. Only then will you get the ready to fly message appearing. Now for those of you who want to make changes to the firmware to suit it to your specific drone's needs, type idf.py, menu, config, which opens up the configurator menu that's operated entirely from your keyboard. In ESPDroneConfig, you can select the chip you're using, decide if you want a buzzer added, enter the pins for communication lines, sensors, LEDs, motors, and the pins on the ESP that they use. If you do make any changes, do it at your risk because everything is set to work with the ESPFly as it is. Don't forget to save your changes before exiting this configurator and flash the code to apply the changes. Now you know that. If you want to access more advanced drone settings to get the most out of your drone like you would in Betaflight, open the CrazyFly client by typing cfclient in the PowerShell. An interface like this should pop up, and as long as you're opening it on a computer with a Wi-Fi connection, it should work. In your computer, connect to the drone's access point network and type in its password which is numbers 1 through 8. You'll want to click on input device up here and configure device mapping. Close this window quickly, select the UDP address in the top left, and hit connect to see the battery voltage, a visual of how the motion tracking sensor is working with the pitch, roll, and yaw values displayed below. To the left, you can even select the advanced flight mode where you can change things like trim, rates, thrust thresholds, and more to get the most control out of your drone. After adjusting those settings, we can unplug it and move on to installing the app on our phone to control the drone, which we'll start by powering up and ensuring we place it on a level, flat surface where it performs its calibration that's only indicated successful by each of the motors spinning. Then we'll go to our phone's settings under Wi-Fi and connect to the drone's access point Wi-Fi network. If you're doing this for the first time, you'll need to enter the password which, again, is 12345678. Then we can head over to the ESP Drone app and connect to the drone, but where do you get the app, you ask? For iOS, find it on the App Store, or for Android, go to the description below and tap on this link that opens the app installation page. Scroll down and hit this install button and download the APK file to your device. You might need to enable install unknown apps in your phone settings to make the download go through. Once installed and opened, you'll be met with this controller interface. To pair with the drone, tap the connect button in the top right corner. The drone's green LED should light up, confirming the connection. Now you can start flying right away, but to get the best possible control of your drone, tap the settings icon in the top right. Here you can adjust flight control settings such as the joystick modes, pitch and roll trim to stabilize the drone and keep it flying steady if it ever tends to veer off one side. Then you can enable advanced mode for increasing angles and thrust values. In controller settings, you can decide if you want to control the drone via tilting your device or normal joystick control, and adjust the joystick size how you like. This button on the left, when turned off, locks the yaw movement, but I find it only limits the drone's ability to move. It's best to keep it enabled. For some reason, these five buttons and icons do not work. If anyone in the comments can suggest the solution, that would be appreciated. If you haven't flown a drone before, the controls are fairly easy to master. Moving the left joystick up increases throttle, moving it left or right is the yaw and steers the drone either way, the right joystick handles pitch and roll to move the drone in any direction, forward, backward, left, or right. And the ESPFly is airborne. Do-do-do-do-do-do. This drone is a blast to build and fly, but where do you get the electronics know-how for projects like this? Elektor Magazine. Read it to get expert insights, hands-on projects, and deep dives into mastering Arduino, ESP32, and much more. And for a limited time, you can grab a one-year Elektor Green digital subscription at half the price. So don't miss out, hit the link below, and become a member. Now let's see if the drone passes my 50 meter range test, cause anything beyond that, you already don't see the darn thing. This clip is a bit sped up to save you time, and here it is already. Do you hear that? It just flew past the camera, which means it passed. You know its range is decent when you can fly it out of sight. Alright, let's see for how long it flies on the 250 milliamp hour LiPo battery. Three and a half minutes, still going strong. It's holding pretty stable, it's quite smooth. Still no battery warning at the back. Alright, now we're getting a little battery warning. I'm having to apply a little bit more throttle. Oh, that's it. Whoa, almost five and a half minutes. Impressive. If the battery warning LED is hard to notice, swap it out for a tiny active buzzer. This way you'll hear beeping when the battery is low and can land the drone in time. What makes flying it for a long time possible is its weight of 18 grams. And with the battery, it is airborne at 25 grams. While my mini Arduino FPV drone weighs 24 grams without and around 30 grams with a battery to give you a comparison with a past project of mine from 2024. The ESP-Fly is also two thirds the size of my Arduino drone. One is phone controlled, while the other requires you to build a dedicated transmitter. If you're interested in making a drone from modular electronics, feel free to watch my Arduino FPV drone build video after you finish watching this one. But for cost, performance, and ease of setting up, the ESP-Fly is a win in my book. What makes this ESP drone so powerful, aside from its lightweight design, is that each motor generates 17 grams of thrust with these three bladed propellers. That's a total of 68 grams of thrust against its 25 gram weight, giving it a 2.7 to 1 thrust to weight ratio. According to this chart, that makes it perform great even in heavy winds. So if you really want to get the most out of this drone, take it outside and let it rip. For you FPV fanatics, I thought how could this drone not have a camera? So I wanted to do you a favor and designed a second cover for the drone that can hold a WT07 3 gram micro FPV camera like on my Arduino drone. If you choose to install it, cut the green and yellow on-screen display wires short and twist them together to allow for video feed. Then simply connect the camera's power input wires to the battery connector on the bottom of the board. Once connected, mounted, and powered up, it's time to connect you to the drone's new eye. For my setup, I'm using a basic iFlight 5.8 GHz FPV headset. You'll want to bind the camera to your goggles by tuning into the matching band and channel with an auto search. And just like that, you've got a live first person view video feed. Now you can really dominate your living space. From my past tests, the camera packs a video transmission range of well over 100 meters without exceeding its limit yet. The quad with the camera feels a little heavier to fly and may stay in the air for about a minute less than without it, but it's still loads of fun. That was fun. So if you're ready to build the ESP-FLY drone, check out my full tutorial blog on Elektor Labs packed with more in-depth guidance. It's the step-by-step written guide I put together for you with extra tips to get your little drone off the ground. Scroll down to the description for the page link along with all the other resources you need to start building your fly. Thanks for watching and remember, if you can imagine it, you can make it. Till next time. Arrgh! Arrgh! Arrgh!