Fixing flash in DM365 chip within Ph3 Pro gimbal

Yesterday I completely restored my Phantom. It is a pain.... (in my case)
1. I bought a new top gimbal board. I put it, I did not have any stabilization, the camera did not started completely, but there were weak sounds.
2. After that I ATTENTIVELY looked at the flex ribbon cable. On closer examination, the difference in the connector pad on the matrix board (the lower part of the gimbal) was noticed. And I saw on it the marking P01107.09. While all sellers on Aliexpress and Ebay had a loop version of P01107.08. And even seller of the original version! (but also for Phantom 3 adv/pro) With great difficulty, I found MY version of the cable.
I ordered the correct flex ribbon, I put it with a new top plate of the gimbal. When i turned on, there was a change of firmware. After the reboot, the stabilization of the camera appeared, and the image in the GO.
After that, I brought back the old ("broken") top gimbal board. The camera has flashed. After the reboot everything worked! NAND memory did not re-solder.

It was all in the wrong cable version. After installing the correct revision of the flex ribbon cable, the all has been working properly.
I'm happy.

My old cable:
View attachment 102241

I buy:
View attachment 102242

Hi 5yoda5 ,

Can you indicate what part number is your gimbal board - old and new . I have a P3A with malfunctioning gimbal board - part number P01069.07 . This board I think is overheated - very seldom works , but mostly not - green light not come on.
I bought replacement gimbal board from a crashed P3A - part number is P01069.10 , not very usual . With this board drone behave similar to yours when it had problem - green light blinking fast on gimbal , sometimes red , it does not seem to boot completely . Also yaw stays in left side after gimbal self calibration .
Do you think , this new board is not compatible with flat cable ? I do not know what number is the original cable .
Thanks

Just checked original cable - is P01107.09 as you suggested , but second number is KW1602 , not KW1604 as shown in your picture . I don't know what this second number means .
But my original cable seems to be OK since gimbal and camera feed works once in a while , until gets warm and then stops . Can not flash because of this problem , even with fan blowing on the board.
 
Last edited:
Make sure the RC is updated to matching version.


No idea. I know nothing about that model, and there are no photos of boards on O-Gs wiki.

Check connectivity between the boards with multimeter?
Look into Ambarella logs from UART pins to figure out whether it successfully sends the video stream?

EDIT:
Btw, if you are able to prepare high quality photos of the boards, both sides - that would help to elevate general knowledge on P3 4K.





U-Boot 1.1.4 (Aug 5 2015 - 17:33:50)

MI124
DRAM: 32 MB
Flash: 8 MB
In: serial
Out: serial
Err: serial
Press ESC to abort autoboot in 1 seconds
## Booting image at 9f050000 ...
Image Name: MIPS OpenWrt Linux-3.10.49
Created: 2017-06-19 9:57:44 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 905257 Bytes = 884 kB
Load Address: 80060000
Entry Point: 80060000
Verifying Checksum at 0x9f050040 ...OK
Uncompressing Kernel Image ... OK

Starting kernel ...

