Skip to content

Conversation

@jeevesh326
Copy link

Summary

Add CIPHERWINGF4 (STM32F405) ChibiOS hardware definition — a customized OmnibusF4-style flight controller supporting INAV, PX4, and ArduPilot firmware.

This board features optimized UART mapping, onboard OSD (MAX7456), and optional BMI270/ICM20689 IMU support.


Hardware Overview

Function Pin Notes
IMU (SPI1) PA4 (CS), PA5 (SCK), PA6 (MISO), PA7 (MOSI) Supports MPU6000 / BMI270 / ICM20689
Baro + OSD (SPI3) PA15 (OSD CS), PB3 (BMP280 CS), PC10–PC12 MAX7456 OSD + BMP280
I2C1 PB8 (SCL), PB9 (SDA) External compass / GPS
UART1 PA10 (RX), PA9 (TX) CRSF / SBUS input
UART2 PA3 (RX), PA2 (TX) Telemetry 1
UART3 PB11 (RX), PB10 (TX) Telemetry 2
UART6 PC7 (RX), PC6 (TX) GPS
USB PA11 (DM), PA12 (DP) OTG1 port
PWM Outputs PB0–PB15, PA8 8 PWM outputs, DShot compatible
LED/Beeper PB5 (LED), PB4 (Buzzer) Status indicator & alarm
RSSI PC1 Analog RSSI input
Battery PC2 (Voltage), PC1 (Current) Supports external current sensor

Notes

  • Based on OmnibusF4 Pro reference design.
  • No internal compass (I2C pads provided).
  • Designed and tested by Jeevesh Vishwavijay Singh (CipherWing Labs).
  • Supports INAV and PX4 unofficially, validated under ArduPilot build.

Files Added

  • libraries/AP_HAL_ChibiOS/hwdef/CIPHERWINGF4/hwdef.dat
  • libraries/AP_HAL_ChibiOS/hwdef/CIPHERWINGF4/hwdef-bl.dat
  • libraries/AP_HAL_ChibiOS/hwdef/CIPHERWINGF4/README.md
  • Tools/bootloaders/CIPHERWINGF4_bl.bin

Verification

  • ✅ Bootloader built via Tools/scripts/build_bootloaders.py CIPHERWINGF4

  • ✅ Firmware compiles successfully:
    Waf: Leaving directory '/home/jeevesh18/ardupilot/build/CIPHERWINGF4'
    'copter' finished successfully

  • ✅ Tested with INAV & PX4 builds (non-official)


Future

This hardware is currently in student-stage development.
Planned for official CipherWing Labs release after validation.
test
WhatsApp Image 2025-10-29 at 11 00 34 PM
WhatsApp Image 2025-10-29 at 11 00 33 PM
back
Pasted image (3)
Pasted image (2)

@Hwurzburg
Copy link
Contributor

The provided images really do not have a good enough silkscreen for each pads function to review, however a quick scan of the readme and hwdef, indicates that SBUS is notr supported...on an F4 it needs an timer interrupt input OR a separate pad that inverts SBUS before application to a UART setup with protocol 23 (and it should have full DMA to accommodate CRSF/ELRS RC in also). FYI, the UART protocol for SBUS is OUTPUT only, not input so cant be used for SBUS RCin.

@jeevesh326
Copy link
Author

The provided images really do not have a good enough silkscreen for each pads function to review, however a quick scan of the readme and hwdef, indicates that SBUS is notr supported...on an F4 it needs an timer interrupt input OR a separate pad that inverts SBUS before application to a UART setup with protocol 23 (and it should have full DMA to accommodate CRSF/ELRS RC in also). FYI, the UART protocol for SBUS is OUTPUT only, not input so cant be used for SBUS RCin.

Added SBUS input support using a BSS138 inverter circuit connected to UART5_RX (PD2).
This allows proper signal inversion for SBUS input on the STM32F405 while maintaining UART1 and UART6 for telemetry or CRSF/ELRS.
• Updated hwdef.dat to define UART5_RX as inverted and set it as the default RC input port (HAL_RCIN_UART 5).
• Updated the board README to include SBUS hardware inverter details and RC input configuration.

The hardware schematic now includes an onboard BSS138 inverter between the SBUS pad and PD2.
This should resolve the SBUS compatibility concern mentioned earlier.

@jeevesh326 jeevesh326 force-pushed the feature/cipherwingf4 branch from f3e57fe to 2be1eec Compare October 29, 2025 21:16
@jeevesh326
Copy link
Author

jeevesh326 commented Oct 30, 2025

✅ All checks have passed (56 successful).

I’ve addressed the previous SBUS inversion feedback by routing SBUS input through UART5_RX via BSS138 inverter, and confirmed successful ChibiOS and bootloader builds.

and i will update all the silkscreenlayer notation for pad and pins to be easier to understand

The board definition (CIPHERWINGF4) is stable and ready for final review.

@Hwurzburg @peterbarker — kindly review and approve when possible. Thank you for your guidance throughout this process!

@Hwurzburg
Copy link
Contributor

@jeevesh326 when the new images are uploaded, I can review....ping me

@jeevesh326 jeevesh326 closed this Nov 1, 2025
@jeevesh326 jeevesh326 force-pushed the feature/cipherwingf4 branch from 86948a6 to 7d69dc2 Compare November 1, 2025 06:56
@jeevesh326 jeevesh326 reopened this Nov 1, 2025
@jeevesh326 jeevesh326 closed this Nov 1, 2025
@jeevesh326 jeevesh326 reopened this Nov 1, 2025
@jeevesh326
Copy link
Author

@jeevesh326 when the new images are uploaded, I can review....ping me

@Hwurzburg Please verify the pcb
Pasted image
Pasted image (5)
Pasted image (4)

Copy link
Contributor

@Hwurzburg Hwurzburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the new silkscreen has not BAT- pads, only BAT+
the vtx and cam rows have no labels for pads
the LED row has + and - pads...what are they? + should have its voltage labeled, and what is -? gnd?
once these are answered I can review...thanks

@jeevesh326
Copy link
Author

the new silkscreen has not BAT- pads, only BAT+

the vtx and cam rows have no labels for pads

the LED row has + and - pads...what are they? + should have its voltage labeled, and what is -? gnd?

once these are answered I can review...thanks

Hi @Hwurzburg
I’ve updated the silkscreen again to make things clearer. The VTX and CAM pads are not labeled on the top layer due to limited space, but I’ve added clear notations on the bottom silkscreen layer for reference.
Also, I’ve updated all “+” and “–” markings to directly show “+5V” and “GND” to avoid any confusion.

Thanks for the feedback — this should make it easier to identify everything now.
image

@jeevesh326
Copy link
Author

you can check the user manual @Hwurzburg
end_manual.pdf

@Hwurzburg
Copy link
Contributor

add and use that pinout image from the user manual to this PR, please....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants