
AAquad PCB
Fberbari/AAquad
(OUTDATED, see AAQuad-Evolution) a baremetal implementation of a multirotor flight computer.

(OUTDATED, see AAQuad-Evolution) a baremetal implementation of a multirotor flight computer.
AAquad PCB is an open-source printed circuit board by Fberbari, from the Fberbari/AAquad repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 55.6 × 48.8 mm with 38 parts on 29 nets, routed with 364 tracks and 68 vias.
It is built around the ATMEGA328-AU, L3GD20H and BSS138, with the SPX1117M3-L-5-0/TR-TD among its other parts. Its parts include 11 resistors, 9 capacitors, 3 ICs, 2 diodes and 2 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
This is an implementation of a quadcopter filght computer running baremetal on an atmega 328pb chip that takes input a standard hobby receiver and outputs pwm to esc's.
These directories contain the full firmware and the pcb design + gerber files.
As of right now, the system produces desirable results and has passed some basic functionality tests. I am currently waiting on a mechanical engineering student to finish designing the frame of the aircraft before further testing.
WORKING PRINCIPLE
As of right now, the system reads input from the receiver via an interrupt based (asynchronous approach). This, because of the 50Hz pwm encoding that the receiver emits is by far the slowest process.
Apart from this step, the rest of the processis synchronous and the loop goesas follows:
1. The processor gathers data from the 2 on board sensors (accelerometer and gyroscope) via I2C.
2. Using a modified version of the Kallman filter, the processor uses both pieces of data to determine the absolute position of the aircraft (with reference to gravity)
3. A function gathers all the newest available data from the pilot and computes the pilots intention. (How should the aircraft bank and pitch and how strong should motor power be)
4. A PID algorythim then uses the processed sensor data aswell, the processed pilot data and the previous cycle's data to compute 4 numbers that represent the percentage of full power that each motor should run at to best achieve the pilot's wishes
5. Those numbers are encodedinto values that the pwm chip can understand and sent to it via I2C.
6. The process repeatsPURPOSE
The purose of this project was to familiarize myself with the basics of avr architecture, firmware design flow, communications between chips (I2C), pcb design flow etc.
It was also a way to enter the world of embedded design in aviation. I (Anthony Berbari) AM SOLELY RESPONSIBLE FOR ALL THE FIRMWARE AND HARDWARE DESIGN DONE ON THIS PROJECT.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 10K | Resistors_SMD:R_0805_HandSoldering | R1, R2, R5, R6, R7, R8, R9, R10, R11 |
| 8 | Conn_01x03 | Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm | aileron1, elevator1, motor1, motor2, motor3, motor4, rudder1, throttle1 |
| 4 | 0.1uF | Capacitors_SMD:C_0805_HandSoldering | C1, C3, C6, C7 |
| 3 | 10uF | Capacitors_SMD:C_0805_HandSoldering | C2, C4, C8 |
| 2 | 300 | Resistors_SMD:R_0805_HandSoldering | R3, R4 |
| 2 | BSS138 | TO_SOT_Packages_SMD:SOT-23 | Q1, Q2 |
| 1 | 10nF | Capacitors_SMD:C_0805_HandSoldering | C9 |
| 1 | 10u | Capacitors_SMD:C_0805_HandSoldering | C5 |
| 1 | ATMEGA328-AU | Housings_QFP:TQFP-32_7x7mm_Pitch0.8mm | U1 |
| 1 | L3GD20H | footprints:L3gd20h | IC1 |
| 1 | LIS3DHTR | footprints:Lis3dh | U2 |
| 1 | PCA9685PW_112 | digikey-footprints:TSSOP-28_W4.40mm | PWMdriver1 |
| 1 | SPX1117M3-L-5-0_TR | SamacSys_Parts:SOT230P700X170-4N | PS1 |
| 1 | green | LEDs:LED_0805_HandSoldering | D1 |
| 1 | programmer | Pin_Headers:Pin_Header_Straight_2x03_Pitch2.54mm | J1 |
| 1 | red | LEDs:LED_0805_HandSoldering | D2 |

Fberbari/AAquad
(OUTDATED, see AAQuad-Evolution) a baremetal implementation of a multirotor flight computer.

Fberbari/AAQuad-Evolution
An original, "from scratch" quadcopter flight computer that was my favorite pet project for some time. Used it to learn all about flight and embedded development.


SpaceTeam/STS1_EDU_Hardware
Contains all Hardware Informations from EDU 2.6 onwards


SpaceTeam/EDU_RASPI_HATS
This Repo contains the EDU Raspberry Pi hats from STS1.

yagamy4680/drone-study
AUAV-OpenSource/FMUv4-PixRacer is the open hardware design of PixHawk FMUv4. It uses STM32F427 and MPU6000. (github)

lachlanA/eagle-to-kicad
Eagle SCH/LIB to KiCad SCH/LIB ULP conversion script

It measures 55.6 × 48.8 mm and has 2 copper layers, 1.6 mm thick.
38 parts, built around the ATMEGA328-AU, L3GD20H, BSS138 and SPX1117M3-L-5-0/TR-TD. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Fberbari/AAquad repository on GitHub, at the commit this page was made from: the board is AAquad_PCB_V2/AAquad_PCB.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).