Skip to content

A Flight Controller board for a quadcopter based on YMFC Joop Brokking's code.

Notifications You must be signed in to change notification settings

jawher-Mansour/Atmega328-Flight-Controller

Repository files navigation

Atmega328-Flight-Controller

A Flight Controller board for a quadcopter based on YMFC Joop Brokking's code.

Board Animated GIF

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.

Broadly, this repository consists of:

  • 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

Board Specifications :

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.
PCB Rendred Top View PCB Rendred Bottom View
Top side of the PCB Bottom side of the PCB

Getting Started:

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


Fabrication

This board can be manufactured and assembled by JLCPCB. Check the fabrication folder for files related to manufacturing the board


How to setup and program 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

Useful ressources

Datatsheets

Credits


Note: This repository is reserved for the hardware part of this project, as well as the embedded software of the project.

About

A Flight Controller board for a quadcopter based on YMFC Joop Brokking's code.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages