100%
open-espilot Open-ESPilot-MCU view
Description

Imported from GitHub: Tomas-Kuchta-FPV/Open-ESPilot · commit 0786069 · license CERN-OHL-W-2.0

Description

An open-source project to develop a custom ESP32-based flight controller designed primarily for use with ArduPilot. Focused on affordability, flexibility, and ease of integration with various robotic and UAV platforms.

README

Open-ESPilot

This is a community-driven hardware project focused on creating an open and accessible Flight Controller (FC).
The main focus is on being low-cost, availability, hackability and openness!
That's why I've started this project to make an open-source and low-cost FC with the community.

The target firmware is ArduPilot, which is a powerful open-source autopilot system.

Core Design Ideas

  • Dev board meets flight controller hybrid
  • Keep it budget-friendly
  • Readily available components
  • Hackability so you can hack on your features
  • ❤️ Designed with care by and for the community

What are the goals

The main one is a reference platform for devs and hackers. Then we can move to a product for the wider public.

With the focus being on Hackability and Openness, there are endless possibilities for creativity!
Here are a few ideas:

  • Prototyping and experimentation
  • A low-cost alternative for those priced out of commercial FCs
  • Teaching control theory and autonomous systems in schools

Why did I make it

I have a lot of experience with FPV drones running Betaflight.

Then I started playing with the ESP32-based ArduPilot for almost three years. All of them were for a competition called Robotem Rovne.

  • The first one is an autonomous rover which was breadboarded together. As with any other breadboard project, the wires were loose, they didn't make contact, and they were falling off.
  • Then I made a second rover with an FC soldered on a proto board. Which worked wonderfully!
  • Then I tried to make a PCB with a brushed motor controller. Not going to talk about this one. Didn't go as planned. :(
  • After that, I've bought a SpeedyBee f405 WING FC and mounted it to an RC car. This is my Ardupilot learning platform.

And now we are here. ...
That was when I had the idea of making an ESP32 Flight Controller.

Future development

This is the first FC I made with the help of the community, so huge thanks to everyone. ♥️

Ideas for future

  • modular system (eg, ELRS, GPS modules)
  • 30x30 FC for FPV drones. That's harder as there are plenty of great cheap FCs

Project Status

I have the PCB made, and now I need to order everything and test it!

PCBRenderFinished PCB
PCB Screenshot FrontPCB RenderFinished PCB

The Plan

  • Basic schematic and PCB layout
  • Selection of components is decided in Issues
  • Compare BOM cost to commercial FCs - going to figure it out when I have time.
  • Complete code, documentation, and build guide

Design Phases

  1. Planning & goal setting
  2. Schematic design
    • Start with core ESP32 + power
    • Add sensors and outputs
    • Evaluate BOM & gather feedback
  3. Community feedback loop
  4. PCB layout
  5. Prototype ordering
  6. …And hopefully it works on the first try! 🤞

Firmware

We are now focusing on ArduPilot ESP32 port. They are making incredible work, and the project wouldn't exist without their hard work.
I won't be able to write the code by myself, so huge props to the contributors! That's why I'm focusing on the HW.
There are also possibilities for you to write your own code.

Contributing

We would love to hear feedback. We are open to everything, including issues, ideas and suggestions.
That's why this project is Open Source.

BOM