[ 0.000000] Linux version 3.10.49 (root@webster-virtual-machine) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r4697) ) #1 Mon Jun 19 17:57:40 CST 2017
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 0001974c (MIPS 74Kc)
[ 0.000000] SoC: Atheros AR9342 rev 2
[ 0.000000] Clocks: CPU:560.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:40.00 0MHz
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 02000000 @ 00000000 (usable)
[ 0.000000] User-defined physical RAM map:
[ 0.000000] memory: 02000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x00000000-0x01ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000-0x01ffffff]
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag es: 8128
[ 0.000000] Kernel command line: board=DJI-WM305 console=ttyS0,115200 root=/ dev/mtdblock3 init=/sbin/init mtdparts=ath-nor0:256k@0k(u-boot),64k@256k(u-boot- env),896k@320k(kernel1),3008k@1216k(rootfs1),896k@4224k(kernel2),3008k@5120k(roo tfs2),64k@8128k(art),3904k@320k(firmware1),3904k@4224k(firmware2),8192k@0k(all) mem=32M rootfstype=squashfs,jffs2 noinitrd
[ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Memory: 29180k/32768k available (2102k kernel code, 3588k reserve d, 363k data, 220k init, 0k highmem)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:51
[ 0.000000] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.070000] Mount-cache hash table entries: 512
[ 0.080000] NET: Registered protocol family 16
[ 0.080000] MIPS: machine is DJI WM305
[ 0.290000] ath_usb_init: id: 1122
[ 0.360000] bio: create slab <bio-0> at 0
[ 0.370000] Switching to clocksource MIPS
[ 0.370000] NET: Registered protocol family 2
[ 0.380000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.380000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.390000] TCP: Hash tables configured (established 512 bind 512)
[ 0.390000] TCP: reno registered
[ 0.400000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.400000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.410000] NET: Registered protocol family 1
[ 0.430000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.430000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORIT Y) (c) 2001-2006 Red Hat, Inc.
[ 0.440000] msgmni has been set to 56
[ 0.450000] io scheduler noop registered
[ 0.450000] io scheduler deadline registered (default)
[ 0.460000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.480000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[ 0.490000] console [ttyS0] enabled, bootconsole disabled
[ 0.490000] console [ttyS0] enabled, bootconsole disabled
[ 0.500000] ar934x-hs-uart.0: ttyATH0 at MMIO 0x18500000 (irq = 14) is a AR93 4X UART
[ 0.510000] ath79-spi ath79-spi: master is unqueued, this is deprecated
[ 0.520000] m25p80 spi0.0: found s25fl064k, expected m25p80
[ 0.530000] m25p80 spi0.0: s25fl064k (8192 Kbytes)
[ 0.530000] 10 cmdlinepart partitions found on MTD device ath-nor0
[ 0.540000] Creating 10 MTD partitions on "ath-nor0":
[ 0.540000] 0x000000000000-0x000000040000 : "u-boot"
[ 0.550000] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.560000] 0x000000050000-0x000000130000 : "kernel1"
[ 0.560000] 0x000000130000-0x000000420000 : "rootfs1"
[ 0.570000] 0x000000420000-0x000000500000 : "kernel2"
[ 0.580000] 0x000000500000-0x0000007f0000 : "rootfs2"
[ 0.580000] 0x0000007f0000-0x000000800000 : "art"
[ 0.590000] 0x000000050000-0x000000420000 : "firmware1"
[ 0.600000] 0x000000420000-0x0000007f0000 : "firmware2"
[ 0.600000] 0x000000000000-0x000000800000 : "all"
[ 0.610000] g_ether gadget: using random self ethernet address
[ 0.620000] g_ether gadget: using random host ethernet address
[ 0.620000] usb0: MAC 5a:89:48:15:f9:d0
[ 0.630000] usb0: HOST MAC aa:89:e3:6f:f3:8f
[ 0.630000] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 0.640000] g_ether gadget: g_ether ready
[ 0.650000] TCP: cubic registered
[ 0.650000] NET: Registered protocol family 17
[ 0.650000] 8021q: 802.1Q VLAN Support v1.8
[ 1.530000] jffs2: notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 o rphan) found.
[ 1.550000] VFS: Mounted root (jffs2 filesystem) readonly on device 31:3.
[ 1.560000] Freeing unused kernel memory: 220K (802c9000 - 80300000)
init started: BusyBox v1.22.1 (2017-04-24 18:18:20 CST)
starting pid 219, tty '': '/etc/init.d/rcS'
[ 2.590000] Loading modules backported from Linux version master-2014-05-22-0 -gf2032ea
[ 2.600000] Backport generated by backports.git backports-20140320-37-g5c33da 0
[ 2.850000] cfg80211: Calling CRDA to update world regulatory domain
[ 2.880000] cfg80211: World regulatory domain updated:
[ 2.880000] cfg80211: DFS Master region: unset
[ 2.880000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gai n, max_eirp), (dfs_cac_time)
[ 2.890000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 m Bm), (N/A)
[ 2.900000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 m Bm), (N/A)
[ 2.910000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 m Bm), (N/A)
[ 2.920000] cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A)
[ 2.930000] cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 2.940000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 2.940000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 m Bm), (N/A)
[ 2.950000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[ 3.790000] ath: phy0: eeprom contains invalid mac address: 11:22:33:44:55:66
[ 3.800000] ath: phy0: random mac address will be used: 7a:77:4d:b0:03:99
[ 3.840000] cfg80211: Calling CRDA for country: US
[ 3.850000] cfg80211: Regulatory domain changed to country: US
[ 3.850000] cfg80211: DFS Master region: FCC
[ 3.860000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gai n, max_eirp), (dfs_cac_time)
[ 3.870000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2500 m Bm), (N/A)
[ 3.870000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 1700 m Bm), (N/A)
[ 3.880000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2300 m Bm), (0 s)
[ 3.890000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 m Bm), (N/A)
[ 3.900000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 40 00 mBm), (N/A)
[ 3.920000] ieee80211 phy0: Atheros AR9340 Rev:0 mem=0xb8100000, irq=47
Mon Jun 19 09:57:54 UTC 2017
[ 4.800000] cfg80211: Calling CRDA for country: GB
[ 4.830000] cfg80211: Regulatory domain changed to country: GB
[ 4.830000] cfg80211: DFS Master region: ETSI
[ 4.840000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gai n, max_eirp), (dfs_cac_time)
[ 4.850000] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 1600 m Bm), (N/A)
[ 4.850000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 m Bm), (N/A)
[ 4.860000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 m Bm), (0 s)
[ 4.870000] cfg80211: (5490000 KHz - 5710000 KHz @ 80000 KHz), (N/A, 2700 m Bm), (0 s)
[ 4.880000] cfg80211: (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 40 00 mBm), (N/A)
Successfully initialized wpa_supplicant
[ 5.700000] device usb0 entered promiscuous mode
[ 5.720000] device wlan0 entered promiscuous mode
starting pid 469, tty '/dev/ttyS0': '/bin/login'
dji login: [ 8.360000] wlan0: authenticate with 60:60:1f:08:ea:40
[ 8.380000] wlan0: send auth to 60:60:1f:08:ea:40 (try 1/3)
[ 8.390000] wlan0: authenticated
[ 8.400000] wlan0: associate with 60:60:1f:08:ea:40 (try 1/3)
[ 8.410000] wlan0: RX AssocResp from 60:60:1f:08:ea:40 (capab=0x431 status=0 aid=1)
[ 8.410000] wlan0: associated
[ 10.430000] ath_usb_ep_queue, Invalid Params 819a2800 18, 0
[ 10.430000] error -22, stalling endpoint
[ 10.650000] ath_usb_ep_queue, Invalid Params 819a2800 18, 0
[ 10.650000] error -22, stalling endpoint
[ 11.000000] ath_usb_ep_queue, Invalid Params 819a2800 18, 0
[ 11.000000] error -22, stalling endpoint
[ 11.220000] ath_usb_ep_queue, Invalid Params 819a2800 18, 0
[ 11.220000] error -22, stalling endpoint
[ 11.570000] ath_usb_ep_queue, Invalid Params 8184a980 0, 0
[ 11.570000] send setup phase failed
[ 11.770000] ath_usb_ep_queue, Invalid Params 8184a980 0, 0
[ 11.770000] send setup phase failed
[ 12.100000] ath_usb_ep_queue, Invalid Params 8184a980 0, 0
[ 12.100000] send setup phase failed
[ 12.300000] ath_usb_ep_queue, Invalid Params 8184a980 0, 0
[ 12.300000] send setup phase failed
[ 12.430000] wlan0: deauthenticated from 60:60:1f:08:ea:40 (Reason: 2=PREV_AUTH_NOT_VALID)
[ 22.340000] wlan0: authenticate with 60:60:1f:08:ea:40
[ 22.360000] wlan0: send auth to 60:60:1f:08:ea:40 (try 1/3)
[ 22.370000] wlan0: authenticated
[ 22.380000] wlan0: associate with 60:60:1f:08:ea:40 (try 1/3)
[ 22.390000] wlan0: RX AssocResp from 60:60:1f:08:ea:40 (capab=0x431 status=0 aid=1)
[ 22.400000] wlan0: associated
[ 26.410000] wlan0: deauthenticated from 60:60:1f:08:ea:40 (Reason: 2=PREV_AUTH_NOT_VALID)
[ 47.110000] wlan0: authenticate with 60:60:1f:08:ea:40
[ 47.120000] wlan0: send auth to 60:60:1f:08:ea:40 (try 1/3)
[ 47.130000] wlan0: authenticated
[ 47.140000] wlan0: associate with 60:60:1f:08:ea:40 (try 1/3)
[ 47.150000] wlan0: RX AssocResp from 60:60:1f:08:ea:40 (capab=0x431 status=0 aid=1)
[ 47.160000] wlan0: associated
[ 51.160000] wlan0: deauthenticated from 60:60:1f:08:ea:40 (Reason: 2=PREV_AUTH_NOT_VALID)

