I’m working on a project to develop an ESP32-based flight controller, focused on being affordable, hackable, and a solid development platform.
This is part of the Highway to Hardware initiative, and I want it to be open-source, so we can build it together as a community.
I’m still learning – I don’t have a ton of experience designing flight controllers or PCBs yet – but I’m motivated and slowly figuring things out!
Right now, I’m at the component selection stage and I’d love to hear your thoughts. Once I finish the schematic, I’ll post an update and ask for suggestions on how to improve.
Design Goals & Ideas
ESP32 or ESP32-S3 module – simpler than using bare chips
Inspired by boards like SpeedyBee F405 Wing APP or Mateksys F405 Wing
Single-board design with 1x BEC
Modular – plan to support external ELRS, GPS, and possibly other modules via headers
Aiming for a “dev board meets flight controller” hybrid
Things I’d love input on:
MCU
ESP32 vs ESP32-S3?
Which one is better suited for this? Especially considering performance and future proofness?
IMU/INS selection:
We’d definitely need Gyroscope + Accelerometer
Not sure if a Magnetometer is needed (GPS modules often include one)
Thinking of the ICM20XXX family over older combo boards like GY-90 as they have more chips
Also open to Barometer suggestions
UARTs:
Plan to use:
1 for telemetry (GCS)
2 for peripherals (GPS, receiver, etc.)
Is SoftwareSerial implemented or can it be used?
Receiver input:
ELRS header support like on the SB F405 WING
Should I also add an inverted SBUS input for compatibility?
USB-C connector:
Should the USB-C be onboard, like on most ESP32 dev boards?
Or offboard, like on SpeedyBee-style boards with a connector on a cable?
Or maybe a hybrid approach – onboard USB-C by default, but with solder pads available for hacking in an off-board connector if needed?
Power monitoring:
Voltage sensing via resistor divider is easy – will add
Current sensing is more complex and costly – should I include it?
GPIO breakout:
How many exposed GPIOs?
One idea I had is that we can make modules like ELRS, GPS and etc. - Which form factor either ESP devboard or a custom one
ESP devboard form factor would be nice as we can use the modules for other projects
Form factor/layout style:
I’m not fully decided yet, but I’ll aim to make the board as compact as reasonably possible.
Planning to keep the shape rectangular for easier mounting and compatibility.
Follow the Project
You can track progress, view schematics, and join the discussion on GitHub: Open-ESPilot Repository
I’ll be posting regular updates there, including design files, dev notes, and future testing results. Feel free to open issues or share your ideas!
If you’re into ESP32 dev or just excited about this sort of project, I’d love to hear from you!
If all goes to plan, I hope to have a prototype in hand within a month
And if things go well, I’d love to share a few boards with interested testers.
I’m not a native English speaker, so I used AI (ChatGPT) to help me rephrase my original idea more clearly and friendly. The raw version is in my JOURNAL.md if you’re curious.
Thanks for reading and helping shape this little adventure!
Hi @Tomas_Kuchta, I’d recommend getting a M5StampFly and working through the discussion and articles the devs have written on this ESP32S3 quadcopter. It will give you a great idea of what works and what doesn’t when running ArduPilot on this hardware. I’d imagine it will be a lot easier to make small steps away from the configuration on this board (that is working), than starting from an arbitrary hardware configuration and trying to get it running.
Hi, You are absolutely right that I should take small steps. I think that I can pull it off.
I have thought about the M5StampFly which I would like to buy someday. Funding for this project is from HackClub.
I have some experience in Ardupilot and ESP32 stuff.
In 2023 I have built my first rover using an ESP32 and GY-90 then in 2024 I have upgraded the platform and did some tuning. And in 2025 I have tried to build a simple quad that run on brushed motors that didn’t do well. Recently I bought a Speedy Bee F405 WING FC so I can learn Ardupilot first and then came the Idea to build this project as I know I’m not ending here.
This project rose from the challenges of building my own ESP32 based FC. The main moto of this project is to be hacker friendly, kinda user friendly, inexpensiveness and a dev reference platform. I love the idea of the low price that this FC can offer.
The S3 has a lot more going for it these days than the original/classic esp32, including built in debugger capabilities, so I’d absolutely use a S3 of some sort if i was doing it.
I’d probably pick one of the variant/s that has ufl antenna-connector, rather than a built-in antenna, as that helps when it comes time to putting the flight-controller in a vehicle with being able to get the antenna further away from the cpu.
IMU/baro choice..? SPI is essential for flying vehicles as i2c imus are too slow. If you’re going for as-cheap-as-possible, then a GY-91 or similar is cheap, and has most of what u need, and its $7-$12ish . “MPU-9250 and BMP280 chips, offering 10 degrees of freedom (10-DoF) for motion and environmental sensing. The MPU-9250 includes a 3-axis gyroscope, 3-axis accelerometer, and 3-axis magnetometer, while the BMP280 provides barometric pressure and temperature sensing”
If you want to make it electrically equivalent to a GY-91 but layout your own pcb traces and use a mpu-9250 and bmp280 that would be a pretty low risk approach, especially if you build a perfboard style design to prove the wiring was right before committing to the pcb.
Ardu obv also supports all sort of other sensors, etc eg Invensense , eg ICM20689, Bosch eg BMI088, MS5611 ( by TE) , and IST8310(magnetometer) and all sorts of other ones. Are you after Easy-to-Integrate? Easy-to-Buy? Cheap? High-Performance.? they’ve all got tradeoffs.
RC-in.? do i want an inverted input,.? Is cost or flexability your main goal? if u want flexible, include the extra circuitry.
[15:58]
GPIO breakout.? I think the classic esp32, once u connect up all the serial/s and sensors and stuff struggled with having more than 6 RC-OUT pins available in my “classic” design, as i traded-off this number ( ie accepted we couldnt fly an Octa-Copter with it ) , in order to maximise the other stuff I could connect. If you dont need to be able to measure current and voltage of your battery, then u dont need to assign 2x analoig input/s to these. that kinda thing.
Form Factor.? Personally I’d probaby do it as a 30x30 style PCB ( ie it has 4x holes at 30.5mmx30.5mm centres )to suit the 5" FPV market, or if your pcbdesign skills are really good the 20x20 market… OR u could skip the FPV market entirely, and make something pixhawk1 or cube styled that comes with all the connectors already soldered on and a wiring loom of all the bits u need all ready to use (ie “no soldering” ) .
Thank for our reply @DavidBuzz,
I think that the main goal of this project should be Inexpensiveness, availability and hackability(flexibility).
At least for the first board.
Then we can go into the 30x30 FC territory. Which would be more expensive and less hackable.
So lets start with the form factor. I really like the idea of the 30x30 FC but we should start with something easier and go in steps towards this design. So I’m thinking it should be the form factor of the Wing FCs but slightly bigger something like 4x6cm. Optional connector and on the other side solder pads.
What is a GY-90?
I have an interest in making a mission specific mower rover controller. It just needs a processor, sd card slot, IMU and some GPIO for relays and serial ports. Bonus would be if I could include telemetry and RTK GPS all one board.
If there is an existing ESP32 flight controller to use as a basis that would help. Presently looking at the STM32H743 as that is what I have used in the past with excellent results.