CategoryQtyPrice (USD)DescriptionLink
PCB component10.9TMB12A05https://lcsc.com/product-detail/Buzzers_Huaneng-TMB12A05_C96093.html
PCB component140.46100nFhttps://lcsc.com/product-detail/Multilayer-Ceramic-Capacitors-MLCC-SMD-SMT_YAGEO-CC0805KRX7R9BB104_C49678.html
PCB component70.1122uFhttps://lcsc.com/product-detail/Multilayer-Ceramic-Capacitors-MLCC-SMD-SMT_Samsung-Electro-Mechanics-CL21A226MQQNNNE_C5674.html
PCB component10.531000uFhttps://lcsc.com/product-detail/Aluminum-Electrolytic-Capacitors-SMD_ROQANG-VT1A102M0810_C311227.html
PCB component10.571000uF (Leaded)https://lcsc.com/product-detail/Aluminum-Electrolytic-Capacitors-Leaded_AISHI-ERR1VM102G20OT_C398835.html
PCB component10.57SS34https://lcsc.com/product-detail/Schottky-Diodes_MDD-Microdiode-Semiconductor-SS34_C8678.html
PCB component20.98PDZVTR5.1Bhttps://lcsc.com/product-detail/Zener-Diodes_ROHM-PDZVTR5-1B_C253499.html
PCB component10.84B5819Whttps://lcsc.com/product-detail/Schottky-Diodes_MDD-Microdiode-Semiconductor-B5819W_C64885.html
PCB component10.49WS2812B LEDhttps://lcsc.com/product-detail/RGB-LEDs-Built-in-IC_XINGLIGHT-XL-5050RGBC-WS2812B_C2843785.html
PCB component10.22Ferrite Beadhttps://lcsc.com/product-detail/Ferrite-Beads_TDK-MPZ2012S101AT000_C15957.html
PCB component10.87USB-C Receptaclehttps://lcsc.com/product-detail/USB-Connectors_Korean-Hroparts-Elec-TYPE-C-31-M-12_C165948.html
PCB component1-MP1584 module (clone)https://www.aliexpress.com/item/1005005870392716.html
PCB component1-GY-91https://www.aliexpress.com/item/32652866365.html
PCB component10.6AO3401Ahttps://lcsc.com/product-detail/MOSFETs_AOS-AO3401A_C15127.html
PCB component20.45BC847https://lcsc.com/product-detail/Bipolar-BJT_Nexperia-BC847B-215_C57668.html
PCB component20.215.1khttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_YAGEO-RC0805FR-075K1L_C84375.html
PCB component20.1910khttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_YAGEO-RC0805FR-0710KL_C84376.html
PCB component10.211khttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_YAGEO-RC0805FR-075K1L_C84375.html
PCB component50.1910khttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_YAGEO-RC0805FR-0710KL_C84376.html
PCB component20.4910Rhttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_YAGEO-RC0805FR-0710RL_C96347.html
PCB component10.410.5mΩhttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_Viking-LR12FTDR0M50_C37635712.html
PCB component40.191khttps://lcsc.com/product-detail/Chip-Resistor-Surface-Mount_YAGEO-RC0805FR-071KL_C95781.html
PCB component20.63Push Buttonhttps://lcsc.com/product-detail/Tactile-Switches_ALPSALPINE-SKRKAEE020_C115357.html
PCB component15.14ESP32-S3-WROOM-1-N8https://lcsc.com/product-detail/WiFi-Modules_ESPRESSIF-ESP32-S3-WROOM-1-N8_C2913198.html
PCB component10.87AMS1117-3.3https://lcsc.com/product-detail/Voltage-Regulators-Linear-Low-Drop-Out-LDO-Regulators_Advanced-Monolithic-Systems-AMS1117-3-3_C6186.html
PCB component10.41AMS1117-3.3 (Alt)https://lcsc.com/product-detail/Voltage-Regulators-Linear-Low-Drop-Out-LDO-Regulators_Slkor-SLKORMICRO-Elec-AMS1117-3-3_C880752.html
PCB component12.84INA219https://lcsc.com/product-detail/Current-Sense-Amplifiers_TI-INA219AID_C1574856.html
PCB component11.32Micro SD Card Slothttps://lcsc.com/product-detail/SD-Card-Memory-Card-Connector_HRS-DM3AT-SF-PEJM5_C114218.html
PCB component500.46Pin Header (5x10)https://lcsc.com/product-detail/Pin-Headers_BOOMELE-Boom-Precision-Elec-2-54-1-10P_C57369.html
PCB component-13Shipping-
PCB-10.72PCB costhttps://cart.jlcpcb.com/quote?orderType=1&homeUploadNum=4c39875b107d460986bfa4ef1bf68f70&businessType=example&fileName=Open-ESPilot_50.6x71.1mm_for_JLCPCB.zip
TOTAL-50.97--

Built With

  • ESP32 – the core MCU
  • KiCad – for PCB design
  • ArduPilot – the autopilot software we're building for
  • ❤️ Open source tools and community support
  • ... and Love ❤️

License

Hardware: CERN-OHL-W

Firmware: Ardupilot

Thanks

Many thanks to the amazing people who make Hack Club possible. Thanks to Hack Club for inspiring so many people. I don't know the numbers, but maybe around thousands.
Most of them are probably going to get a career from it. Love your work! ❤️

And big thanks to the ArduPilot community for keeping robotics and autonomy Open and hackable.

Comments
Sign in to comment

No comments yet. Be the first to ask about this board.