

Openuav
An open source unmanned aerial vehicle
- Size
- 36 × 36 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 80
- Nets
- 62
- Pads
- 257
- Tracks, vias
- 435, 140
- Pours
- 18
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 8 Apr 2023
- Updated
- 17 Mar 2024
Overview
Openuav is an open-source printed circuit board by catphish, from the catphish/openuav repository on GitHub, published under the MIT licence. It is a 4-layer board of 36 × 36 mm with 80 parts on 62 nets, routed with 435 tracks and 140 vias.
It is built around the LPS22HH, W25N01GVZEIG and TLV75733PDBV, with the ICM-42688-P, TPS54302 and PMEG2020AEA among its other parts. Its parts include 26 capacitors, 26 connectors, 12 resistors, 7 ICs and 3 diodes. It belongs with the STM32 boards of this library.
Main components
6LPS22HH
HLGA-10(2x2)-40℃~+85℃ 0.025hpa 0.5hpa 1.7V~3.6V 26Kpa~1.26bar 900nA I2C、SPI On-chip temperature compensation、Integrated ADC and digital interface、On-chip calibration and non-volatile storage、Integrated signal amplifier、On-chip temperature output HLGA-10(2x2) Pressure Sensors ROHSSTMicroelectronicsPressure SensorsW25N01GVZEIG
WSON-8-EP(6x8)-40℃~+85℃ 10 Years 100,000 cycles 104MHz 10uA 1Gbit 2.7V~3.6V 2ms 700us SPI WSON-8-EP(6x8) NAND FLASH ROHSWinbond ElecNAND FLASHTLV75733PDBV
SOT-23-5-40℃~+125℃@(Tj) 1 1A 3.3V 40uA 46dB@(100kHz) 5.5V 650mV@(1A) 71.5uVrms Fixed Positive Under Voltage Lockout、Over Current Protection、Over Temperature Protection、Soft Start SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsICM-42688-P
LGA-14(2.5x3)-40℃~+85℃ 1.71V~3.6V 16bit 2KB 7.5uA IMU (accelerometer + gyroscope) SPI、I2C X,Y,Z X,Y,Z ±16g ±2000dps Motion Event Detection, Synchronization, Timestamp Support LGA-14(2.5x3) Accelerometers ROHSTDK InvenSenseAccelerometersTPS54302
UncategorisedTexas InstrumentsPMEG2020AEA
SOD-3231 Independent 200uA@20V 20V 2A 525mV@2A 9A SOD-323 Schottky Diodes ROHSNexperiaSchottky Diodes
README
README.mdOpenUAV
OpenUAV is an open source flight controller for multirotors with a focus on FPV. It is currently in active development.
Features
- ACRO and ANGLE flight modes
- DSHOT
- ELRS
- Blackbox flight recorder
- USB configuration tool
- Canvas OSD
Roadmap
- Tidy up and comment all current code
- USB configuration tool
- More OSD options
Dependencies
ArchLinux-based distributions
sudo pacman -Sy arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-newlib \
dfu-util \
stlinkConfigurator
The USB configurator can be used to configure the quad, and also to download blackbox logs.
Configuration
You can view the current configuration by running configurator get.
The commands to set configuration are a little cryptic. Use command configurator set x y z, where x is the
categry number, y is the specific entry number, and z is the value to set. Please refer to the following file
for the category and entry numbers: https://github.com/catphish/openuav/blob/master/configurator/usb.h
Motor configuration
The motor configuration is also not very intuitive, but works as follows. First select "props in" configurator set 3 5 0
or "props out" configurator set 3 5 1.
Next, map the motor outputs using the command: configurator set 3 x y, where x is the motor output pin (1-4), and y is
a corner of the quad according to the following table:
0: no output
1: rear left
2: front right
3: front left
4: rear right- NOTE: Due to the way air mode currently works, motors set to zero outout will still spin at minimum RPM. This needs fixing.
Black Box
Data will be recorded to the black box any time the quad is armed and will continue until the memory
is full (approx 10 minutes flight time). You can erase the black box with configurator erase.
You can download the blackbox data with configurator read > data.csv. The CSV can be processed
with any tool of your choosing but I find kst2 to be the best.
Basic Tuning Guide
Tuning should be done in acro mode at a rate you are comfortable with. I use a rate of 1200 (840 dps) for this process.
Part 1 - P term
Set the I and D terms to zero so that they don't interfere. Start with a low value (P=50). Increase P until the quad is sufficiently responsive to stick inputs. You can expect a little bounceback. In the 5 inch development quad, the P value is 120.
Part 2 - D term
Increase the D term only as much as is required to prevent the bounceback. In the 5 inch development quad, the D value is 150.
Part 3 - I term
Increase the I term only as much as is required to prevent drift. You may find that this needs to be increased more when flying in strong wind. Higher values will make the quad more stable but will introduce some bouncenback when performing flips. In the 5 inch development quad, the I value is 50.
Part 4 - Z rates
There is currently no specific process for tuning the Z rates. Values of 200 and 200 for P and I seem to work in most cases. If there is yaw drift then it may be necessary to increase one or the other. Increase the I term in the case of slow drift or the P term in the case of sudden yaw disruption.
Tuning Examples
TBS Source One V5 5" - 2306/2555KV Motors at 4S
Angle rate: 1000
Acro rate: 1000
P: 100
I: 80
D: 100
Yaw P: 200
Yaw I: 100
Expo: 60
Yaw expo: 60
Throttle gain: 80
Throttle min: 200iFlight iX3 Racer V1 3" - 1104/5250KV Motors at 3S
THIS TUNE IS STILL UNDERGOING TESTING
Angle rate (sR): 670
Acro rate (sr): 670
P (sp): x
I (si): x
D (sd): x
Yaw P (sy): 220
Yaw I (sY): 200
Expo (se): 25
Yaw expo (sE): 30
Throttle gain (st): 80
Throttle min (sT): 100Parts
80| Qty | Value | Footprint | References |
|---|---|---|---|
| 25 | Conn_01x01 | footprints:smallpad | J1, J2, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23 +9 |
| 12 | 100n | Capacitor_SMD:C_0402_1005Metric | C1, C3, C4, C5, C6, C7, C9, C11, C12, C13, C14, C16 |
| 9 | 10u | Capacitor_SMD:C_0603_1608Metric | C8, C17, C18, C19, C20, C21, C22, C23, C24 |
| 5 | 10k | Resistor_SMD:R_0402_1005Metric | R5, R6, R8, R9, R10 |
| 4 | MountingHole | MountingHole:MountingHole_4mm | H1, H2, H3, H4 |
| 2 | 100k | Resistor_SMD:R_0402_1005Metric | R3, R12 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric | C25, C26 |
| 2 | 220 | Resistor_SMD:R_0603_1608Metric | R7, R11 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | TLV75733PDBV | Package_TO_SOT_SMD:SOT-23-5 | U5, U7 |
| 1 | 10u | Capacitor_SMD:C_1206_3216Metric | C2 |
| 1 | 10u | Inductor_SMD:L_Sunlord_MWSA0503S | L1 |
| 1 | 13.3k | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 47u | Capacitor_SMD:C_1210_3225Metric | C15 |
| 1 | 68p | Capacitor_SMD:C_0402_1005Metric | C10 |
| 1 | BLUE | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | GREEN | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | ICM-42688-P | Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y | U3 |
| 1 | LPS22HH | Package_LGA:ST_HLGA-10_2x2mm_P0.5mm_LayoutBorder3x2y | U2 |
| 1 | PMEG2020AEA | Diode_SMD:D_SOD-323 | D1 |
| 1 | STM32G431CBUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U1 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-1000P | SW1 |
| 1 | TPS54302 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | USB_C_Receptacle_USB2.0 | footprints:TYPE-C-31-M-12 | J99 |
| 1 | W25N01GVZEIG | Package_SON:WSON-8-1EP_8x6mm_P1.27mm_EP3.4x4.3mm | U6 |
Questions
How big is the Openuav PCB?
It measures 36 × 36 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Openuav use?
80 parts, built around the LPS22HH, W25N01GVZEIG, TLV75733PDBV and ICM-42688-P. 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.
Where can I download the Openuav KiCad files?
From the catphish/openuav repository on GitHub, at the commit this page was made from: the board is hardware/openuav.kicad_pcb and its schematic hardware/openuav.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Openuav design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers90 × 58 mm

- 2 layers75.1 × 65 mm

- 2 layers

Handbell
dcuccia/digital-handbell
A software and hardware project to create a digital handbell using microcontrollers and speakers and gesture recognition
95 partsMIT - 4 layers80 × 50 mm

MianCtrl H7
Aiyin4Da-2/Main_Ctrl_H7
STM32H723VGT6 MainCtrlBoard Author: Aiyin4DaGLD · Hardware: v1.2 · Updated: 2026-08-21
153 partsMIT - 4 layers40 × 40 mm

- 4 layers90 × 50 mm

Capstone
jjhcwoo/Acculux-device
The objective of this project is to add functionality to the existing NIR Imaging Inc. device in the way of: - Orientation tracking - Positional tracking - Force sensing
94 parts - 6 layers32 × 35 mm

Dreamscape F405-2020
sneakylizard123-4/Dreamscape-F405-2020
a 20x20mm flight controller for 3" fpv drone
122 parts - 4 layers65 × 40.1 mm

Aero Zero
ChladpavPy/Aero-Zero
I started this project, because I wanted to build fully autonomous ai drone. When I looked at the flight controllers available on the market, they were full of hardware that I just do not need or just that I could not…
97 parts