From 49756233bb551f9744bf9157874a509370a68bdf Mon Sep 17 00:00:00 2001 From: FlyingRC-Official <118458039+FlyingRC-Official@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:36:47 +0800 Subject: [PATCH 1/6] feat(target): rename FlyingRC F4Wing Mini target and add BMI270 support --- docs/boards/FlyingRC F4Wing Mini.md | 6 +++--- src/main/target/FLYINGRCF4WINGMINI/CMakeLists.txt | 1 + .../config.c | 0 .../target.c | 0 .../target.h | 13 +++++++++---- .../CMakeLists.txt | 1 - 6 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 src/main/target/FLYINGRCF4WINGMINI/CMakeLists.txt rename src/main/target/{FLYINGRCF4WINGMINI_NOT_RECOMMENDED => FLYINGRCF4WINGMINI}/config.c (100%) rename src/main/target/{FLYINGRCF4WINGMINI_NOT_RECOMMENDED => FLYINGRCF4WINGMINI}/target.c (100%) rename src/main/target/{FLYINGRCF4WINGMINI_NOT_RECOMMENDED => FLYINGRCF4WINGMINI}/target.h (93%) delete mode 100644 src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/CMakeLists.txt diff --git a/docs/boards/FlyingRC F4Wing Mini.md b/docs/boards/FlyingRC F4Wing Mini.md index b51907870dc..d3160537032 100644 --- a/docs/boards/FlyingRC F4Wing Mini.md +++ b/docs/boards/FlyingRC F4Wing Mini.md @@ -1,4 +1,4 @@ -# Board - FLYINGRCF4WINGMINI_NOT_RECOMMENDED +# Board - FLYINGRCF4WINGMINI This is a cheap flight controller (prices range from $16US to $40US) from an unknown company. Many of the components on this FC are likely to have high tollerances due to the low cost. They sold this FC as compatible with INAV without reaching out to the team or having an official target made. The target only exists thanks to a community contributor (dixi83). @@ -13,7 +13,7 @@ Hardware issues have been reported on these flight controllers. They are also mi | | | |-----|-----| | MCU | STM32F405RTG6 | -| Gyro | ICM-42605 | +| Gyro | ICM-42605 / BMI270 | | Baro | SPL06 | | UARTS | 1, 2 (RX only - SBUS), 4 (DJI), 5 | | PWM | Six + One (S12 used for LED control) | @@ -31,7 +31,7 @@ Hardware issues have been reported on these flight controllers. They are also mi > There is no ADC for "voltmeter" input. So potentially this FC can run at 1S to 6S. However there are only 2 LDO regulators on the FC itself. ## Notable missing features -* Current sensor +* Current senso * Blackbox recording * Analogue OSD * PINIO (for VTX power switching etc) diff --git a/src/main/target/FLYINGRCF4WINGMINI/CMakeLists.txt b/src/main/target/FLYINGRCF4WINGMINI/CMakeLists.txt new file mode 100644 index 00000000000..ef771cdd4e4 --- /dev/null +++ b/src/main/target/FLYINGRCF4WINGMINI/CMakeLists.txt @@ -0,0 +1 @@ +target_stm32f405xg(FLYINGRCF4WINGMINI) diff --git a/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/config.c b/src/main/target/FLYINGRCF4WINGMINI/config.c similarity index 100% rename from src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/config.c rename to src/main/target/FLYINGRCF4WINGMINI/config.c diff --git a/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/target.c b/src/main/target/FLYINGRCF4WINGMINI/target.c similarity index 100% rename from src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/target.c rename to src/main/target/FLYINGRCF4WINGMINI/target.c diff --git a/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/target.h b/src/main/target/FLYINGRCF4WINGMINI/target.h similarity index 93% rename from src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/target.h rename to src/main/target/FLYINGRCF4WINGMINI/target.h index cf98fcaca14..1024d507209 100644 --- a/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/target.h +++ b/src/main/target/FLYINGRCF4WINGMINI/target.h @@ -3,7 +3,7 @@ * * INAV is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or + * the Free Software Foundation, either version 3 of the License, o * (at your option) any later version. * * INAV is distributed in the hope that it will be useful, @@ -19,7 +19,7 @@ #define USE_TARGET_CONFIG #define TARGET_BOARD_IDENTIFIER "FRF4WM" -#define USBD_PRODUCT_STRING "FLYINGRCF4WINGMINI_NOT_RECOMMENDED" +#define USBD_PRODUCT_STRING "FLYINGRCF4WINGMINI" #define LED0 PA14 //Blue #define LED1 PA13 //Green @@ -34,8 +34,13 @@ #define USE_IMU_ICM42605 #define IMU_ICM42605_ALIGN CW90_DEG_FLIP -#define ICM42605_SPI_BUS BUS_SPI1 -#define ICM42605_CS_PIN PC14 +#define ICM42605_SPI_BUS BUS_SPI1 +#define ICM42605_CS_PIN PC14 + +#define USE_IMU_BMI270 +#define IMU_BMI270_ALIGN CW90_DEG_FLIP +#define BMI270_SPI_BUS BUS_SPI1 +#define BMI270_CS_PIN PC14 // *************** I2C /Baro/Mag ********************* #define USE_I2C diff --git a/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/CMakeLists.txt b/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/CMakeLists.txt deleted file mode 100644 index 6da40b8ae6d..00000000000 --- a/src/main/target/FLYINGRCF4WINGMINI_NOT_RECOMMENDED/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -target_stm32f405xg(FLYINGRCF4WINGMINI_NOT_RECOMMENDED) From 152835d82902e33007c7e5744465900a216eb7a4 Mon Sep 17 00:00:00 2001 From: FlyingRC-Official <118458039+FlyingRC-Official@users.noreply.github.com> Date: Fri, 10 Apr 2026 20:16:31 +0800 Subject: [PATCH 2/6] fix(target): correct default gyro orientations --- src/main/target/FLYINGRCF4WINGMINI/target.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/target/FLYINGRCF4WINGMINI/target.h b/src/main/target/FLYINGRCF4WINGMINI/target.h index 1024d507209..91adb6ccf0d 100644 --- a/src/main/target/FLYINGRCF4WINGMINI/target.h +++ b/src/main/target/FLYINGRCF4WINGMINI/target.h @@ -33,12 +33,12 @@ #define SPI1_MOSI_PIN PA7 #define USE_IMU_ICM42605 -#define IMU_ICM42605_ALIGN CW90_DEG_FLIP +#define IMU_ICM42605_ALIGN CW270_DEG_FLIP #define ICM42605_SPI_BUS BUS_SPI1 #define ICM42605_CS_PIN PC14 #define USE_IMU_BMI270 -#define IMU_BMI270_ALIGN CW90_DEG_FLIP +#define IMU_BMI270_ALIGN CW180_DEG_FLIP #define BMI270_SPI_BUS BUS_SPI1 #define BMI270_CS_PIN PC14 From 3f5e47217cb34d7d75204aa8cfa5c72f5e9ac915 Mon Sep 17 00:00:00 2001 From: FlyingRC-Official <118458039+FlyingRC-Official@users.noreply.github.com> Date: Tue, 26 May 2026 13:32:48 +0800 Subject: [PATCH 3/6] Polish FlyingRC F4Wing Mini documentation --- docs/boards/FlyingRC F4Wing Mini.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/boards/FlyingRC F4Wing Mini.md b/docs/boards/FlyingRC F4Wing Mini.md index d3160537032..15587b90451 100644 --- a/docs/boards/FlyingRC F4Wing Mini.md +++ b/docs/boards/FlyingRC F4Wing Mini.md @@ -1,11 +1,13 @@ # Board - FLYINGRCF4WINGMINI -This is a cheap flight controller (prices range from $16US to $40US) from an unknown company. Many of the components on this FC are likely to have high tollerances due to the low cost. They sold this FC as compatible with INAV without reaching out to the team or having an official target made. The target only exists thanks to a community contributor (dixi83). +This is a budget-friendly flight controller, typically sold in the US$16-40 range. As with many entry-level boards, component tolerances and quality control may vary compared with higher-cost hardware, so users should test critical functions carefully before flying. The board has been advertised as INAV-compatible, but it was not originally submitted through the official INAV target process; current support exists thanks to community work, especially the contribution from dixi83. + +FlyingRC is a small hardware vendor focused on affordable flight-controller and RC electronics products. More information about their work and open-source activity is available on their GitHub page: https://github.com/FlyingRC-Official Hardware issues have been reported on these flight controllers. They are also missing many features. Unlike most other _wing_ flight controllers. This is not an all in one solution. It requires an external power source for servos. So is not as small or light as it first appears. > [!WARNING] -> We recommend you only use this flight controller on very light aircraft that you will keep within line-of-sight distances. Reliability of the hardware is far from guaranteed. So fitting to a larger, heavier aircraft adds unneccesary safety risks. Also, there are essential features missing for other types of flights. Please keep this for small park fliers only, if used at all. +> We recommend you only use this flight controller on very light aircraft that you will keep within line-of-sight distances. Reliability of the hardware is far from guaranteed. So fitting to a larger, heavier aircraft adds unnecessary safety risks. Also, there are essential features missing for other types of flights. Please keep this for small park fliers only, if used at all. > > Also, if you insist on buying one of these. Make sure it's from a somewhere selling it at $16US. Spending $40US on this is a waste of money. You can get better FCs for around that money. @@ -22,7 +24,7 @@ Hardware issues have been reported on these flight controllers. They are also mi | Weight | 2.8g | > [!NOTE] -> There is conflicting information for the power this FC can handle. There are 2 specs providied: +> There is conflicting information for the power this FC can handle. There are 2 specs provided: > | | | > |---|---| > | Voltmeter | 2.5-30V | @@ -31,7 +33,7 @@ Hardware issues have been reported on these flight controllers. They are also mi > There is no ADC for "voltmeter" input. So potentially this FC can run at 1S to 6S. However there are only 2 LDO regulators on the FC itself. ## Notable missing features -* Current senso +* Current sensor * Blackbox recording * Analogue OSD * PINIO (for VTX power switching etc) @@ -39,4 +41,4 @@ Hardware issues have been reported on these flight controllers. They are also mi * On-board power rail for servos * Filtered power for video -All the above can be found on the Matek F405-WMO. Which is a $45US flight controller. Which is 32 x 22 x 12.7 mm and 9g, and has a definite input voltage range of 2S to 6S, and able to handle up to 132A. \ No newline at end of file +All the above can be found on the Matek F405-WMO. Which is a $45US flight controller. Which is 32 x 22 x 12.7 mm and 9g, and has a definite input voltage range of 2S to 6S, and able to handle up to 132A. From 6b5edbc24613d9fa54cae74bec8d235142a15c98 Mon Sep 17 00:00:00 2001 From: FlyingRC-Official <118458039+FlyingRC-Official@users.noreply.github.com> Date: Tue, 26 May 2026 13:35:37 +0800 Subject: [PATCH 4/6] Add FlyingRC F4Wing Mini current sensor ADC --- src/main/target/FLYINGRCF4WINGMINI/target.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/target/FLYINGRCF4WINGMINI/target.h b/src/main/target/FLYINGRCF4WINGMINI/target.h index 91adb6ccf0d..cc69b497bc7 100644 --- a/src/main/target/FLYINGRCF4WINGMINI/target.h +++ b/src/main/target/FLYINGRCF4WINGMINI/target.h @@ -34,13 +34,13 @@ #define USE_IMU_ICM42605 #define IMU_ICM42605_ALIGN CW270_DEG_FLIP -#define ICM42605_SPI_BUS BUS_SPI1 -#define ICM42605_CS_PIN PC14 - -#define USE_IMU_BMI270 -#define IMU_BMI270_ALIGN CW180_DEG_FLIP -#define BMI270_SPI_BUS BUS_SPI1 -#define BMI270_CS_PIN PC14 +#define ICM42605_SPI_BUS BUS_SPI1 +#define ICM42605_CS_PIN PC14 + +#define USE_IMU_BMI270 +#define IMU_BMI270_ALIGN CW180_DEG_FLIP +#define BMI270_SPI_BUS BUS_SPI1 +#define BMI270_CS_PIN PC14 // *************** I2C /Baro/Mag ********************* #define USE_I2C @@ -98,7 +98,10 @@ #define ADC_INSTANCE ADC1 #define ADC1_DMA_STREAM DMA2_Stream4 #define ADC_CHANNEL_1_PIN PC4 +#define ADC_CHANNEL_2_PIN PC5 #define VBAT_ADC_CHANNEL ADC_CHN_1 +// V4 hardware adds a backside current-sensor pad on the same ADC pin used by Matek F405 TE. +#define CURRENT_METER_ADC_CHANNEL ADC_CHN_2 // *************** others ************************ #define DEFAULT_FEATURES (FEATURE_OSD | FEATURE_TELEMETRY | FEATURE_CURRENT_METER | FEATURE_VBAT | FEATURE_TX_PROF_SEL | FEATURE_BLACKBOX) From 27c9ea6696f4d6e0c6b57700b79c7c572e3f3d79 Mon Sep 17 00:00:00 2001 From: FlyingRC-Official <118458039+FlyingRC-Official@users.noreply.github.com> Date: Tue, 26 May 2026 13:44:08 +0800 Subject: [PATCH 5/6] Fix FlyingRC F4Wing Mini PR cleanup --- docs/boards/FlyingRC F4Wing Mini.md | 2 +- src/main/target/FLYINGRCF4WINGMINI/target.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/boards/FlyingRC F4Wing Mini.md b/docs/boards/FlyingRC F4Wing Mini.md index 15587b90451..26adb948c98 100644 --- a/docs/boards/FlyingRC F4Wing Mini.md +++ b/docs/boards/FlyingRC F4Wing Mini.md @@ -33,7 +33,7 @@ Hardware issues have been reported on these flight controllers. They are also mi > There is no ADC for "voltmeter" input. So potentially this FC can run at 1S to 6S. However there are only 2 LDO regulators on the FC itself. ## Notable missing features -* Current sensor +* Current sensor on earlier hardware revisions (V4 adds a backside ADC current-sensor pad) * Blackbox recording * Analogue OSD * PINIO (for VTX power switching etc) diff --git a/src/main/target/FLYINGRCF4WINGMINI/target.h b/src/main/target/FLYINGRCF4WINGMINI/target.h index cc69b497bc7..fcc2441a4a0 100644 --- a/src/main/target/FLYINGRCF4WINGMINI/target.h +++ b/src/main/target/FLYINGRCF4WINGMINI/target.h @@ -3,7 +3,7 @@ * * INAV is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, o + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * INAV is distributed in the hope that it will be useful, From 6cc30564526856fb641e6c2364afcb398557df55 Mon Sep 17 00:00:00 2001 From: FlyingRC-Official <118458039+FlyingRC-Official@users.noreply.github.com> Date: Tue, 26 May 2026 13:44:55 +0800 Subject: [PATCH 6/6] Polish FlyingRC F4Wing Mini review notes --- docs/boards/FlyingRC F4Wing Mini.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/boards/FlyingRC F4Wing Mini.md b/docs/boards/FlyingRC F4Wing Mini.md index 26adb948c98..a1863744215 100644 --- a/docs/boards/FlyingRC F4Wing Mini.md +++ b/docs/boards/FlyingRC F4Wing Mini.md @@ -4,12 +4,12 @@ This is a budget-friendly flight controller, typically sold in the US$16-40 rang FlyingRC is a small hardware vendor focused on affordable flight-controller and RC electronics products. More information about their work and open-source activity is available on their GitHub page: https://github.com/FlyingRC-Official -Hardware issues have been reported on these flight controllers. They are also missing many features. Unlike most other _wing_ flight controllers. This is not an all in one solution. It requires an external power source for servos. So is not as small or light as it first appears. +Hardware issues have been reported on these flight controllers. They are also missing many features. Unlike most other _wing_ flight controllers, this is not an all-in-one solution. It requires an external power source for servos, so is not as small or light as it first appears. > [!WARNING] > We recommend you only use this flight controller on very light aircraft that you will keep within line-of-sight distances. Reliability of the hardware is far from guaranteed. So fitting to a larger, heavier aircraft adds unnecessary safety risks. Also, there are essential features missing for other types of flights. Please keep this for small park fliers only, if used at all. > -> Also, if you insist on buying one of these. Make sure it's from a somewhere selling it at $16US. Spending $40US on this is a waste of money. You can get better FCs for around that money. +> Also, if you choose to buy one of these, compare pricing carefully. At around US$40 there are more capable flight controllers available. ## Specifications | | | @@ -37,8 +37,8 @@ Hardware issues have been reported on these flight controllers. They are also mi * Blackbox recording * Analogue OSD * PINIO (for VTX power switching etc) -* ADCs (external current sensor, airspeed sensor, rssi, etc) +* Additional ADCs (airspeed sensor, RSSI, etc) * On-board power rail for servos * Filtered power for video -All the above can be found on the Matek F405-WMO. Which is a $45US flight controller. Which is 32 x 22 x 12.7 mm and 9g, and has a definite input voltage range of 2S to 6S, and able to handle up to 132A. +Most of the above can be found on the Matek F405-WMO. Which is a $45US flight controller. Which is 32 x 22 x 12.7 mm and 9g, and has a definite input voltage range of 2S to 6S, and able to handle up to 132A.