mirror of https://github.com/ArduPilot/ardupilot
404 lines
6.7 KiB
Markdown
404 lines
6.7 KiB
Markdown
|
# SIYI N7 Flight Controller
|
||
|
|
||
|
The SIYI N7 flight controller is sold by a range of
|
||
|
resellers, linked from https://siyi.biz
|
||
|
|
||
|
## Features
|
||
|
|
||
|
- STM32H743 microcontroller
|
||
|
- ICM20689 and BMI088 IMUs
|
||
|
- internal heater for IMU temperature control
|
||
|
- internal vibration isolation for IMUs
|
||
|
- MS5611 SPI barometer
|
||
|
- builtin IST8310 compass
|
||
|
- microSD card slot
|
||
|
- 4 UARTs plus USB
|
||
|
- 13 PWM outputs
|
||
|
- I2C and CAN ports
|
||
|
- RCIN port
|
||
|
- external safety Switch
|
||
|
- voltage monitoring for servo rail and Vcc
|
||
|
- power input port for external power bricks
|
||
|
|
||
|
## Pinout
|
||
|
|
||
|
## UART Mapping
|
||
|
|
||
|
- SERIAL0 -> USB
|
||
|
- SERIAL1 -> UART2 (Telem1)
|
||
|
- SERIAL2 -> unused
|
||
|
- SERIAL3 -> UART1 (GPS)
|
||
|
- SERIAL4 -> UART4 (GPS2, Telem4/I2C)
|
||
|
- SERIAL5 -> unused
|
||
|
- SERIAL6 -> UART7 (debug port)
|
||
|
- SERIAL7 -> USB2 (virtual port on same connector)
|
||
|
|
||
|
The Telem1 port has RTS/CTS pins, the other UARTs do not have RTS/CTS.
|
||
|
|
||
|
## Connectors
|
||
|
|
||
|
Unless noted otherwise all connectors are JST GH
|
||
|
|
||
|
### TELEM1 port
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin </th>
|
||
|
<th>Signal </th>
|
||
|
<th>Volt </th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (blk)</td>
|
||
|
<td>TX (OUT)</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>RX (IN)</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>CTS</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>5 (blk)</td>
|
||
|
<td>RTS</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>6 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
### GPS1 port
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin</th>
|
||
|
<th>Signal</th>
|
||
|
<th>Volt</th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (blk)</td>
|
||
|
<td>TX (OUT)</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>RX (IN)</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>SCL I2C1</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>5 (blk)</td>
|
||
|
<td>SDA I2C1</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>6 (blk)</td>
|
||
|
<td>Button</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>7 (blk)</td>
|
||
|
<td>button LED</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>8 (blk)</td>
|
||
|
<td>3.3V</td>
|
||
|
<td>3.3</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>9 (blk)</td>
|
||
|
<td>buzzer</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td> (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
### GPS2, Telem4/I2C port
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin</th>
|
||
|
<th>Signal</th>
|
||
|
<th>Volt</th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (blk)</td>
|
||
|
<td>TX (OUT)</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>RX (IN)</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>SCL I2C2</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>5 (blk)</td>
|
||
|
<td>SDA I2C2</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>6 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
### I2C
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin</th>
|
||
|
<th>Signal</th>
|
||
|
<th>Volt</th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (blk)</td>
|
||
|
<td>SCL</td>
|
||
|
<td>+3.3 (pullups)</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>SDA</td>
|
||
|
<td>+3.3 (pullups)</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
### CAN1
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin</th>
|
||
|
<th>Signal</th>
|
||
|
<th>Volt</th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (blk)</td>
|
||
|
<td>CAN_H</td>
|
||
|
<td>+12V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>CAN_L</td>
|
||
|
<td>+12V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
### POWER1
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin</th>
|
||
|
<th>Signal</th>
|
||
|
<th>Volt</th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>CURRENT</td>
|
||
|
<td>up to +3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>VOLTAGE</td>
|
||
|
<td>up to +3.3V</td>
|
||
|
</tr>
|
||
|
<td>5 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
<td>6 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
### USB
|
||
|
|
||
|
<table border="1" class="docutils">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th>Pin </th>
|
||
|
<th>Signal </th>
|
||
|
<th>Volt </th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>1 (red)</td>
|
||
|
<td>VCC</td>
|
||
|
<td>+5V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>2 (blk)</td>
|
||
|
<td>D_minus</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>3 (blk)</td>
|
||
|
<td>D_plus</td>
|
||
|
<td>+3.3V</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>4 (blk)</td>
|
||
|
<td>GND</td>
|
||
|
<td>GND</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
## RC Input
|
||
|
|
||
|
RC input is configured on the RCIN pin, at one end of the servo rail,
|
||
|
marked RCIN in the above diagram. This pin supports all RC
|
||
|
protocols.
|
||
|
|
||
|
## PWM Output
|
||
|
|
||
|
The SIYI N7 supports up to 13 PWM outputs. First first 8 outputs
|
||
|
(labelled "MAIN") are controlled by a dedicated STM32F103 IO
|
||
|
controller. These 8 outputs support all PWM output formats, but not
|
||
|
DShot.
|
||
|
|
||
|
The remaining 5 outputs (labelled AUX1 to AUX5) are the "auxiliary"
|
||
|
outputs. These are directly attached to the STM32H743 and support all
|
||
|
PWM protocols as well as DShot.
|
||
|
|
||
|
All 13 PWM outputs have GND on the top row, 5V on the middle row and
|
||
|
signal on the bottom row.
|
||
|
|
||
|
The 8 main PWM outputs are in 3 groups:
|
||
|
|
||
|
- PWM 1 and 2 in group1
|
||
|
- PWM 3 and 4 in group2
|
||
|
- PWM 5, 6, 7 and 8 in group3
|
||
|
|
||
|
The 4 auxiliary PWM outputs are in 2 groups:
|
||
|
|
||
|
- PWM 1, 2, 3 and 4 in group4
|
||
|
- PWM 5 in group5
|
||
|
|
||
|
Channels within the same group need to use the same output rate. If
|
||
|
any channel in a group uses DShot then all channels in the group need
|
||
|
to use DShot.
|
||
|
|
||
|
## Battery Monitoring
|
||
|
|
||
|
The board has a dedicated power monitor ports on a 6 pin
|
||
|
connector. The correct battery setting parameters are dependent on
|
||
|
the type of power brick which is connected.
|
||
|
|
||
|
## Compass
|
||
|
|
||
|
The SIYI N7 has one builtin IST8310 compass.
|
||
|
|
||
|
## GPIOs
|
||
|
|
||
|
The 5 AUX PWM ports can be used as GPIOs (relays, buttons, RPM etc).
|
||
|
|
||
|
The numbering of the GPIOs for PIN variables in ArduPilot is:
|
||
|
|
||
|
- PWM1 50
|
||
|
- PWM2 51
|
||
|
- PWM3 52
|
||
|
- PWM4 53
|
||
|
- PWM5 54
|
||
|
|
||
|
## Analog inputs
|
||
|
|
||
|
The SIYI N7 has 7 analog inputs
|
||
|
|
||
|
- ADC Pin16 -> Battery Voltage
|
||
|
- ADC Pin17 -> Battery Current Sensor
|
||
|
|
||
|
## IMU Heater
|
||
|
|
||
|
The IMU heater in the SIYI N7 can be controlled with the
|
||
|
BRD_HEAT_TARG parameter, which is in degrees C.
|
||
|
|
||
|
## Loading Firmware
|
||
|
|
||
|
The board comes pre-installed with an ArduPilot compatible bootloader,
|
||
|
allowing the loading of *.apj firmware files with any ArduPilot
|
||
|
compatible ground station.
|