DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

Mavic 2 Pro Gimbal Out of Whack After Replacement

wearefree

New Member
Joined
Apr 24, 2022
Messages
2
Reactions
2
Age
41
Location
Gold Country
Hello Friends! My first drone crash here (Mavic 2 Pro). At first I thought I could replace yaw/roll arm by myself. So I ordered the pat from AliExpress and when received, I replaced it. The camera was working fine but the gimbal did not respond. I tried taking it apart and putting it back together a few times and made sure the ribbon cables were snapped in. Nothing worked. So I finally broke down and bought an entire gimbal/camera assy.

I replaced the Gimbal/camera assembly with one I purchased from eBay authorized reseller. It finally works. Sorta. During the initialization boot process, the gimbal does it's acrobatics but ultimately ends up completely crooked when it "thinks" it is calibrated.

CRzaDUN.jpg

VXGL8uF.jpg


I watched the video about the python reset:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

My first issue is that I have a Mac and I’m not sure how to get the COM ports figured out. Also I am not sure that this is the actual issue.

That’s why I wanted tp post here and see if anyone has had this type of issue before and what the solution might be. Thank you so much!

P.S. Here is the actual video of what's going on with my drone on boot:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
Hello Friends! My first drone crash here (Mavic 2 Pro). At first I thought I could replace yaw/roll arm by myself. So I ordered the pat from AliExpress and when received, I replaced it. The camera was working fine but the gimbal did not respond. I tried taking it apart and putting it back together a few times and made sure the ribbon cables were snapped in. Nothing worked. So I finally broke down and bought an entire gimbal/camera assy.

I replaced the Gimbal/camera assembly with one I purchased from eBay authorized reseller. It finally works. Sorta. During the initialization boot process, the gimbal does it's acrobatics but ultimately ends up completely crooked when it "thinks" it is calibrated.

CRzaDUN.jpg

VXGL8uF.jpg


I watched the video about the python reset:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

My first issue is that I have a Mac and I’m not sure how to get the COM ports figured out. Also I am not sure that this is the actual issue.

That’s why I wanted tp post here and see if anyone has had this type of issue before and what the solution might be. Thank you so much!

P.S. Here is the actual video of what's going on with my drone on boot:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
Just watching the video is not good enough.
You have to run JointCourse and LinearHall.

JointCoarse will move the gimbal to its extremities and record the values in the firmware.

LinearHall will then centre and level the camera between the extremities stored in the firmware.
You can then run the gimbal calibration if you wish.
 
  • Like
Reactions: wearefree
Wow, I was able to do it and fix the Mavic 2 Pro gimbal! Thank you for pointing me in the right direction. Couldn't have done it without you Yorkshire_Pud and Fizzbang

