-
Notifications
You must be signed in to change notification settings - Fork 423
WM320 Gimbal top board
Function
Variants
Parts
Programming
External interfaces
Service interfaces
Board view
Schematics
The top gimbal board is responsible for video processing and encoding for both SD-card output and live FPV feed. It also controls the gimbal, and contains yaw motor driver. Drivers for two remaining gimbal motors are placed on separate boards. Since this is the board which contains SD-card slot, it controls firmware update process when a card with new firmware is inserted.
There are multiple versions of the board. For each version, there are two sub-variants which differ in the amount of components mounted on the board - P3S version in which Ambarella chip controls both video channels, and P3X version which contains additional hardware compressor for FPV feed. When Ambarella chip is focused only on SD-card video output, it is able to process 4K video. The additional video encoder of P3X also allows greater FPV feed bit rate than a second pipeline within Ambarella chip.
Marking | Overview |
---|---|
P01069.03 | |
P01069.04 | Since this version, "Pb free" marking was moved to top side. |
P01069.07 | |
P01644.02 | Phantom 3 4K; visually similar, but incompatible with P01069 boards. |
Marking | Amt. | Pkg. | Function | Specification |
---|---|---|---|---|
DM365ZCE30 4AAV0IW 570 GI | 1 | 338-ball 13x13 NFBGA / ZCE | TMS320DM365 Digital Media System-on-Chip; only on 4K boards | description datasheet |
Elpida B8132B3PB-1D-F 14360R92100 | 1 | 168-ball 12×12 FBGA | Embedded LPDDR2 SDRAM for Ambarella, 16M words x 32 bits x 8 banks x 2 ranks = 1GB, data rate 1066Mbps | description |
Ambarella A9-A1-RH A1501 X1501-AN1 1R1 A9S75 | 1 | BGA | Ultra HD 4K Camera SoC | brief |
ARM1 STM32 F407IGH6 HPADU VQ KOR HP 501 | 1 | 201-ball 10x10 UFBGA176+25 | ARM-based 32-bit MCU; for gimbal master control | description |
ISSI 1511 IS43DR16640B-250BLI K083 8KN373000V1 CHN | 1 | 84-ball 8x12.5 TW-BGA | DDR2 SDRAM 64MB x16; used by DM365; only on 4K boards | datasheet |
Nanya 1541 NT5TU64M16HG 532037WOF | 1 | 84-ball 8x12.5 TW-BGA | DDR2 SDRAM 64MB x16; IS43DR replacement on some boards; only on 4K boards | |
DSPIC33 EP128 MC504 1S02J70 | 1 | 44-lead 6x6 QFN-S / VTLA-44 | digital signal controller; 70 MIPS core with integrated DSP and enhanced on-chip peripherals; for yaw motor control | description |
DAJ TI 51X DEX3 | 1 | 20-pin 3x3 WQFN-5555 | TI TPS650061RUKR 2.25MHz Step-Down Converter with Dual LDOs & SVS Power Management | description |
VUBI TI 48 SOOF | 2 | 16-pin 3x3 QFN-4444 | TI TLV62130RGT - 3-17V 3A Step-Down Converter | description |
MXIC X154009 MX30LF2G18AC-XKI 8C149000 | 1 | 63-ball 11x9 VFBGA | 3V SLC 2GBit NAND Flash memory; stores programming for A9S75 | description |
4YE12 NQ283 | 1 | 63-ball 11x9 VFBGA | Micron MT29F2G08ABAEAH4 NAND Flash; stores programming for A9S75; is MX30LF2G replacement on some boards | description |
MXIC MX30LF1G | 1 | 63-ball 11x9 VFBGA | 3V SLC 1GBit NAND Flash memory; only on 4K boards - stores programming for DM365 | description |
4UF12 NW361 | 1 | 63-ball 11x9 VFBGA | Micron MT29F1G08ABAEAH4 NAND Flash, 1GBit; only on 4K boards - stores programming for DM365; is MX30LF1G replacement on some boards | description |
5AAL2VU 26480CF | 1 | 24-lead 4x4 WQFN | TI LM26480QSQX-CF Dual High-Current Step-Down DC/DC and Dual Linear Regulators | description |
WE245 TI 56K A9GV | 1 | 26-lead 6.3x4.3 PVQFN-N24 | SN74AVC8T245 8-Bit Dual-Supply Bus Transceiver With Configurable Voltage Translation and 3-State Outputs; improves condition of signals transported through FFC | description |
316BCG M48845 | 1 | 8-pin 5x4.4 SOIC | MLX90316 Triaxis rotary position sensor; reads position of the magnet encoder ring on yaw motor shaft | decription |
OFW | 2 | 10-lead 2x1.5 UQFN-4141 | TI TS3USB221A-Q1 480 Mbps 1:2 USB Multiplexer/Demultiplexer Switch | description datasheet |
W1A 52 | 1 | 3-pin SOT-23 | PMBT3904 NPN switching transistor | description |
25R6 | 1 | 3-pin SOT-23 | ||
R18 | 1 | 5-pin SOT-25 | Low Dropout Linear Voltage regulator; produced by several manufacturers, ie. UTC UR132, ON NCP585 | UTC description ON description |
BNA | 1 | 5-pin SOT-25 | TPS71730DCKR Low-Noise, High-Bandwidth PSRR, Low-Dropout, 150 mA Linear Regulator | datasheet |
F21A | 1 | 6-pin | TI LM3880MF-1AB Three-Rail Simple Power Sequencer | datasheet |
VS8 U | 1 | 3-pin SOT-23 | ||
C 5A AK | 1 | 8-lead | Atmel ATSHA204 CryptoAuthentication | datasheet |
AEKF | 2 | 8-pin SOT-23 | Maxim MAX3051EKA+T IC TXRX CAN 1MBPS | datasheet |
ADEF 089 | 3 | 10-lead 3x3 QFN-55 | MP1907GQ QFN10; 100V, 2.5A, High Frequency Half-bridge Gate Driver | description |
7804 OV5U11 | 3 | 8-lead 3x3 DFN-44 | AON7804 30V Dual N-Channel MOSFET; motor control transistors | datasheet |
T120 MhNK | 2 | 4-lead SMD 3225 | Quartz oscillator, 12 MHz | |
T240 Me6P | 2 | 4-lead SMD 3225 | Quartz oscillator, 24 MHz | |
C3GEC | 1 | 4-lead 7x1.5 SMD | plastic covered metal case with quartz oscillator; Seiko Epson MC-146 series or its knock-off, exact model unknown | description |
CON 1-35 2-34 | 2 | SMD | Omron XF2B-3545-31A; Flat Flex Cable ZIF Connector | datasheet |
none/CENTER | 1 | 8-pin 1.25mm con. | GH series connector from JST, BM08B-GHS-TBT; see External Interfaces listing for details | |
none/OFDM | 1 | 6-pin 1.25mm con. | GH series connector from JST, BM06B-GHS-TBT; see External Interfaces listing for details |
Chips | Firmware | Description |
---|---|---|
A9S75, EDB8132B, MX30LF2G/MT29F2G | m0100, m0101 | Takes care of video encoding and controls firmware update process. Controls SD card slot. Consists of loader (01) and application (00). |
DM365, IS43DR, MX30LF1G/MT29F1G | m0800 | Secondary video encoding channel, only in P3X; prepares video for FPV transmission through Lightbridge. |
DSPIC33 | gimbal arm Firmware | Gimbal yaw control; reads yaw arm position potentiometer and supplies control signal to the motor driver circuit. Pre-programmed and not included in firmware updates. |
STM32F407 | m0400 | Gimbal master control; provides gimbal arm micro-controllers with proper signals to ensure stabilization and responsiveness to user commands. |
Connectors on the board are:
Marking | Overview |
---|---|
8-pin GH series 1.25mm ESC center brd. con. | Ribbon cable connector to ESC center board, which provides 12V power only. No communication channel exists on this connector. |
6-pin GH series 1.25mm OFDM brd. con. | Ribbon cable connector to OFDM module, which provides USB based interface to Cypress deserializer, and CAN communication interface to Lightbridge controller. |
2-pin fan con. | Connects cooling fan; usually soldered in. |
2-pin unknown con. | No socket soldered; unknown purpose |
35-pin FFC con. near screw | Flex flat cable connector to moving boards in the gimbal |
35-pin FFC con. near center | Flex flat cable connector to moving boards in the gimbal |
14-pin FFC con. | Flex flat cable connector to moving boards in the gimbal |
micro-SD card slot | Allows inserting SD-card connected to Ambarella chip, for storing movies and photos, but also for firmware update. |
micro-USB connector |
Here is the connector pinout:
Pin | Label | Function |
---|---|---|
1-4 | 12V | Power supply to Gimbal |
5-8 | GND | Ground for the Gimbal power |
Here is the connector pinout:
Pin | Label | Function |
---|---|---|
1 | USB_D- | USB for transmission of live feed video, data+ |
2 | USB_D+ | USB for transmission of live feed video, data- |
3 | GND | Ground for the accompanying links |
4 | USB_SELECT | Allows OFDM to select which chip on the Gimbal is connected to USB lines; in practice, unused |
5 | CANL | DUML packets over CAN interface |
6 | CANH | DUML packets over CAN interface |
The following service pads exist on this board:
Marking | Overview |
---|---|
3V3VD | Regulated 3.3V power |
GND | Ground, connected connected to all other ground pads |
U0_T | 3.3V UART of Ambarella chip, Transmit line; Debug serial interface U0 which allows access to Ambarella system console |
U0_R | 3.3V UART of Ambarella chip, Receive line; |
URAT2_RX | 3.3V UART? |
URAT2_TX | 3.3V UART? |
GND | Ground, connected connected to all other ground pads |
MCLR_N | DSPIC33 Master Clear Pin External Reset Negated |
PGED | DSPIC33 related pin |
PGEC | DSPIC33 related pin |
3.3VD | Regulated 3.3V power |
GND | Ground, supplied from ESC Center board. |
12V | Regulated 12V power, supplied from ESC Center board |
+5V | Main power line for the board, created from the 12V input by a switching regulator |
VDD | |
H1 | |
H2 | |
H3 | |
MA | |
MB | |
MC | |
A9S_3.3VD | Regulated 3.3V power |
VDDA | |
1.8VD | Regulated 1.8V power |
GND | Ground, connected connected to all other ground pads |
OUT6 | |
OUT8 | |
1.25DDR2 | |
GIMBAL | |
365 | |
TDI | JTAG Test Data In |
TDO | JTAG Test Data Out |
TMS | JTAG Test Mode Select |
CLK | JTAG Test Clock |
RST | JTAG Test Reset |
RSTEX | |
VCC1V8 | 1.8V power for the DM365 media processor (only in Ph3 Pro) |
U3_RX | 3.3V UART? |
U3_CX | 3.3V UART? |
BT00 | DM36x chip BOOT0 select pin. The ARM can boot from either Asynchronous EMIF (OneNand/NOR) or from ARM ROM, as determined by the setting of the pin. |
BT01 | DM36x chip BOOT1 pin; used for invoking bootloader |
VCC3V3 | Regulated 3.3V power |
GND | Ground, connected connected to all other ground pads |
368_U0_RXP | 3.3V UART of DM36x chip, Receive line; Debug serial interface 368_U0 which allows access to UBoot and DaVinci Linux console |
368_U0_TXP | 3.3V UART of DM36x chip, Transmit line |
1V2 | 1.2V power for the DM365 media processor (only in Ph3 Pro) |
DP+ | USB multiplexer port 1, D+ line |
DM- | USB multiplexer port 1, D- line |
3.3VD | Regulated 3.3V power |
U1_T1 | 3.3V UART, Transmit line |
U1_R1 | 3.3V UART, Receive line |
BOOT0 | |
GND | Ground, connected connected to all other ground pads |
U1RT | 3.3V UART, Receive line |
U1TT | 3.3V UART, Transmit line |
CANH | CAN bus Hi wire |
CANL | CAN bus Lo wire |
SCL_DSP | |
MOSI | |
SWCLK | Serial Wire Debug Clock |
SWDIO | Serial Wire Debug I/O |
CS_DSP | |
B_S | |
GND | Ground, connected connected to all other ground pads |
Top of the 4K P01069.03 board (version uncertain due to photo quality):
Bottom of the 4K P01069.03 board:
Top of the 2.7K P01069.04 board (version uncertain due to photo quality):
Bottom of the 2.7K P01069.04 board:
Top of the 4K P01069.07 board:
Bottom of the 4K P01069.07 board:
Top of another 4K P01069.07 board, with more component markings visible:
Top of a third 4K P01069.07 board, with Micron flash chips:
Bottom of the 4K P01069.07 board:
Top of the 2.7K P01069.07 board:
Bottom of the 2.7K P01069.07 board:
flowchart LR
subgraph Gimbal top board
Gimbal-DUML(( ))
Gimbal-MCU[gimbal<br/>master<br/>control<br/>uC]
Gimbal-CryptoAuth[ATSHA204<br/>Crypto<br/>Auth]
Gimbal-Xlat(quartz<br/>oscillator)
Gimbal-DUML-- DUML ---Gimbal-MCU
Gimbal-Xlat---Gimbal-MCU
Gimbal-MCU-- CAN<br/>bus ---GDY-CAN-tx/rx
Gimbal-CryptoAuth---Gimbal-MCU
subgraph Gimbal driver yaw
GDY-CAN-tx/rx[CAN<br/>tx/rx]
GDY-uC[uC<br/>DSPIC33]
GDY-CAN-tx/rx---GDY-uC
GDY-Xlat(quartz<br/>oscillator)---GDY-uC
subgraph BLDC MOSFETs
GDY-motor-mosfet-pair-a(2x<br/>n-MOS)
GDY-motor-mosfet-pair-b(2x<br/>n-MOS)
GDY-motor-mosfet-pair-c(2x<br/>n-MOS)
GDY-half-bridge-driver-a[half-bridge<br/>driver]
GDY-half-bridge-driver-b[half-bridge<br/>driver]
GDY-half-bridge-driver-c[half-bridge<br/>driver]
GDY-half-bridge-driver-a---GDY-motor-mosfet-pair-a
GDY-half-bridge-driver-b---GDY-motor-mosfet-pair-b
GDY-half-bridge-driver-c---GDY-motor-mosfet-pair-c
end
GDY-uC---GDY-half-bridge-driver-a
GDY-uC---GDY-half-bridge-driver-b
GDY-uC---GDY-half-bridge-driver-c
GDY-uC---GDY-rotary-position-sensor
GDY-rotary-position-sensor(rotary<br/>position<br/>sensor)
end
end
GDY-brushless-motor((yaw<br/>brushless<br/>motor))
GDY-rotary-position-sensor-. ring encoder<br/>position .-GDY-brushless-motor
GDY-motor-mosfet-pair-a---GDY-brushless-motor
GDY-motor-mosfet-pair-b---GDY-brushless-motor
GDY-motor-mosfet-pair-c---GDY-brushless-motor
Gimbal-FFC-cable((FFC))
Gimbal-MCU-- CAN<br/>bus ---Gimbal-FFC-cable
The gimbal master control micro-controller receives DUML packets from OFDM board (unsure if the packets are transported through CAN or UART). This is how control commands are sent to it, and the gimbal status is shared with FC. To stabilize the arms, master control receives feedback from all the arms and data from gimbal IMU. It then sends commands to each of the arms through CAN.
The gimbal master control uses external quartz oscillator for its clock signal, and has access to CryptoAuth chip, though doesn't use it in normal operation.
The yaw driver receives commands in form of CAN packets, and sends back momentary position and status. The packets are composed by the small micro-controller, which drives gates on pairs of MOS transistors providing proper phases for the motor. The yaw driver micro-controller also receives feedback by reading a rotary position sensor bound with magnetic encoder on the shaft of the yaw arm motor. Note that this is the only arm driver which uses magnetic feedback.
flowchart LR
Gimbal-FFC-cable((FFC))
Gimbal-FFC-cable===Signal-Conditioner
subgraph Gimbal top board
Gimbal-DUML(( ))
Gimbal-CAN-trx[CAN<br/>tx/rx]
subgraph Main video pipeline
Signal-Conditioner[Video input<br/>transceiver/<br/>conditioner]
Ambarella-SoC[Ambarella A9<br/>Camera SoC<br/>2x ARM and DSP]
Ambarella-SoC---Ambarella-Xlat(quartz<br/>oscillator)
Ambarella-SoC---Ambarella-RAM[LPDDR2<br/>SDRAM<br/>1GB]
Ambarella-SoC---Ambarella-FLASH[NAND<br/>Flash<br/>2Gbit]
Ambarella-SoC== high bit rate<br/>video & photo ===Ambarella-SD-Slot(SD-card slot)
end
subgraph Live feed pipeline
DaVinci-SoC[DM365 DaVinci<br/>Digital Media<br/>SoC]
DaVinci-SoC---DaVinci-Xlat(quartz<br/>oscillator)
DaVinci-SoC---DaVinci-RAM[DDR2<br/>SDRAM<br/>64MB]
DaVinci-SoC---DaVinci-FLASH[NAND<br/>Flash<br/>1Gbit]
end
Gimbal-CryptoAuth[ATSHA204<br/>Crypto<br/>Auth]
Gimbal-USB-Switch[USB<br/>switch]
DaVinci-SoC== video<br/>stream<br/>over<br/>USB ===Gimbal-USB-Switch
Gimbal-CryptoAuth---DaVinci-SoC
Gimbal-DUML-- DUML ---Ambarella-SoC
Gimbal-DUML-- DUML ---DaVinci-SoC
Signal-Conditioner== image<br/>sensor<br/>data ===Ambarella-SoC
Ambarella-SoC---Gimbal-USB-Switch
Ambarella-SoC== low bit rate<br/>video stream ===DaVinci-SoC
Gimbal-CryptoAuth---Ambarella-SoC
end
Ribbon-OFDM((ribbon<br/>to OFDM))
Ambarella-SD-Card[SD-card]
Ambarella-SD-Slot---Ambarella-SD-Card
Gimbal-CAN-trx-- CAN<br/>DUML ---Ribbon-OFDM
Gimbal-USB-Switch===Ribbon-OFDM
Thick lines present propagation of video data. The video comes from sensor board through Flex Film Cable. To push such high data rate through the cable without degradation, signal conditioner in required. Then the sensor data goes to Ambarella, which is the central SoC for video data processing. It applies proper filtering to the data, then generates two streams out of it - high bandwidth stream is H.274 compressed and written to SD-card (if recording), low bandwidth stream is sent to DaVinci for compression (in Ph3 Advanced this stream is also compressed by Ambarella, which limits the available processing power, making it impossible to compress 4K video in the high bandwidth stream). The compressed low bandwidth stream is transported to OFDM board over the USB protocol.
Both Ambarella and DaVinci require external RAM and NAND chips, and quartz oscillators for clock signal generation. Both these chips have also access to CryptoAuth engine, which they can use to encrypt or decrypt their secret storage block, which contains encryption keys used by these SoCs.
The following schematics were made by enthusiasts:
- Phantom 3 Pro Overview (simplified schematic) - KiCad/PDF
- Phantom 3 Pro Gimbal Top Board Schematic - KiCad/PDF
The following application examples closely match the on-board circuits:
This page is created by drone enthusiasts for drone enthusiasts.
If you see a mistake, or you know more about specific subject, or you see an area for improvement for the wiki - create an issue in this project and attach your patch (or describe the change you propose).