process '/bin/login' (pid 469) exited. Scheduling for restart.
starting pid 675, tty '/dev/ttyS0': '/bin/login'
dji login: [ 82.630000] wlan0: authenticate with 60:60:1f:08:ea:40
[ 82.650000] wlan0: send auth to 60:60:1f:08:ea:40 (try 1/3)
[ 82.660000] wlan0: authenticated
[ 82.670000] wlan0: associate with 60:60:1f:08:ea:40 (try 1/3)
[ 82.680000] wlan0: RX AssocResp from 60:60:1f:08:ea:40 (capab=0x431 status=0 aid=1)
[ 82.680000] wlan0: associated
[ 86.690000] wlan0: deauthenticated from 60:60:1f:08:ea:40 (Reason: 2=PREV_AUTH_NOT_VALID)
 
These look like logs from Atheros Wifi chip from the drone.
Ok, so Atheros can't talk to something (to Ambarella, maybe?) and it restarts.

Things go bad after:
[ 10.430000] ath_usb_ep_queue, Invalid Params 819a2800 18, 0
[ 10.430000] error -22, stalling endpoint

This seem to be error from this code:

Code:
/*
* Endpoint queue.
* Queue a request to the endpoint and transer it immediately if possible
*/
static int ath_usb_ep_queue(struct usb_ep *_ep, struct usb_request *_req,
                gfp_t gfp_flags)
{
[...]
   /* Sanity checks */
    req = container_of(_req, struct ath_usb_req, req);
    if (!_req || !req->req.buf || !list_empty(&req->queue)) {
        ath_usb_error("%s, Invalid Params %p %d, %d\n", __func__,
                _req->buf, _req->length, list_empty(&req->queue));
        return -EINVAL;
    }

Meaning one of these conditions was met:
!_req - parameter _req points at address 0
!req->req.buf - length of buffer is 0
!list_empty(&req->queue) - a queue which stores all pending requests is not empty
Then from the values printed we see:
819a2800 - address of some buffer
18 - so length of buffer is 18
0 - so the queue is NOT empty - this is the condition we tripped

This code is a bit stupid, probably was patched by someone who didn't understood it fully. Anyway immediate transfer of a request failed because there were other requests already waiting to be transferred.

Also, worth noticing we are talking about requests sent through USB - so it looks like Atheros is connected to Ambarella via USB.

Now, why there are requests being queued and not transferred immediately? Either the other side didn't fully booted yet, or it's dead and cannot boot. Easy to figure out by waiting and checking whether it is always shown, or only in a few reboots and then the error message disappears. There's also a possibility that the other side did booted, but the USB connection between these chips is not working.

From the logs, Atheros also has issues establishing connection to the RC. It's hard to say whether it restarts because of issues with talking to Ambarella or to RC; I'd vote Ambarella.

This doesn't seem at all related to the DM365 chip discussed in this thread.
Also, would be nice if you'd comment the logs you sent. Describe the scenario, dump config etc.
 
Last edited:
These look like logs from Atheros Wifi chip from the drone.
Ok, so Atheros can't talk to something (to Ambarella, maybe?) and it restarts.

Things go bad after:


This seem to be error from this code:

Code:
/*
* Endpoint queue.
* Queue a request to the endpoint and transer it immediately if possible
*/
static int ath_usb_ep_queue(struct usb_ep *_ep, struct usb_request *_req,
                gfp_t gfp_flags)
{
[...]
   /* Sanity checks */
    req = container_of(_req, struct ath_usb_req, req);
    if (!_req || !req->req.buf || !list_empty(&req->queue)) {
        ath_usb_error("%s, Invalid Params %p %d, %d\n", __func__,
                _req->buf, _req->length, list_empty(&req->queue));
        return -EINVAL;
    }

Meaning one of these conditions was met:
!_req - parameter _req points at address 0
!req->req.buf - length of buffer is 0
!list_empty(&req->queue) - a queue which stores all pending requests is not empty
Then from the values printed we see:
819a2800 - address of some buffer
18 - so length of buffer is 18
0 - so the queue is NOT empty - this is the condition we tripped

This code is a bit stupid, probably was patched by someone who didn't understood it fully. Anyway immediate transfer of a request failed because there were other requests already waiting to be transferred.

Also, worth noticing we are talking about requests sent through USB - so it looks like Atheros is connected to Ambarella via USB.

Now, why there are requests being queued and not transferred immediately? Either the other side didn't fully booted yet, or it's dead and cannot boot. Easy to figure out by waiting and checking whether it is always shown, or only in a few reboots and then the error message disappears. There's also a possibility that the other side did booted, but the USB connection between these chips is not working.

From the logs, Atheros also has issues establishing connection to the RC. It's hard to say whether it restarts because of issues with talking to Ambarella or to RC; I'd vote Ambarella.

This doesn't seem at all related to the DM365 chip discussed in this thread.
Also, would be nice if you'd comment the logs you sent. Describe the scenario, dump config etc.

Sorry.
This is an Phantom 3 4k. This drone have the gimbal topboard practically identical to P3A but use the same video link from P3S . So there is an "OFDM" board with Atheros to perform this link.
I have only basic skills on programming but good skills on repairing to component level.
The gimbal top board was completely dead before i start to work on this drone so i did the reballing on Ambarella. After this i can take photos and videos properly stored in SD ... but the video link is dead... cant bind the controller.
Already tried to downgrade and upgrade both rc and ac Firmwares.. In the upgrade log the device 07 always apear Disconnected
 
Already tried to downgrade and upgrade both rc and ac Firmwares.. In the upgrade log the device 07 always apear Disconnected

Well in simpler terms, it looks like m0700 is booting, it's just restating due to issue with USB connection. Check the usb path from one chip to the other. Maybe cable or connector is bad? Maybe there's some kind of diode or USB Mux between one of the chips and the cable?

Remember it would be helpful if you can make sharp photos of the boards involved.

EDIT: It's also possible that m0700 can no longer talk to the Ambarella because its firmware is different. If the new FW you used changed the communication protocol a bit, and you updated m0100 but not m0700, they may not be able to understand messages from each other.
 
Last edited:
I'm going to throw one I accidentally started a fire on in the oven and see what needs to be removed before I try to reflow another one in there :tearsofjoy:
 
hello guys i have the same troubles discribed here my log file is below after firmware update no image so i need some help from expertise on this thread (especially thread starter dear quaddamage ) hopefully i succeed again cause last week i fixed my gl300A transmitter by a similar way i referred to a similar method on YouTube done by a very nice guy Terry
but that fix is for the transmitter now on the p3pro gimbal it seems that the flashing is much more tricky and needs some assistance to be on track... now what i did so far i started the same method outline in this thread i used a usb to ttl module( the same that i used to flash gl300A) imade the connection just like described here
but i faced a problem in the method of flashing the gimbal , the putty is not reading it on the same ttlusb i used to flash the gl300A, i powered the gimbal board from the ftdi(ttl usb in my case) it self, when i use the 3.3v the ttl will not be defined as a com port( unknown device) and will not launch the putty on that port, when i use the 5v option i t opens the comport in putty and the board status led blinks green for some time then red but no serial data received on putty?! i tried the ftdi32 same result so kindly i will proceed by posting every step i proceed to asking for help in case i got stuck ... as i said this fix is tricky and may need some times the hardware like dm365 chip replacement..
 

Attachments

  • P3X_FW_LOG_AB (5).txt
    12.8 KB · Views: 196
but that fix is for the transmitter now on the p3pro gimbal it seems that the flashing is much more tricky

It isn't. It's the exact same chip, in very similar configuration.

i powered the gimbal board from the ftdi(ttl usb in my case) it self, when i use the 3.3v the ttl will not be defined as a com port( unknown device) and will not launch the putty on that port, when i use the 5v option i t opens the comport in putty

You need power supply which gives at least 700mA @ 5V.
Make sure you understand the difference between power voltage and logic signals voltage.
 
thanks in advance and great appreciation to you guys here especially Quaddamage tons of p3ps worldwide will be saved( thats tons of money spent and hours of labor and recources to produce the exceptional phantom3 , and that is on behalf of your efforts and most important sharing it, some times this tremendous growing ethic of sharing such knowlege make the rc hobby uniquely awsome...................................
now to get into details, i will post a pic of the connections i made to the gimbal board, first lets comment on the connection! i will use an external 5v the second time i try, but in that case i suppose that it will not matter what the ttl usb voltage configuration is i will not use neither the 3.3v nor the 5 v fromm ttl . i will use tx,rx, and ground only. is this right??!!
gimb4.jpg

instead of using several flashes , imges, kernals etc... and i am almost zero in python, so i prefer to use a single order like the method of the flashing of the transmitter gl300a where i just typed in one order and it did the whole magic, now i will try the external 5v thing and come back to update the results
 
Last edited:
i suppose that it will not matter what the ttl usb voltage configuration is i will not use neither the 3.3v nor the 5 v fromm ttl .

False. You will not use power from the USB-to-TTL, but levels of logic signals are still very important. DaVinci on all DJI boards uses 3.3V logic. Anything beyond that may fry the chip (if I remember the datasheet correctly, 5V logic can't even be used in DaVinci - only 1.8 or 3.3V). Receiving probably wouldn't generate proper values as well if the voltage is invalid.

You may want to read my tutorial on GL300 flashing - it explains a lot of things, which apply to gimbal as well. And in large part, to any microprocessor.

so i prefer to use a single order like the method of the flashing of the transmitter gl300a where i just typed in one order

I assume you mean "one command".

It doesn't work like this. Which commands you need depend on which partitions are damaged. There is no one command to restore the whole NAND.
Again, see my gl300 tutorial.
 
Last edited:
i will check your thread , i need at least some details to learn to avoid mistakes, it seems i will be busy fixing my car a couple of days and i will be back , any way the supply voltage to the gimbal in my attempt was 5v from ttl usb and it didnot work all methods stated to supply 5v, i know chips operate at a voltage that we should never go beyond but i didnot recognize that setting the ttl to 5v will affect its operation as uart (tx, rx , ground)!! i hope that my attempt didnt cause any harm what do you say?
 
i have just attempted some thing that didnot work also... i used one ttlusb to supply 5v i just connected to it 5v and ground to gimbal.. i used another ttl usb i setted to 3.3v to make the serial connection where i connected tx,rx, and ground to this ttl and opened the putty but nothing is being transmitted or recieved... only led status are flashing on gimbal now i will take my time reading the details more and will update upon next attempt
 
Yesterday I completely restored my Phantom. It is a pain.... (in my case)
1. I bought a new top gimbal board. I put it, I did not have any stabilization, the camera did not started completely, but there were weak sounds.
2. After that I ATTENTIVELY looked at the flex ribbon cable. On closer examination, the difference in the connector pad on the matrix board (the lower part of the gimbal) was noticed. And I saw on it the marking P01107.09. While all sellers on Aliexpress and Ebay had a loop version of P01107.08. And even seller of the original version! (but also for Phantom 3 adv/pro) With great difficulty, I found MY version of the cable.
I ordered the correct flex ribbon, I put it with a new top plate of the gimbal. When i turned on, there was a change of firmware. After the reboot, the stabilization of the camera appeared, and the image in the GO.
After that, I brought back the old ("broken") top gimbal board. The camera has flashed. After the reboot everything worked! NAND memory did not re-solder.

It was all in the wrong cable version. After installing the correct revision of the flex ribbon cable, the all has been working properly.
I'm happy.

My old cable:
View attachment 102241

I buy:
View attachment 102242
can you share with us the link where did you buy the top gimbal and the ribbon cable?
 
Hello Community, I have a P3 advanced. It flew into a hedge. After this I didn't have any video signal. I changed the flex cable. But it was still not working. The led on the gimbal is not flashing or shining. I tried to go on the uart (RX/TX) but it didn't show anything also BOOTME doesn't work. can somebody helb me? Please
 
The led on the gimbal is not flashing or shining.

If something doesn't turn on, the first thing you check is whether it is plugged to power.
Power circuit issues are usually easy to solve. Check voltages on the Gimbal Top board. Trace those which are missing.
 
hay, i put 5v from a power supply and the 3.3V came from the ftdi chip. I can't see anything on tx or RX
 
Before you go with FTDI, check if the board distributes power properly. There are test points on the board. Some have voltages in the name. Use multimeter.

Also, try testing the whole power circuit, including 12V buck converter which gets power via ribbon cable from ESC Center Board.

The current draw should be between 500mA and 1200 mA @ 5V, if both Ambarella and DaVinci are powered.
 

Recent Posts

Members online

Forum statistics

Threads
143,099
Messages
1,467,634
Members
104,985
Latest member
DonT