This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IMU Calibration Issue
I have been a long time user of Openplotter but have recently run into an issue that I am struggling with.

My problem is that the calibration program is not working for my IMU, which is a BerryIMU, it is an older version 1.6 but I have never had issues with it before.

I have previously been able to calibrate it using the PyPilot program, but after a recent fresh install of openplotter it has not been working.  When I hit the calibration button on the PyPilot screen in (ver 2.2.1) nothing happens.  I have also attempted to run pypilot_calibration from the terminal and it crashes, I will post the screen print below.

I have uninstalled and reinstalled PyPilot from the Openplotter settings screen but this did not help.  I have done a lot of searching but cannot find a solution, any help solving this would be greatly apreciated.

Printout of pypilot_calibration messages:-

pi@openplotter:~ $ pypilot_calibration
Traceback (most recent call last):
  File "/usr/local/bin/pypilot_calibration", line 11, in <module>
    load_entry_point('pypilot==0.16', 'console_scripts', 'pypilot_calibration')()
  File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/ui/", line 427, in main
  File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/ui/", line 32, in __init__
    super(CalibrationDialog, self).__init__(None)
  File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/ui/", line 333, in __init__
wx._core.wxAssertionError: C++ assertion "m_widget" failed at ../src/gtk/window.cpp(2857) in DoSetSize(): invalid window
Exception ignored in: <function CalibrationDialogBase.__del__ at 0xab04a810>
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/ui/", line 837, in __del__
    self.m_notebook.Unbind( wx.EVT_NOTEBOOK_PAGE_CHANGED, None )
  File "/usr/lib/python3/dist-packages/wx/", line 1416, in _EvtHandler_Unbind
    return event.Unbind(self, id, id2, handler)
  File "/usr/lib/python3/dist-packages/wx/", line 1485, in Unbind
    success += int(target.Disconnect(id1, id2, et, handler))
RuntimeError: wrapped C/C++ object of type Notebook has been deleted
Are you using the openplotter image from april this year?

Your problem is not at all specific to the IMU, it is an issue with the wx widgets python version it seems. I could fix this if I can reproduce it.
(2020-12-04, 10:20 PM)seandepagnier Wrote: Are you using the openplotter image from april this year?  

Your problem is not at all specific to the IMU, it is an issue with the wx widgets python version it seems.    I could fix this if I can reproduce it.

Thanks for the response.

The image that I used was "2020-03-24-Openplotter-v2-Starting-NOOBS"  looks like I downloaded it on the 15/4/2020.
I thought I would do another fresh install and only add the IMU with Pypilot. This time I use the image file not NOOBS file but the image file freshly downloaded from the web site. The version on the download is still 2020-03-24 Openplotter V2.

Before setting up the IMU I updated all the apps in settings and installed Pypilot. Pypilot is version is 2.1.1-beta.

after allowing I2C in the settings, I opened Pypiloit, set it to compass only at which point it recognised the IMU as STM LSM9DS0.

I then attempted to run the calibration program from the GUI and Terminal with exactly the same result.
I have worked out what the problem was.

I have been setting up the Pi using VNC Viewer form by laptop and when trying to run calibration in this headless configuration it falls over as documented above.

Today I built a fresh image from the deb file and to to do this plugged in a monitor and keyboard to the Pi. After the install Pypilot calibration worked.

I then plugged my original SD card with the image I was having issues with (with the keyboard and monitor still attached) wo work out how best to transfer all my config data and discovered that the calibration program was working. To confirm that the VNC Viewer was the issue I then rebooted headless again and the problem re-occurred.

So I have a way forward in my setup as I am not running headless on the boat.

However there does appear to be a bug with the calibration program when running headless which may effect some users.
it seems very strange that vnc would affect it.. What if the calibration is running on the display and you also use vnc to the same display? Could it have to do with color depth?
(2020-12-06, 08:02 PM)seandepagnier Wrote: it seems very strange that vnc would affect it..   What if the calibration is running on the display and you also use vnc to the same display?    Could it have to do with color depth?

If the display is running and I VNC in then it works.

It is when I boot headless and VNC that it does not work.  It is defiantly the issue, I have tried it in both configurations a number of times to confirm and can make the problem appear and go away on demand.

I do not know about colour depth.

I have unplugged the IMU for the moment to make a housing for it, if I get a chance later today I will plug it back in and try a couple of other computers around the house to see it it is just a local issue with my computer running VNC.
I had the same issue with the calibration process of my BNO 055 (recognized as a BNX 055).I was running the Pi headless (using VNC viewer) and I wasn't able to run the calibration (very unstable values and no dot in the calibration window). Just reboot the Pi with a screen and everything is fine now...
Thanks for the tip but unfortunately I don't think I can help solve the problem...
HI again,
This might not be the solution to the calibration issue. It solved the problem once but then it reappears..With a steady position of the IMU after a few minutes, the values I get in the alignment window are getting smaller and sometimes get to "false". After that, I cannot "move the boat" anymore. The signal K dashboard indicates no communication. The only way to reconnect is to change "Compass only" mode to "autopilot" mode (or reverse).
I'm running Openplotter on a Rpi 4. I've read issues with the BNO055 with Pi and Pi2 but I was confident with the Pi4. I'm waiting for a MPU9255 to see if it's a sensor problem...
If you are using BNO055 then I am not sure about the stability of the driver for this sensor. The mpu9255 has more fault correction logic and much better tested.

Forum Jump:

Users browsing this thread: 1 Guest(s)