![](https://thingpulse.com/wp-content/uploads/2024/12/Drone3D.png)
In this blog series, I’ll take you through the journey of turning an idea into a finished product at ThingPulse. Along the way, I’ll share not just the successes but also the mistakes I’ve made—because both can provide valuable lessons for anyone embarking on similar projects.
The Inspiration: A WiFi-Controlled Drone
The idea for this product is a DIY kit for building a WiFi-controlled drone. The inspiration came from a Hackaday article. The first step in product development, for me, is always evaluating whether I can handle the project using my current skills and resources.
The schematic for the drone in the Hackaday article seemed straightforward: an ESP32 module with UART, an LDO for regulating 3.3V for the ESP32, a LiPo charging circuit, and, most importantly, MOSFETs to control the motors using pulse-width modulation (PWM).
![](https://thingpulse.com/wp-content/uploads/2024/12/ESP32Drone-1024x910.webp)
Why MOSFETs Matter
The MOSFETs play a critical role because the GPIO pins of the ESP32 cannot deliver the current required by the drone’s motors. The MOSFETs amplify the ESP32’s relatively weak control signals, enabling the motors to function correctly.
![blank](https://thingpulse.com/wp-content/plugins/wp-fastest-cache-premium/pro/images/blank.gif)
Tracing the Origins of the Idea
During my research, I discovered that my source of inspiration had itself borrowed the concept—from Espressif’s ESP-Drone. Espressif, in turn, seems to have drawn inspiration from the CrazyFlie drone by BitCraze.
This raised a key question: Are there already too many similar drones on the market? At this stage, I believed I could compete with the pricing of existing options. Whether this assumption holds true will only become evident later in the process.
Design Features Worth Adapting
One aspect of the ESP-Drone and CrazyFlie that I admire is their clever PCB layout: the drone’s legs are part of the same board. During assembly, these can be snapped off and soldered at right angles to the main PCB. I initially assumed that the motors could simply slot into the resulting openings and stay in place—a misconception that I would later need to correct.
![blank](https://thingpulse.com/wp-content/plugins/wp-fastest-cache-premium/pro/images/blank.gif)
Upgrades for the ThingPulse Drone
I decided to make some changes to the ESP-Drone design. The ThingPulse drone will feature an ESP32-S3, which has more available GPIO pins. This could prove invaluable for adding sensors or a camera in the future. Additionally, I plan to use the same LiPo fuel gauge chip as in our ePulse Feather C6. These chips provide precise battery-level monitoring.
I borrowed circuit blocks for the LiPo charger, LDO, and USB data lines from other ThingPulse projects. The MOSFET design, however, was adapted from the ESP-Drone.
Designing the Circuit and PCB
I used EasyEDA to design the circuit and PCB. I often rely on this web-based tool due to its excellent integration with JLCPCB, the manufacturer we use for ThingPulse boards. At JLCPCB, our PCBs are fabricated and assembled with the required components.
To incorporate the PCB shape of the ESP-Drone, I converted its Gerber file into a DXF vector graphic using an online tool. This format could then be imported into EasyEDA.
Component Placement Made Easier
The next step was placing all the components on the PCB and connecting them. EasyEDA’s “Cross Probe and Place” tool proved invaluable for this task. By selecting components of the same assembly group in the schematic view, I could use the tool to automatically switch to the PCB view, where those components were highlighted. This allowed me to move the entire assembly group to its appropriate location efficiently.
Routing Traces: A Satisfying Puzzle
Routing the traces—connecting the components on the PCB—requires patience but is also a rewarding process. It feels like solving a puzzle without overtaxing your brain. Rat-lines (guidelines that connect unconnected endpoints) help keep the end goal of each trace in sight.
Once all traces were routed, I used EasyEDA’s DRC (Design Rule Check) tool to ensure that all design rules were followed—for example, ensuring no vias were too close to a copper trace and no unintended connections existed between different traces.
![blank](https://thingpulse.com/wp-content/plugins/wp-fastest-cache-premium/pro/images/blank.gif)
Preparing for Manufacturing
After completing the design, I exported the Gerber file, the bill of materials (BOM), and the pick-and-place file. These were then uploaded to JLCPCB. I typically order five PCBs, as the minimum quantity is five. Of these, two to five can be assembled. Having extra prototypes is useful for correcting errors by hand later if needed. The cost difference between assembling two versus five boards is negligible.
The Wait Begins
With everything ordered, the next step is to wait—about 10 days—for the PCBs to arrive.
Stay tuned for the next part of this journey, where I’ll share insights from the assembly process, testing the prototypes, and refining the design!
Don’t Miss Part 2
Don’t miss the next part and subscribe to the ThingPulse Newsletter: