A Flight Controller board for a quadcopter based on YMFC Joop Brokking's code.
This is the readme file of the Atmega328-Flight Controller project, which is my contribution to the OPEN SOURCE community. The board was developed by LAB619 Engineering & Consulting Services which is a tech company based in Tunisia that is specialized in custom machine fabrication and embedded solution development, the company is also specialized in developing IoT solutions (LoRa, GPRS, and WiFi), PCB and mechanical design. You can check the website for further information: LAB619 Engineering & Consulting Services
This board is an Atmega328 MCU-based flight controller for quadcopters that is easy to build and fun to fly. The board is compatible with Joop BROKKING YMFC-AL (Your Multi-copter Flight Controller -Auto Leveling). Auto leveling means that when you release the sticks the quadcopter levels itself.
- Hardware designs (developed using Altium).
- PDF for Schematics
- Bill of Materials Files
- Footprint Position File
- Gerber Files
- Software written using Arduino-IDE
📦Atmega328-Flight-Controller
┣ 📂Fabrication
┃ ┣ 📂Assembly
┃ ┗ 📂Gerber
┣ 📂Image
┣ 📂Altium Files
┣ 📂Software
┣ 📜.gitignore
┣ 📜README.md
┣ 📜fabrication and assembly drawings.pdf
┗ 📜Schematics.pdf
The board currently includes:
- MCU: Atmega328 with an I2C, UART, and SPI interfaces.
- IMU: MPU6050 which is a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die with an I2C interface and an interrupt pin.
- 4 PWM outputs to control the motors.
- 4 Timer input channels for the Inputs.
- Batterie voltage measurement system (voltage divider and Zener diode for protection).
- FTDI and ICSP interfaces for programming & debugging.
- LEDs for signaling.
Top side of the PCB | Bottom side of the PCB |
In order to program the board, it is necessary to use an AVR ICSP Programmer.
If you don't have an AVR ICSP you can use any Arduino board as a programmer as shown in this link
This board can be manufactured and assembled by JLCPCB. Check the fabrication folder for files related to manufacturing the board
Use an AVR ICSP programmer or any Arduino board as a programmer to connect to Atmega328-Flight-Controller
You need to connect AVR ICSP's 5V,MOSI,MISO,SCK,RESET,GND to Flight Controller board's 5V,MOSI,MISO,SCK,RESET,GND.
Further details can be found on Joop BroKking web page link or you can follow this amazing video by Joop Youtube Video
Programming Pins | AVR ICSP programmer |
-
PCB design and hardware engineering : Jawher MANSOUR Web email: jawhermansour@outlook.com
-
Software design : Joop Brokking Web
Note: This repository is reserved for the hardware part of this project, as well as the embedded software of the project.