YMFC Flight Controller and Mini Drone

by Shao's Gadget

An open source flight controller and mini drone that can be programmed with Arduino IDE

$2,285 raised

of $1,500 goal

152% Funded! Order Below

Product Choices

$55

YMFC Flight Controller and Mini Drone Board

A YMFC flight controller and mini drone board.


$12

RX2A Receiver for YMFC

An RX2A receiver to pairs the YMFC Flight Controller with many standard radio controllers. This item is useful if you want to control your drone with a wireless controller.

Details

Recent Updates


The YMFC Flight Controller and Mini Drone is a simple, affordable, Arduino-programmable, open source circuit board that can be used as a mini drone unto itself, or as a flight controller for a larger (F450 size) drone. Its simplicity in design and control and its open source nature make YMFC perfect for educational projects and drone enthusiasts.

Designed for Ease-of-use

This board is perfect for anyone who is interested in understanding flight controller code instead of using an off-the-shelf, proprietary module that you can’t fully know or control. The flight controller code for this board is simpler than other common open source flight controller projects, being based on the ubiquitous Arduino IDE, so very little mathematical or coding skills are required. Just about anyone can learn how to control their YMFC done. And because the board can be its own mini drone, beginners can dive in without much additional expertise or hardware.

A Safe Mini Drone

YMFC is also a very safe starter drone when used in the mini drone configuration. As a mini drone, it’s very lightweight at around 40 g including motors and a battery. And there is far less torque when the drone uses small brushed motors than if a large drone were configured with more powerful and bulky brushless motors. Having insight into the actual open source code also allows greater control over safety.

Inspired By Greatness

This project is based on a famous YouTube tutorial series by Joop Brokking that walk the viewer through building the YMFC quadcopter flight controller. The term YMFC was coined by Joop and stands for Your Multicopter Flight Controller.

You can find more information about the original YMFC project on Joop’s YouTube channel and website. You can also learn more about the project history on this page. This project was undertaken with Joop’s permission.

Features & Specifications

  • Programming: via Arduino IDE
  • Code size: around 700 lines
  • Weight: 20 g (excluding battery, motors, propellers) or 40 g (including standard battery and brushed motors)
  • Size: 10 cm x 10 cm
  • Function: works both as a mini drone or a flight controller board for F450 (with some small changes in code)

Optional RX2A Receiver

If you intend to control your drone with a wireless controller, we suggest you include an RX2A receiver with your drone. This plugs right into the YMFC board, and pairs it with many standard radio controllers.

Flight Controller Comparison

NameYMFC-32 Flip MWCHobbypower APM
Lines of code700 (flight controller) 16,000 (v2.4)540,000 (v4.0)
MCUSTM32F103C8T6 ATmega2560 or ATmega328PATmega2560 (v2.8)
Dimensions10 x 10 cm 5 x 5 cm8.3 x 4.4 cm (v2.8)
Weight20g 15g37g
Price$55 $20$30 (v2.8)
Open sourceSchematics, code, PCB files Schematics, codeSchematics, code

Mini Drone Comparison

NameYMFC-32 Crazepony ICrazyflie
Lines of code700 (flight controller) 56,000 (v5.3)270,000 (v2.1)
MCUSTM32F103C8T6 STM32F103T8U6STM32F405
Dimensions10 x 10 cm 10 x 10 cm9.2 x 9.2 cm
Weight (incl. battery, motors)40 g 46 g27 g
Price$67 $90$195
Open sourceSchematics, code, PCB files Schematics, codeSchematics, code, PCB files

Open Source Documentation

Current documentation can be found in the GitHub repo, and we welcome questions and interaction through the issues there. The PCB design files will be published after the campaign succeeds.

You can also find video tutorials on our YouTube channel.

YMFC Quadcopter History

In his videos, Joop introduces the basic principles of flight controllers alongside his original code.

For example, some terms that are commonly incorporated in other flight controllers are quaternion and double-loop PID, which look intimidating just by their names. Joop, however, uses the simplest algorithm possible. Very little knowledge of mathematics or jargon is required, and it still works in a robust manner. Inspired by Joop, in our code we have used the same PID value to control both mini drones and larger F450 quadcopters, which gives drone hobbyists an idea how robust the algorithm is.

Joop also talks about how to write low level code according to the datasheets of the MCU and sensors. Instead of directly copying generic driver code from elsewhere, Joop analyzed the related sections of datasheet and showed people why and how to specify the registers to make chips work as wished.

While this is all very inspiring, enthusiasts of Joop’s original YMFC quadcopter flight controller build know that soldering the hardware components on a protoboard takes an immense amount of time, up to two months or more in our experience. Also, Joop’s tutorial is meant for large quadcopters, which are dangerous to fly for beginners. Because of all this, we were inspired to bring the YMFC Flight Controller and Mini Drone PCB, and our own code, to life.


Credits

Shao's Gadget

I am a developer who benefits from the open source world a lot. And want to make my own contribution. My main focus is on SDR and quadcopters, but also interests on robotics and AI.


Zhuyuan Shao

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: