Skip to content

WM320 Gimbal top board

mefistotelis edited this page Jun 12, 2023 · 126 revisions

Table of Contents

Function
Variants
Parts
Programming
External interfaces
Service interfaces
Board view
Schematics

Function

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.

Variants

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.

Parts

P01069.07 components

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

Programming

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.

External interfaces

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

Ribbon cable connector to ESC center board

Here is the connector pinout:

Pin Label Function
1-4 12V Power supply to Gimbal
5-8 GND Ground for the Gimbal power

Ribbon cable connector to OFDM module

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

Service interfaces

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

Board view

Top of the 4K P01069.03 board (version uncertain due to photo quality):

WM320 Gimbal top board v3 top

Bottom of the 4K P01069.03 board:

WM320 Gimbal top board v3 bottom

Top of the 2.7K P01069.04 board (version uncertain due to photo quality):

WM320 Gimbal top board v4 top

Bottom of the 2.7K P01069.04 board:

WM320 Gimbal top board v4 bottom

Top of the 4K P01069.07 board:

WM320 Gimbal top board v7 top

Bottom of the 4K P01069.07 board:

WM320 Gimbal top board v7 bottom

Top of another 4K P01069.07 board, with more component markings visible:

WM320 Gimbal another top board v7 top

Top of a third 4K P01069.07 board, with Micron flash chips:

WM320 Gimbal top board v7 top

Bottom of the 4K P01069.07 board:

WM320 Gimbal top board v7 bottom

Top of the 2.7K P01069.07 board:

WM320 Gimbal top board v7 top

Bottom of the 2.7K P01069.07 board:

WM320 Gimbal top board v7 bottom

Schematics

Functional diagram - gimbal control

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
Loading

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.

Functional diagram - video pipeline

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
Loading

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.

Hardware schematics

The following schematics were made by enthusiasts:

The following application examples closely match the on-board circuits:

Clone this wiki locally