This ESP32-S3 Flight Controller Is Ready for Takeoff

The Engineer built a modular ESP32-S3 flight controller with motion sensing, Wi-Fi, and expansion ports for DIY RC projects.

Nick Bild
2 seconds ago β€’ Drones
Testing the flight controller in simulation (πŸ“·: The Engineer)

Why build a new flight controller for every RC project when you could design one that works with just about anything? That was the thinking behind a project by a maker known as The Engineer, who developed a custom ESP32-based controller that can be expanded with additional sensors and communication modules. Inspired by the popular Pixhawk flight controllers, the design is meant to eliminate the messy wiring and piles of modules seen in most DIY RC builds.

The controller is built around an Espressif ESP32-S3 microcontroller, which offers plenty of processing power, built-in Wi-Fi and Bluetooth connectivity, and loads of GPIO pins. An onboard inertial measurement unit (IMU), consisting of an accelerometer and gyroscope, communicates with the microcontroller over SPI to provide motion data. This allows the controller to track its movement and orientation through three-dimensional space.

To keep everything running smoothly, The Engineer included two independent 3.3 V voltage regulators. One powers the ESP32-S3 and supporting electronics, while the other supplies the IMU to help isolate it from electrical noise. A 5 V power rail can be supplied through either USB-C or a dedicated external connector.

Expansion is handled through several JST-GH connectors, following the conventions used by Pixhawk hardware. These provide access to UART, I2C, and SPI interfaces, making it easy to connect additional sensors and modules without complicated wiring. Each connector is also clearly labeled with its corresponding GPIO pins.

The Engineer designed the schematic and PCB in KiCad, placing components on both sides of the board to keep the layout compact. After completing the design, the maker ordered custom PCBs and solder paste stencils from a popular manufacturer. Assembly involved applying solder paste, positioning the surface-mount components by hand, and reflowing the solder using a hot plate. The plastic JST connectors were soldered separately to avoid heat damage.

Once assembled, the board was put through a series of electrical checks before being connected to a computer. The Engineer successfully flashed MicroPython onto the ESP32-S3 and verified that the IMU was reporting accelerometer and gyroscope readings. A damaged USB-C connector briefly interrupted testing, but a backup serial connection allowed programming to continue using a CP2102 USB-to-serial adapter.

Next, The Engineer built a React application that displays 3D models of an airplane and drone. The ESP32-S3 connects to a local Wi-Fi network and streams orientation data over WebSockets, causing the virtual aircraft to move in real time as the physical controller is tilted and rotated.

While the controller hasn't been used to pilot an aircraft just yet, the hardware is functional and the initial tests have been successful. The Engineer plans to expand its capabilities with additional sensors, GPS, and LoRa communication modules in future updates.

Nick Bild
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Comments

Please log in or sign up to comment.

Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles