Skip to content

Commit 0091bf2

Browse files
committed
ChibiOS: add PilotGaeaSH7V1 board support
- Add hwdef for PilotGaeaSH7V1 - Add bdshot variant
1 parent b0832ab commit 0091bf2

11 files changed

Lines changed: 573 additions & 0 deletions

File tree

530 KB
Loading
708 KB
Loading
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# PilotGaeaSH7V1 Flight Controller
2+
3+
The PilotGaeaSH7V1 is a flight controller designed and produced by PilotGaea
4+
5+
## Features
6+
7+
- STM32H743 microcontroller
8+
- Dual ICM42688P IMUs
9+
- DPS310 barometer
10+
- AT7456E OSD
11+
- MicroSD card slot
12+
- Dual camera input
13+
- 1 USB
14+
- 5.5 UARTs, one with CTS/RTS flow control pins
15+
- 10 PWM / Dshot outputs
16+
- 1 I2C
17+
- 1 CAN
18+
- 5 ADC inputs
19+
- 5V/1.5A BEC for main power supply
20+
- 8V/1.5A BEC for powering Video Transmitter
21+
22+
## Mechanical
23+
24+
- Dimensions: 36 x 36 x 17 mm
25+
- Weight: 10.5g
26+
27+
## Physical and pinout
28+
29+
![PilotGaeaSH7V1 front view](PilotGaeaSH7V1_front_view_Pin.jpg)
30+
31+
![PilotGaeaSH7V1 rear view](PilotGaeaSH7V1_rear_view_Pin.jpg)
32+
33+
## Power supply
34+
35+
The PilotGaeaSH7V1 supports 3-8s Li battery input. It has 2 ways of BEC, which result in 3 ways of power supplys. Please see the table below.
36+
37+
| Power symbol | Power source | Max power (current) |
38+
|--------------|---------------------------------------------------|---------------------|
39+
| BAT | directly from battery | |
40+
| 5V | from 5V BEC | 7.5W (1.5A) |
41+
| 8V | from 8V BEC, controlled by MCU | 12W (1.5A) |
42+
| 4V5 | from USB or 5V BEC, diodes isolate the two powers | 4.7W (1A) |
43+
44+
## UART Mapping
45+
46+
The UARTs are marked RXn and TXn in the above pinouts. The RXn pin is the receive pin for UARTn. The TXn pin is the transmit pin for UARTn.
47+
48+
- SERIAL0 -> USB
49+
- SERIAL1 -> UART7 (support CTS and RTS)
50+
- SERIAL2 -> USART1
51+
- SERIAL3 -> USART2
52+
- SERIAL4 -> not available
53+
- SERIAL5 -> RX8 (RX8 is also available as ESC telem if protocol is changed for this UART)
54+
- SERIAL6 -> UART4
55+
- SERIAL7 -> USART6(RCIN)
56+
57+
Any UART can be re-tasked by changing its protocol parameter.
58+
59+
## RC Input
60+
61+
The default RC input is configured on the UART6 and supports all RC protocols except PPM. The SBUS pin is inverted and connected to RX6. RC can be attached to any UART port as long as the serial port protocol is set to `SERIALn_PROTOCOL=23` and SERIAL6_Protocol is changed to something other than '23'.
62+
63+
## OSD Support
64+
65+
The PilotGaeaSH7V1 Supports onboard analog OSD using the AT7456 chip.The composited image is output via the VTX pin.
66+
67+
## PWM Output
68+
69+
The PilotGaeaSH7V1 supports up to 11 PWM outputs.
70+
All the channels support DShot.
71+
Outputs are grouped and every output within a group must use the same output protocol:
72+
73+
1, 2 are Group 1;
74+
3, 4, 5, 6 are Group 2;
75+
7, 8 are Group 3;
76+
11, 12 are Group 4;
77+
13(LED) is Group 5;
78+
Output 13 can be used as LED neopixel output;
79+
80+
## Battery Monitoring
81+
82+
The board has two internal voltage sensors and two external current sensor input.
83+
The voltage sensors can handle up to 8S LiPo batteries.
84+
Enable Battery monitor with these parameter settings :
85+
* BATT_MONITOR 4
86+
Then reboot.
87+
* BATT_VOLT_PIN 10
88+
* BATT_CURR_PIN 11
89+
* BATT_VOLT_MULT 11
90+
* BATT_AMP_PERVLT 40
91+
* BATT2_VOLT_PIN 18
92+
* BATT2_CURR_PIN 7
93+
* BATT2_VOLT_MULT 21
94+
* BATT2_AMP_PERVLT 40
95+
96+
## Compass
97+
98+
The PilotGaeaSH7V1 has no built-in compass, so if needed, you should use an external compass.
99+
100+
## Analog cameras
101+
102+
The PilotGaeaSH7V1 supports up to 2 cameras, connected to pin C1 and C2. You can select the video signal to VTX from camera by an RC channel. Set the parameters below:
103+
- RELAY2_FUNCTION 1
104+
- RELAY_PIN2 82
105+
- RC8_OPTION 34
106+
107+
## 8V switch
108+
109+
The 8V power supply can be controlled by an RC channel. Set the parameters below:
110+
- RELAY1_FUNCTION 1
111+
- RELAY_PIN 81
112+
- RC7_OPTION 28
113+
114+
## Loading Firmware
115+
116+
Initial firmware load can be done with DFU by plugging in USB with the bootloader button pressed.Then you should load the "*with_bl.hex" firmware, using your favourite DFU loading tool.
117+
Once the initial firmware is loaded you can update the firmware using any ArduPilot ground station software. Updates should be done with the "\*.apj" firmware files.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SERIAL7 is RCIN by default
2+
SERIAL7_PROTOCOL 23
3+
SERIAL7_BAUD 115
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include ../PilotGaeaSH7V1/hwdef-bl.dat
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Bi-directional dshot version of PilotGaeaSH7V1
2+
# RC input and buzzer timers need to be used so buzzer becomes single tone
3+
# and UART is used for RCIN
4+
5+
include ../PilotGaeaSH7V1/hwdef.dat
6+
7+
# undefine the pins we are going to change
8+
undef PB9 PB8 PC7 PC6 PE0 PE1 PB0 PB1 PA0 PA1 PA2 PA3 PD12 PD13 PD14 PD15 PE5 PE6 PA15
9+
10+
# UART4 (spare), SERIAL6
11+
#PB9 UART4_TX UART4
12+
#PB8 UART4_RX UART4
13+
PB9 UART4_TX UART4 NODMA
14+
PB8 UART4_RX UART4 NODMA
15+
16+
# USART6 (RC input), SERIAL7
17+
#PC7 TIM3_CH2 TIM3 RCININT PULLDOWN LOW
18+
#PC6 USART6_TX USART6 NODMA
19+
#PC7 USART6_RX USART6 NODMA ALT(1)
20+
PC7 USART6_RX USART6
21+
PC6 USART6_TX USART6
22+
23+
# UART8 (ESC Telemetry), SERIAL5
24+
#PE0 UART8_RX UART8
25+
#PE1 UART8_TX UART8
26+
PE0 UART8_RX UART8 NODMA
27+
PE1 UART8_TX UART8 NODMA
28+
29+
# Motors
30+
#PB0 TIM8_CH2N TIM8 PWM(1) GPIO(50)
31+
#PB1 TIM8_CH3N TIM8 PWM(2) GPIO(51)
32+
#PA0 TIM5_CH1 TIM5 PWM(3) GPIO(52)
33+
#PA1 TIM5_CH2 TIM5 PWM(4) GPIO(53)
34+
#PA2 TIM5_CH3 TIM5 PWM(5) GPIO(54)
35+
#PA3 TIM5_CH4 TIM5 PWM(6) GPIO(55)
36+
#PD12 TIM4_CH1 TIM4 PWM(7) GPIO(56)
37+
#PD13 TIM4_CH2 TIM4 PWM(8) GPIO(57)
38+
#PD14 TIM4_CH3 TIM4 PWM(9) GPIO(58)
39+
#PD15 TIM4_CH4 TIM4 PWM(10) GPIO(59)
40+
#PE5 TIM15_CH1 TIM15 PWM(11) GPIO(60)
41+
#PE6 TIM15_CH2 TIM15 PWM(12) GPIO(61)
42+
PB0 TIM3_CH3 TIM3 PWM(1) GPIO(50) BIDIR
43+
PB1 TIM3_CH4 TIM3 PWM(2) GPIO(51)
44+
PA0 TIM2_CH1 TIM2 PWM(3) GPIO(52) BIDIR
45+
PA1 TIM2_CH2 TIM2 PWM(4) GPIO(53)
46+
PA2 TIM5_CH3 TIM5 PWM(5) GPIO(54) BIDIR
47+
PA3 TIM5_CH4 TIM5 PWM(6) GPIO(55)
48+
PD12 TIM4_CH1 TIM4 PWM(7) GPIO(56) BIDIR
49+
PD13 TIM4_CH2 TIM4 PWM(8) GPIO(57)
50+
# Disable DMA on PWM9-12 so that the LEDs get a channel
51+
PD14 TIM4_CH3 TIM4 PWM(9) GPIO(58) NODMA
52+
PD15 TIM4_CH4 TIM4 PWM(10) GPIO(59) NODMA
53+
PE5 TIM15_CH1 TIM15 PWM(11) GPIO(60) NODMA
54+
PE6 TIM15_CH2 TIM15 PWM(12) GPIO(61) NODMA
55+
56+
# Beeper
57+
#PA15 TIM2_CH1 TIM2 GPIO(32) ALARM
58+
PA15 BUZZER OUTPUT GPIO(32) LOW
59+
define HAL_BUZZER_PIN 32
60+
61+
DMA_PRIORITY SPI1* SPI4*
62+
DMA_NOSHARE SPI1* SPI4* TIM3* TIM2* TIM5* TIM4*
530 KB
Loading
708 KB
Loading
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# PilotGaeaSH7V1 Flight Controller
2+
3+
The PilotGaeaSH7V1 is a flight controller designed and produced by PilotGaea
4+
5+
## Features
6+
7+
- STM32H743 microcontroller
8+
- Dual ICM42688P IMUs
9+
- DPS310 barometer
10+
- AT7456E OSD
11+
- MicroSD card slot
12+
- Dual camera input
13+
- 1 USB
14+
- 5.5 UARTs, one with CTS/RTS flow control pins
15+
- 10 PWM / Dshot outputs
16+
- 1 I2C
17+
- 1 CAN
18+
- 5 ADC inputs
19+
- 5V/1.5A BEC for main power supply
20+
- 8V/1.5A BEC for powering Video Transmitter
21+
22+
## Mechanical
23+
24+
- Dimensions: 36 x 36 x 17 mm
25+
- Weight: 10.5g
26+
27+
## Physical and pinout
28+
29+
![PilotGaeaSH7V1 front view](PilotGaeaSH7V1_front_view_Pin.jpg)
30+
31+
![PilotGaeaSH7V1 rear view](PilotGaeaSH7V1_rear_view_Pin.jpg)
32+
33+
## Power supply
34+
35+
The PilotGaeaSH7V1 supports 3-8s Li battery input. It has 2 ways of BEC, which result in 3 ways of power supplys. Please see the table below.
36+
37+
| Power symbol | Power source | Max power (current) |
38+
|--------------|---------------------------------------------------|---------------------|
39+
| BAT | directly from battery | |
40+
| 5V | from 5V BEC | 7.5W (1.5A) |
41+
| 8V | from 8V BEC, controlled by MCU | 12W (1.5A) |
42+
| 4V5 | from USB or 5V BEC, diodes isolate the two powers | 4.7W (1A) |
43+
44+
## UART Mapping
45+
46+
The UARTs are marked RXn and TXn in the above pinouts. The RXn pin is the receive pin for UARTn. The TXn pin is the transmit pin for UARTn.
47+
48+
- SERIAL0 -> USB
49+
- SERIAL1 -> UART7 (support CTS and RTS)
50+
- SERIAL2 -> USART1
51+
- SERIAL3 -> USART2
52+
- SERIAL4 -> not available
53+
- SERIAL5 -> RX8 (RX8 is also available as ESC telem if protocol is changed for this UART)
54+
- SERIAL6 -> UART4
55+
- SERIAL7 -> USART6(RCIN)
56+
57+
Any UART can be re-tasked by changing its protocol parameter.
58+
59+
## RC Input
60+
61+
The default RC input is configured on the UART6 and supports all RC protocols except PPM. The SBUS pin is inverted and connected to RX6. RC can be attached to any UART port as long as the serial port protocol is set to `SERIALn_PROTOCOL=23` and SERIAL6_Protocol is changed to something other than '23'.
62+
63+
## OSD Support
64+
65+
The PilotGaeaSH7V1 Supports onboard analog OSD using the AT7456 chip.The composited image is output via the VTX pin.
66+
67+
## PWM Output
68+
69+
The PilotGaeaSH7V1 supports up to 11 PWM outputs.
70+
All the channels support DShot.
71+
Outputs are grouped and every output within a group must use the same output protocol:
72+
73+
1, 2 are Group 1;
74+
3, 4, 5, 6 are Group 2;
75+
7, 8 are Group 3;
76+
11, 12 are Group 4;
77+
13(LED) is Group 5;
78+
Output 13 can be used as LED neopixel output;
79+
80+
## Battery Monitoring
81+
82+
The board has two internal voltage sensors and two external current sensor input.
83+
The voltage sensors can handle up to 8S LiPo batteries.
84+
Enable Battery monitor with these parameter settings :
85+
* BATT_MONITOR 4
86+
Then reboot.
87+
* BATT_VOLT_PIN 10
88+
* BATT_CURR_PIN 11
89+
* BATT_VOLT_MULT 11
90+
* BATT_AMP_PERVLT 40
91+
* BATT2_VOLT_PIN 18
92+
* BATT2_CURR_PIN 7
93+
* BATT2_VOLT_MULT 21
94+
* BATT2_AMP_PERVLT 40
95+
96+
## Compass
97+
98+
The PilotGaeaSH7V1 has no built-in compass, so if needed, you should use an external compass.
99+
100+
## Analog cameras
101+
102+
The PilotGaeaSH7V1 supports up to 2 cameras, connected to pin C1 and C2. You can select the video signal to VTX from camera by an RC channel. Set the parameters below:
103+
- RELAY2_FUNCTION 1
104+
- RELAY_PIN2 82
105+
- RC8_OPTION 34
106+
107+
## 8V switch
108+
109+
The 8V power supply can be controlled by an RC channel. Set the parameters below:
110+
- RELAY1_FUNCTION 1
111+
- RELAY_PIN 81
112+
- RC7_OPTION 28
113+
114+
## Loading Firmware
115+
116+
Initial firmware load can be done with DFU by plugging in USB with the bootloader button pressed.Then you should load the "*with_bl.hex" firmware, using your favourite DFU loading tool.
117+
Once the initial firmware is loaded you can update the firmware using any ArduPilot ground station software. Updates should be done with the "\*.apj" firmware files.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# hw definition file for processing by chibios_pins.py
2+
# for PilotGaea SH743-V1 bootloader
3+
4+
# MCU class and specific type
5+
MCU STM32H7xx STM32H743xx
6+
7+
# board ID for firmware load
8+
# Temporary BOARD_ID for development / PR
9+
APJ_BOARD_ID 9999
10+
11+
# crystal frequency, setup to use external oscillator
12+
OSCILLATOR_HZ 8000000
13+
14+
FLASH_SIZE_KB 2048
15+
16+
# bootloader starts at zero offset
17+
FLASH_RESERVE_START_KB 0
18+
19+
# the location where the bootloader will put the firmware
20+
# the H743 has 128k sectors
21+
FLASH_BOOTLOADER_LOAD_KB 128
22+
23+
24+
# order of UARTs (and USB). Allow bootloading on USB and telem1
25+
SERIAL_ORDER OTG1 UART7
26+
27+
# UART7 (telem1)
28+
PE7 UART7_RX UART7 NODMA
29+
PE8 UART7_TX UART7 NODMA
30+
31+
# PA10 IO-debug-console
32+
PA11 OTG_FS_DM OTG1
33+
PA12 OTG_FS_DP OTG1
34+
35+
PA13 JTMS-SWDIO SWD
36+
PA14 JTCK-SWCLK SWD
37+
38+
# make sure Vsw is on during bootloader
39+
PD10 PINIO1 OUTPUT LOW
40+
41+
PE3 LED_BOOTLOADER OUTPUT LOW
42+
define HAL_LED_ON 0
43+
44+
# Add CS pins to ensure they are high in bootloader
45+
PC15 IMU1_CS CS
46+
PB12 MAX7456_CS CS
47+
PE11 IMU2_CS CS
48+
PD4 EXT_CS1 CS
49+
PE2 EXT_CS2 CS
50+
PC13 IMU3_CS CS

0 commit comments

Comments
 (0)