Since there is not a ton of info out there on how to do this on a Mac (I'm on Big Sur 11.4), here are a few tips.

1. The video above says to use py setup.py install on a Windows computer. You must use the following command inside Terminal on a Mac in order to install the script: python3 setup.py install

2. To determine the USB port your drone is using while connected, run this command in Terminal:
ls /dev/tty.*

3. First run, JointCoarse using this command:
./comm_og_service_tool.py --port /dev/tty.usbmodemXXXX -vv WM240 GimbalCalib JointCoarse where usbmodemXXXX is the port number you find from the command you ran in step #2. The above command will only work for Mavic 2 Pro. Replace "WM240" with your drone's model. Here's the list of codes for other DJI models:

WM610 = 5 # Released 2014-11-13 Inspire 1
P3X = 6 # Released 2015-03-09 Phantom 3 Professional
P3S = 7 # Released 2015-03-09 Phantom 3 Advanced
MAT100 = 8 # Released 2015-06-08 Matrice 100
P3C = 9 # Released 2015-08-04 Phantom 3 Standard
MG1 = 10 # Released 2015-11-27 Agras MG-1
WM325 = 11 # Released 2016-01-05 Phantom 3 4K
WM330 = 12 # Released 2016-03-02 Phantom 4 (now referenced as Phantom 4 Standard)
MAT600 = 13 # Released 2016-04-17 Matrice 600
WM220 = 14 # Released 2016-09-28 Mavic Pro/Platinum
WM620 = 15 # Released 2016-11-16 Inspire 2
WM331 = 16 # Released 2016-11-16 Phantom 4 Pro
MAT200 = 17 # Released 2017-02-26 Matrice 200
MG1S = 18 # Released 2017-03-28 Agras MG-1S
WM332 = 19 # Released 2017-04-13 Phantom 4 Advanced
WM100 = 20 # Released 2017-05-24 Spark
WM230 = 21 # Released 2018-01-23 Mavic Air
WM335 = 22 # Released 2018-05-08 Phantom 4 Pro V2
WM240 = 23 # Released 2018-08-23 Mavic 2 Pro/Zoom
WM245 = 24 # Released 2018-10-29 Mavic 2 Enterprise
WM246 = 25 # Released 2018-12-20 Mavic 2 Enterprise Dual
WM160 = 26 # Released 2019-10-30 Mavic Mini
WM231 = 27 # Released 2020-04-28 Mavic Air 2
WM232 = 28 # Released 2021-04-15 (MAVIC) AIR 2S
WM260 = 29 # Released 2021-11-05 (MAVIC) 3

4. Run LinearHall using this command ./comm_og_service_tool.py --port /dev/tty.usbmodemXXXX -vv WM240 GimbalCalib LinearHall Replace the usbmodemXXXX with the same port number as above.

5. After running the JointCoarse, the gimbal was 99% perfectly balanced. I couldn't believe it. Biggest issue I ran into was following the comments discussion in this thread where the first suggestion was incorrect because the "--port" parameter was missing. I keep trying to run it and would just get nowhere. Once the --port parameter was added, everything worked.

I hope this helps another Mac user with a DJI drone. I am very thankful for this community. I couldn't have done it without your help. Thank you so much!
 
Last edited:
Wow, I was able to do it and fix the Mavic 2 Pro gimbal! Thank you for pointing me in the right direction. Couldn't have done it without you Yorkshire_Pud and Fizzbang

Since there is not a ton of info out there on how to do this on a Mac, here are a few tips.

1. The video above says to use py setup.py install on a Windows computer. You must use the following command inside Terminal on a Mac in order to install the script: python3 setup.py install

2. To determine the USB port your drone is using while connected, run this command in Terminal:
ls /dev/tty.*

3. First run, JointCoarse using this command:
./comm_og_service_tool.py --port /dev/tty.usbmodemXXXX -vv WM240 GimbalCalib JointCoarse where usbmodemXXXX is the port number you find from the command you ran in step #2. The above command will only work for Mavic 2 Pro. Replace "WM240" with your drone's model. Here's the list of codes for other DJI models:

WM610 = 5 # Released 2014-11-13 Inspire 1
P3X = 6 # Released 2015-03-09 Phantom 3 Professional
P3S = 7 # Released 2015-03-09 Phantom 3 Advanced
MAT100 = 8 # Released 2015-06-08 Matrice 100
P3C = 9 # Released 2015-08-04 Phantom 3 Standard
MG1 = 10 # Released 2015-11-27 Agras MG-1
WM325 = 11 # Released 2016-01-05 Phantom 3 4K
WM330 = 12 # Released 2016-03-02 Phantom 4 (now referenced as Phantom 4 Standard)
MAT600 = 13 # Released 2016-04-17 Matrice 600
WM220 = 14 # Released 2016-09-28 Mavic Pro/Platinum
WM620 = 15 # Released 2016-11-16 Inspire 2
WM331 = 16 # Released 2016-11-16 Phantom 4 Pro
MAT200 = 17 # Released 2017-02-26 Matrice 200
MG1S = 18 # Released 2017-03-28 Agras MG-1S
WM332 = 19 # Released 2017-04-13 Phantom 4 Advanced
WM100 = 20 # Released 2017-05-24 Spark
WM230 = 21 # Released 2018-01-23 Mavic Air
WM335 = 22 # Released 2018-05-08 Phantom 4 Pro V2
WM240 = 23 # Released 2018-08-23 Mavic 2 Pro/Zoom
WM245 = 24 # Released 2018-10-29 Mavic 2 Enterprise
WM246 = 25 # Released 2018-12-20 Mavic 2 Enterprise Dual
WM160 = 26 # Released 2019-10-30 Mavic Mini
WM231 = 27 # Released 2020-04-28 Mavic Air 2
WM232 = 28 # Released 2021-04-15 (MAVIC) AIR 2S
WM260 = 29 # Released 2021-11-05 (MAVIC) 3

4. Run LinearHall using this command ./comm_og_service_tool.py --port /dev/tty.usbmodemXXXX -vv WM240 GimbalCalib LinearHall Replace the usbmodemXXXX with the same port number as above.

5. After running the JointCoarse, the gimbal was 99% perfectly balanced. I couldn't believe it. Biggest issue I ran into was following the comments discussion in this thread where the first suggestion was incorrect because the "--port" parameter was missing. I keep trying to run it and would just get nowhere. Once the --port parameter was added, everything worked.

I hope this helps another Mac user with a DJI drone. I am very thankful for this community. I couldn't have done it without your help. Thank you so much!
I think the --port parameter is a requirement for the latest version of python.
Its not required for earlier python versions. As shown in the video. Video Here!
I am glad you have sorted it.
 
  • Like
Reactions: wearefree
Greetings all, I have tried following the above steps, but I get just "

-bash: ./comm_og_service_tool.py: No such file or directory" when trying to run the command line in Terminal

I have a gimbal which is a replacement, the camera works fine but gimbal is unresponsive. Firmware won't show up in Assistant 2, and any attempts at updating firmware fail.

Thanks for your help

Cheers, Glenn
 
Greetings all, I have tried following the above steps, but I get just "

-bash: ./comm_og_service_tool.py: No such file or directory" when trying to run the command line in Terminal

I have a gimbal which is a replacement, the camera works fine but gimbal is unresponsive. Firmware won't show up in Assistant 2, and any attempts at updating firmware fail.

Thanks for your help

Cheers, Glenn
I do not have a MAC so am guessing here:

I guess that the command "-bash ./comm_og_servicetool.py" can be broken down
as "-bash ./" which I guess is to open a 'bash' terminal in thr roote directory './'
and
then run 'comm_og_service_tool.py' which I recognise as the name of the file to run.

So I would take the error message as correct, that is you do not have the file 'comm_og_service_tool.py' in you roote directory or wherever './' is pointing to.

The software is HERE in GitHub
 
When trying to install py serial I get this error.

Error: [WinError 32] The process cannot access the file because it is being used by another process: ‘c:\\users\\londo\\appdata\\local\\programs\\pyton\\python311\\lib\\site-packages\\pyserial-3.5-py3.11.egg’
 
When trying to install py serial I get this error.

Error: [WinError 32] The process cannot access the file because it is being used by another process: ‘c:\\users\\londo\\appdata\\local\\programs\\pyton\\python311\\lib\\site-packages\\pyserial-3.5-py3.11.egg
 
Hello Friends! My first drone crash here (Mavic 2 Pro). At first I thought I could replace yaw/roll arm by myself. So I ordered the pat from AliExpress and when received, I replaced it. The camera was working fine but the gimbal did not respond. I tried taking it apart and putting it back together a few times and made sure the ribbon cables were snapped in. Nothing worked. So I finally broke down and bought an entire gimbal/camera assy.

I replaced the Gimbal/camera assembly with one I purchased from eBay authorized reseller. It finally works. Sorta. During the initialization boot process, the gimbal does it's acrobatics but ultimately ends up completely crooked when it "thinks" it is calibrated.

CRzaDUN.jpg

VXGL8uF.jpg


I watched the video about the python reset:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

My first issue is that I have a Mac and I’m not sure how to get the COM ports figured out. Also I am not sure that this is the actual issue.

That’s why I wanted tp post here and see if anyone has had this type of issue before and what the solution might be. Thank you so much!

P.S. Here is the actual video of what's going on with my drone on boot:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
Do you still have the first gimbal?
 
Hello Friends! My first drone crash here (Mavic 2 Pro). At first I thought I could replace yaw/roll arm by myself. So I ordered the pat from AliExpress and when received, I replaced it. The camera was working fine but the gimbal did not respond. I tried taking it apart and putting it back together a few times and made sure the ribbon cables were snapped in. Nothing worked. So I finally broke down and bought an entire gimbal/camera assy.

I replaced the Gimbal/camera assembly with one I purchased from eBay authorized reseller. It finally works. Sorta. During the initialization boot process, the gimbal does it's acrobatics but ultimately ends up completely crooked when it "thinks" it is calibrated.

CRzaDUN.jpg

VXGL8uF.jpg


I watched the video about the python reset:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

My first issue is that I have a Mac and I’m not sure how to get the COM ports figured out. Also I am not sure that this is the actual issue.

That’s why I wanted tp post here and see if anyone has had this type of issue before and what the solution might be. Thank you so much!

P.S. Here is the actual video of what's going on with my drone on boot:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
I had this happen also. The gimbal over shoots on the one side, enters the body cut out and fights to free it’s self. Goes into overload very quickly and becomes limp.
You can see this happening as the gimbal pops and flies then it is doing nothing to find center.

I thought python was supposed to sense excess travel……
My one thought is the dampener is out off alignment as if weak and letting the gimbal hang wrong?

Did You come up with a winning solution?
 
Last edited:
jftman
This is a very long and old thread but the information is still valid. You need to give a little more detail.
What model drone are you refering to?
What app do you use to fly it?
Has the gimbal been damaged in anyway?

Anyhow I will make the assumption here that you are refering to a Mavic 2 Pro/Zoom that has not been crashed.
First Boot up the drone.
Use the DJI Go4App and run the Gimbal Auto Calibration.
You can find this command:-​
in the camera view touch/click the Drone icon top and centre.​
You should now be in the Main Controller Settings menu.​
Touch/click on the camera icon with the bar across the top.(Sixth icon down on the left menu)​
Gimbal Auto Calibration is at the bottom of the list in the Gimbal Settings Menu lised under Advanced Settings.​

Let us know the outcome.​
If the above does not work you will have to check for physical damage and repair if necessary. Then you will need to run JointCourse and LinearHall.

JointCoarse will move the gimbal to its extremities and record the values in the firmware.

LinearHall will then centre and level the camera between the extremities stored in the firmware.
You can then run the gimbal calibration if you wish.
 
Yes. Mavic 2 Pro. Replaced Yaw Roll arm.
The odd thing I see is the knuckle gets caught using Coarse going to the right. It gets lodged inside the right skirt area of body and air intake. Goes in, gets confused and tries to go the wrong direction in deeper.

The travel on the left side goes no where near the skirt.
Flicking st times gets the gimbal into correct position and functioning.
Hall goes perfect until it is rolling right everyTime at 60 percent and stops.
In Hall it never goes into the skirt or makes contact at all with the drone.

You would say, this is great, but at this point it is hesitating , overloading and stop going limp. Flicking it feels like it is under power and moving the drone it looks like it is operational, just off to the right side, like in profile mode if that even exists.

Using the Go4 app and controller.
If the start up dance does not Complete successfully there is no gimbal icon to calibrate it.

Sometimes if I point the nose down I can get it to finish and operate. Sometimes it finishes because it got out of the right side snag. Then the auto and manual calibration can be performed in the app.

But it never completes in Hall, just reaches 60 % and goes limp. When I do the manual tap tap tapping it jitters but dies not choose a position.

When I swipe across the screen sideways I can get it to move back and forth.

When using Python in Hall I observe smooth steady movement until the Yaw feature starts.
In there it goes OK left but when it is center moving right, about where near the right skirt, but in the middle moving right it hesitates like it is stuck very briefly, and pushes past moving slow and smooth until that area when it won’t travel any more. (With no contact like Coarse), and won’t finish a snap back to middle. Where at that time should do a fine tune with small deflection for perfect horizon.

When I put in the Yaw Roll arm I did notice that the travel in the Yaw axis is not the same in both directions.

Then , is there a step when inserting a motor into the arm to initially press it in? I did take a fike and removed some of the skirt on the right side trying to comoensate.

The next thing I will try is replacing the dampener. It seems more flimsy and I believe it is not OEM from AliExpress. It may let the gimbal hang out of alignment.

When installing it, the usual little metal tab on one of the three screw holes is not there. It’s color is more brown than deep green.

I have installed an old version of Dji *** 2 and enabled debug with devTools. I wonder if an advanced calibration exists. There is a sophisticated IMU cal featured.
 
Last edited:
So
This is the part you have replaced. "The Yaw Arm"
1734803661939.png
The motor with the single ribbon is attached by three screws to the plastic gimbal damber board beneath the Printed Circuit Board.

Lets assume that you have the correct arm.
1734804477972.png

I do not know if this will help but if I was giving instuction on fixing this part.
I would stress the importance of using the correct screws. (or at least screws that do not extend into the motor).
I think from memory that the screws are only part threaded similar to these,with only enough thread to fill the thickness of the motor top plate without extending below the plate into the motor area.
1734805076838.png
These are not the correct screws but are just to illustrate what I mean by part threaded with a shoulder.

Although I have used all threaded screws myself in the past but you must not over tighten them such that the end of the screws project below the metal plate and into the motor area.
1734808184445.png

Once fitted the yaw arm if not powered on must twist freely from left to right in an arc of just over 180 degrees from stop to stop.
 
I always have found those three screws to be bright chrome. And I put them back in.The travel I mentioned is with the gimbal being reassembled..
 

DJI Drone Deals

New Threads

Forum statistics

Threads
136,103
Messages
1,613,482
Members
164,675
Latest member
iZoomie
Want to Remove this Ad? Simply login or create a free account