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
40
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:

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:
 
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:

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:
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:

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:
Do you still have the first gimbal?
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
130,585
Messages
1,554,095
Members
159,586
Latest member
DoubleBarS