You've already forked incutec-OpenFC
mirror of
https://github.com/incutec-hw/OpenFC.git
synced 2026-08-07 05:40:38 +00:00
- Standardize .gitignore to match ecosystem template - Fix README: remove stale Radioschematic ref, fix 10V→12V, remove generic sections - Replace LICENSE stub with full CERN-OHL-S-2.0 text - Remove production/ from git tracking (generated, re-exportable) - Untrack generated files: OpenFC.net, replicate_layout.log, ibom, old render Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
92 lines
2.9 KiB
Markdown
92 lines
2.9 KiB
Markdown
# OpenFC
|
|
|
|
Open-source Betaflight flight controller with integrated break-off ELRS receiver, based on the RP2354B microcontroller.
|
|
|
|
<p>
|
|
<img src="images/OpenFC_Front.png" width="400" alt="OpenFC Front" />
|
|
<img src="images/OpenFC_Back.png" width="400" alt="OpenFC Back" />
|
|
</p>
|
|
|
|
## Features
|
|
|
|
### Microcontroller
|
|
- **RP2354B** - Raspberry Pi dual-core ARM Cortex-M33 @ 150MHz (with integrated flash)
|
|
|
|
### Integrated ELRS Receiver (Break-off)
|
|
- On-board 2.4GHz ExpressLRS receiver module
|
|
- Break-off design allows for different placement if needed
|
|
|
|
### Sensors
|
|
- **IMU**: LSM6DSV16XTR
|
|
- **Barometer**: BMP388
|
|
|
|
|
|
### Blackbox Data Logging
|
|
- **BY25Q128ASWIG** - 128Mbit (16MB)
|
|
|
|
### Motor Outputs
|
|
- 4x PWM/DShot motor outputs
|
|
|
|
### Analog OSD on PIO
|
|
Hardware implementation of opamp and mux to detect syncs and select between white and black pixels. Needs software implementation still.
|
|
|
|
### Connectivity
|
|
- **USB-C** - Configuration and firmware flashing
|
|
- **UART0** - Serial RX/TX (ELRS connection pads)
|
|
- **UART1** - Spare serial port
|
|
- **PIO UART** - Software UART via RP2350 PIO (2x)
|
|
- **I2C** - External sensor expansion
|
|
- **SPI** - IMU and Blackbox on isolated bus.
|
|
|
|
### Analog Inputs
|
|
- Current sensor input (ADC)
|
|
- RSSI input (ADC)
|
|
- 1 external available ADC input
|
|
|
|
### Additional Features
|
|
- Addressable LED strip output (WS2812/NeoPixel)
|
|
- Buzzer output
|
|
- 16 LED's built in on corners
|
|
- ELRS ESP flashable by the RP2354B (BOOT/EN pins connected)
|
|
|
|
### Power
|
|
- 2S-6S batteries
|
|
- 12V and 5V regulated outputs, 12V is switchable
|
|
|
|
## Repository Structure
|
|
|
|
```
|
|
OpenFC/
|
|
├── README.md
|
|
├── hardware/ ← KiCad project, libraries, and production files
|
|
│ ├── OpenFC.kicad_pro
|
|
│ ├── *.kicad_sch ← Hierarchical schematics
|
|
│ ├── OpenFC.kicad_pcb
|
|
│ ├── lib.kicad_sym ← Custom symbol library
|
|
│ ├── lib.pretty/ ← Custom footprint library
|
|
│ ├── lib.3dshapes/ ← 3D models
|
|
│ └── tools/ ← Analysis scripts
|
|
└── images/ ← Board renders
|
|
```
|
|
|
|
All symbol, footprint, and 3D model libraries are included in the repository — no external library setup required.
|
|
|
|
## Schematic Hierarchy
|
|
|
|
- `OpenFC.kicad_sch` - Top-level schematic
|
|
- `rp2350a.kicad_sch` - RP2354B microcontroller and supporting circuitry
|
|
- `elrs.kicad_sch` - ELRS 2.4GHz receiver module (break-off section)
|
|
- `power.kicad_sch` - Power supply and regulation
|
|
- `imu.kicad_sch` - LSM6DSV16XTR IMU
|
|
- `baro.kicad_sch` - BMP388 barometer
|
|
- `compass.kicad_sch` - LIS3MDLTR magnetometer (not populated, but there's space for it)
|
|
- `blackbox.kicad_sch` - BY25Q128 flash memory
|
|
- `leds.kicad_sch` - Status LEDs
|
|
- `osd.kicad_sch` - OSD circuitry
|
|
- `connectors.kicad_sch` - External connectors
|
|
- `pads.kicad_sch` - Solder pads and test points
|
|
|
|
## License
|
|
|
|
Licensed under [CERN-OHL-S-2.0](https://ohwr.org/cern_ohl_s_v2.txt). See [LICENSE](LICENSE) for details.
|