diff --git a/boards/corvon/743v1/extras/corvon_743v1_bootloader.bin b/boards/corvon/743v1/extras/corvon_743v1_bootloader.bin
old mode 100644
new mode 100755
index 0875784c2c..7a90ffc25c
Binary files a/boards/corvon/743v1/extras/corvon_743v1_bootloader.bin and b/boards/corvon/743v1/extras/corvon_743v1_bootloader.bin differ
diff --git a/boards/corvon/743v1/src/hw_config.h b/boards/corvon/743v1/src/hw_config.h
index b773631093..bd46322778 100644
--- a/boards/corvon/743v1/src/hw_config.h
+++ b/boards/corvon/743v1/src/hw_config.h
@@ -104,7 +104,7 @@
#define OSC_FREQ 8
#define BOARD_PIN_LED_ACTIVITY GPIO_nLED_BLUE // BLUE
-#define BOARD_PIN_LED_BOOTLOADER GPIO_nLED_GREEN // GREEN
+#define BOARD_PIN_LED_BOOTLOADER GPIO_nLED_RED // RED
#define BOARD_LED_ON 0
#define BOARD_LED_OFF 1
diff --git a/boards/corvon/743v1/src/init.c b/boards/corvon/743v1/src/init.c
index c0e1f9776c..c5e1809ee3 100644
--- a/boards/corvon/743v1/src/init.c
+++ b/boards/corvon/743v1/src/init.c
@@ -169,6 +169,7 @@ __EXPORT int board_app_initialize(uintptr_t arg)
drv_led_start();
led_off(LED_RED);
led_off(LED_BLUE);
+ led_off(LED_GREEN);
if (board_hardfault_init(2, true) != 0) {
led_on(LED_BLUE);
diff --git a/boards/corvon/743v1/src/led.c b/boards/corvon/743v1/src/led.c
index d7794392db..a3f7b6ec8e 100644
--- a/boards/corvon/743v1/src/led.c
+++ b/boards/corvon/743v1/src/led.c
@@ -63,12 +63,23 @@ extern void led_toggle(int led);
__END_DECLS
# define xlat(p) (p)
+// index: 0=BLUE, 1=RED, 2=SAFETY, 3=GREEN
static uint32_t g_ledmap[] = {
- GPIO_nLED_GREEN, // Indexed by BOARD_LED_GREEN
- GPIO_nLED_BLUE, // Indexed by BOARD_LED_BLUE
- GPIO_nLED_RED, // Indexed by BOARD_LED_RED
+ GPIO_nLED_BLUE, // LED_BLUE (0)
+ GPIO_nLED_RED, // LED_RED (1)
+ 0, // LED_SAFETY (2) - no independent safety LED, use 0 placeholder
+ GPIO_nLED_GREEN, // LED_GREEN (3)
};
+#ifndef arraySize
+#define arraySize(a) (sizeof((a))/sizeof(((a)[0])))
+#endif
+
+static inline bool valid_led_index(int led)
+{
+ return (led >= 0) && ((size_t)led < arraySize(g_ledmap));
+}
+
__EXPORT void led_init(void)
{
/* Configure LED GPIOs for output */
@@ -81,6 +92,10 @@ __EXPORT void led_init(void)
static void phy_set_led(int led, bool state)
{
+ if (!valid_led_index(led)) {
+ return;
+ }
+
/* Drive Low to switch on */
if (g_ledmap[led] != 0) {
stm32_gpiowrite(g_ledmap[led], !state);
@@ -89,6 +104,10 @@ static void phy_set_led(int led, bool state)
static bool phy_get_led(int led)
{
+ if (!valid_led_index(led)) {
+ return false;
+ }
+
/* If Low it is on */
if (g_ledmap[led] != 0) {
return !stm32_gpioread(g_ledmap[led]);
diff --git a/docs/assets/flight_controller/corvon_743v1/CORVON743V1_PortsConnection.png b/docs/assets/flight_controller/corvon_743v1/CORVON743V1_PortsConnection.png
new file mode 100644
index 0000000000..3eb5530054
Binary files /dev/null and b/docs/assets/flight_controller/corvon_743v1/CORVON743V1_PortsConnection.png differ
diff --git a/docs/assets/flight_controller/corvon_743v1/corvon_743v1_bottom.jpg b/docs/assets/flight_controller/corvon_743v1/corvon_743v1_bottom.jpg
new file mode 100644
index 0000000000..e02cd6be2c
Binary files /dev/null and b/docs/assets/flight_controller/corvon_743v1/corvon_743v1_bottom.jpg differ
diff --git a/docs/assets/flight_controller/corvon_743v1/corvon_743v1_top.jpg b/docs/assets/flight_controller/corvon_743v1/corvon_743v1_top.jpg
new file mode 100644
index 0000000000..a0862fc7ee
Binary files /dev/null and b/docs/assets/flight_controller/corvon_743v1/corvon_743v1_top.jpg differ
diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md
index b40507f5cd..74496882a3 100644
--- a/docs/en/SUMMARY.md
+++ b/docs/en/SUMMARY.md
@@ -164,6 +164,7 @@
- [ARK Electronics ARKV6X](flight_controller/ark_v6x.md)
- [ARK FPV Flight Controller](flight_controller/ark_fpv.md)
- [ARK Pi6X Flow Flight Controller](flight_controller/ark_pi6x.md)
+ - [CORVON 743v1](flight_controller/corvon_743v1.md)
- [CUAV Nora](flight_controller/cuav_nora.md)
- [CUAV V5+ (FMUv5)](flight_controller/cuav_v5_plus.md)
- [Wiring Quickstart](assembly/quick_start_cuav_v5_plus.md)
diff --git a/docs/en/flight_controller/autopilot_manufacturer_supported.md b/docs/en/flight_controller/autopilot_manufacturer_supported.md
index 4c33358f9f..81a28bc986 100644
--- a/docs/en/flight_controller/autopilot_manufacturer_supported.md
+++ b/docs/en/flight_controller/autopilot_manufacturer_supported.md
@@ -18,6 +18,7 @@ The boards in this category are:
- [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) (and [ARK Electronics Pixhawk Autopilot Bus Carrier](../flight_controller/ark_pab.md))
- [ARK FPV Flight Controller](../flight_controller/ark_fpv.md)
- [ARK Pi6X Flow Flight Controller](../flight_controller/ark_pi6x.md)
+- [CORVON 743v1](../flight_controller/corvon_743v1.md)
- [CUAV Nora](../flight_controller/cuav_nora.md) (CUAV X7 variant)
- [CUAV V5+](../flight_controller/cuav_v5_plus.md) (FMUv5)
- [CUAV V5 nano](../flight_controller/cuav_v5_nano.md) (FMUv5)
diff --git a/docs/en/flight_controller/corvon_743v1.md b/docs/en/flight_controller/corvon_743v1.md
new file mode 100644
index 0000000000..898115880f
--- /dev/null
+++ b/docs/en/flight_controller/corvon_743v1.md
@@ -0,0 +1,109 @@
+# CORVON 743v1
+
+
+
+:::warning
+PX4 does not manufacture this (or any) autopilot. Contact the manufacturer for hardware support or compliance issues.
+:::
+
+The _CORVON 743v1_ is a flight controller designed by Feikong Technology Co., Ltd under the CORVON brand.
+It features a powerful STM32H743 processor, dual high-performance IMUs (BMI088/BMI270), and an extensive array of interfaces.
+
+With its highly integrated 36x36mm footprint and 9g weight, and specialized interfaces like a direct plug-and-play DJI O3 Air Unit connector, this flight controller is optimized for space-constrained FPV builds and agile multirotors that require top-tier processing power and sensor redundancy.
+
+The board uses [Pixhawk Autopilot Standard Connections](https://docs.px4.io/main/en/flight_controller/autopilot_pixhawk_standard.html).
+
+
+
+::: info
+This flight controller is [manufacturer supported](../flight_controller/autopilot_manufacturer_supported.md).
+:::
+## Key Features
+
+- **MCU:** STM32H743VIT6 MCU (32 Bit Arm® Cortex®-M7, 480MHz, 2MB Flash, 1MB RAM)
+- **IMU:** Bosch BMI088, BMI270 (Dual IMU redundancy)
+- **Barometer:** DPS310
+- **Magnetometer:** IST8310
+- **OSD:** Onboard AT7456E
+- **Interfaces:**
+ - 7x UARTs
+ - 1x CAN (UAVCAN)
+ - 1x I2C
+ - Dedicated RC Input (UART6)
+ - 10x PWM outputs (DShot & Bi-Directional DShot supported)
+ - Dedicated DJI O3 Air Unit connector
+- **Power:**
+ - 9V 3A BEC
+ - 5V 3A BEC
+ - ADC for battery voltage (up to 6S) and current monitoring
+
+## Where to Buy
+
+Order from [CORVON](https://corvon.tech).
+
+## Physical / Mechanical
+
+- **Mounting:** 30.5 x 30.5mm, Φ4mm
+- **Dimensions:** 36 x 36 x 8 mm
+- **Weight:** 9g
+
+## Specifications
+
+### Processors & Sensors
+
+- **FMU Processor:** STM32H743
+ - 32 Bit Arm® Cortex®-M7, 480MHz
+ - 2MB Flash, 1MB RAM
+- **On-board Sensors:**
+ - Accel/Gyro: Bosch BMI088, BMI270
+ - Barometer: DPS310
+ - Compass: IST8310
+
+### Power Configuration
+
+The board has an internal voltage sensor and connections on the ESC connector for an external current sensor.
+- The voltage sensor handles up to 6S LiPo batteries.
+- Two onboard BECs provide robust peripheral power (9V 3A and 5V 3A).
+
+## Connectors & Pinouts
+
+The following image shows the port connection details, including RC, UARTs, CAN, I2C, SWD Debug, and VTX connections.
+
+
+
+### Standard Serial Port Mapping
+
+| UART | PX4 Target Config | Default Usage |
+| ------ | ----------------- | ------------- |
+| USART1 | TELEM1 | MAVLink |
+| UART4 | TELEM2 | MAVLink |
+| USART2 | GPS1 | GPS |
+| USART3 | TELEM3 | |
+| UART8 | URT6 | |
+| USART6 | RC | RC Input |
+| UART7 | TELEM4 | ESC Telemetry |
+
+### Debug Port
+
+The board features a **4-pin SWD Debug** interface located on the right side of the board. This includes `SWCLK`, `SWDIO`, `3V3`, and `GND` for full hardware debugging. While a dedicated UART isn't strictly reserved for the NSH console by default, the full-speed USB connection provides MAVLink Console access out of the box.
+
+### RC Input
+
+RC Input is mapped to **UART6** via the explicit `SBUS/CRSF` connector block.
+- It fully supports PX4's standard `RC_INPUT` module protocols.
+- The connector exposes both `RX6` and `TX6`, which makes it fully capable of bidirectional receiver protocols such as TBS Crossfire (CRSF), ELRS, and FPort, as well as traditional single-wire standards like SBUS (which operates inverted on RX6).
+
+## Building/Loading Firmware
+
+::: tip
+Most users will not need to build this firmware (from PX4 v1.18).
+It is pre-built and automatically installed by _QGroundControl_ when appropriate hardware is connected.
+:::
+
+To [build PX4](../dev_setup/building_px4.md) for this target from source:
+
+```sh
+make corvon_743v1_default
+```
+
+Initial firmware flashing can be done over USB via QGroundControl. The bootloader status aligns with standard generic PX4 LED indications (Red = Bootloader/Error, Blue = Active/Activity, Green = Powered).