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
PyPilot RPI5 install - Roadmap
#1
Hi,

well, fooling around with it for around 7 months. First I tried an  rock5B which is a phantastic SBC and serves as my boat-cpu. Gave up on the MPU-9255 and decided to buy an rpi5 which is now with debian bookworm.

Fooling around since 2 months with it. BUT: RTIMULib2 uses qt4 and bookworm qt6! So I uninstalled qt6 and tried the remaining qt5... no success.
Wanted to downgrade to bullseye but his is he next mess....

Please: can someone give me a roadmap how to install pypilot properly. I want to use OpenCPN. Shall I install the OpenPlotter image or only signalK and/or node red?

I followed https://www.instructables.com/How-to-Con...Pi-Part-1/

i2cdetect -y 1 shows 0x68 so it should be OK

python mpu9250.py = OSError: [Errno 121] Remote I/O error

pypilot scrambles this out: (got to kill the rpi5 trough another console to copy the printouts from console)
####################
pypilot
autopilot start 357.336612625
world magnetic model not available
imu process 2173
nmea process 2177
am Hafen lauschen 20220 für nmea Verbindungen
gps process 2181
                Laden der Servokalibrierung /home/master/.pypilot/servocalibration
WARNUNG: Standard-Servokalibrierung verwenden !!
                                                Verfügbare Piloten: ['basic', 'absolute']
                                                                                         pypilotServer process 2186
                                                                                                                   Imu-Prozess in Echtzeit gemacht
                                                                                                                                                  Einstellungsdatei verwenden RTIMULib.ini
             Settings file RTIMULib.ini loaded
                                              Using fusion algorithm Kalman STATE4
                                                                                  pypilotInitialisierung abgeschlossen 357.416142546
                                                                                                                                    load file /home/master/.pypilot/pypilot.conf
   store_file /home/master/.pypilot/pypilot.conf.bak 357.428 False
                                                                  server setup has 6 pipes
                                                                                          zeroconf addresses ['192.168.0.105', '192.168.0.240', '127.0.0.1'] 3
                                                                                                                                                              zeroconf exception:
     e is {'192.168.0.105': ServiceInfo(type='_pypilot._tcp.local.', name='pypilot._pypilot._tcp.local.', addresses=[b'\xc0\xa8\x00i'], port=23322, weight=0, priority=0, server='pypilot._pypilot._tcp.local.', properties={'version': '0.56'}, interface_index=None)} 192.168.0.105
                                                                                                        imu rate auf rate eingestellt 20
                                                                                                                                        signalk zeroconf Service hinzufügen calypso._http._tcp.local. _http._tcp.local.
                                          gps filter process 2185
                                                                 signalk zeroconf Service hinzufügen Victron._http._tcp.local. _http._tcp.local.
                                                                                                                                                Einstellen der anfänglichen Kreiselvorspannung [0.0, 0.0, 0.0]
                                 signalk zeroconf Service hinzufügen calypso._http._tcp.local. _http._tcp.local.
                                                                                                                signalk zeroconf Service hinzufügen lenovo._http._tcp.local. _http._tcp.local.
                 Server Socket hinzufügen ('192.168.0.240', 37520)
                                                                  GPSD verbunden
                                                                                GPSD devices []
                                                                                               Kalibrierung geladen, beginnend 2171
                                                                                                                                   servo probe ('/dev/ttyAMA10', 38400) 362.463832314
        Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                                         signalk process 2179
                signalk Token konnte nicht gelesen werden /home/master/.pypilot/signalk-token
                                                                                             signalk Server gefunden 192.168.0.104:3000
                                                                                                                                       signalk gefunden ws://192.168.0.104:3000/signalk/v1/stream?subscribe=none
                                   signalk post {'state': 'COMPLETED', 'requestId': 'bb86a278-1960-4dd6-9ec9-83dffc4aa08d', 'statusCode': 400, 'message': "A device with clientId 'pypilot-85846257789' has already requested access", 'href': '/signalk/v1/requests/bb86a278-1960-4dd6-9ec9-83dffc4aa08d', 'ip': '::ffff:192.168.0.105'}
                                                                                                                                                            signalk Zugangs-URL anfordern http://192.168.0.104:3000/signalk/v1/req...dffc4aa08d
                                                                                               nmea probe ('/dev/ttyAMA10', 38400)
                                                                                                                                  Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                   nmea probe ('/dev/ttyAMA10', 4800)
                                                                                                                                                     Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                     signalk post {'state': 'PENDING', 'requestId': '1f8e386f-c513-443e-ab99-c8aa8029dc78', 'statusCode': 202, 'href': '/signalk/v1/requests/1f8e386f-c513-443e-ab99-c8aa8029dc78', 'ip': '::ffff:192.168.0.105'}
                                                                                                                                                                    signalk Zugangs-URL anfordern http://192.168.0.104:3000/signalk/v1/req...aa8029dc78
                                                                                                       servo probe ('/dev/ttyAMA10', 38400) 372.813526148
                                                                                                                                                         Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                             nmea probe ('/dev/ttyAMA10', 38400)
   Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                                 nmea probe ('/dev/ttyAMA10', 4800)
                      Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
      servo probe ('/dev/ttyAMA10', 38400) 383.163234781
                                                        Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                            servo probe ('/dev/ttyAMA10', 38400) 393.513470341
                                                                                              Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                  nmea probe ('/dev/ttyAMA10', 38400)
                                                                                                                     Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                      nmea probe ('/dev/ttyAMA10', 4800)
                                                                                                                                        Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                        servo probe ('/dev/ttyAMA10', 38400) 403.864034856
                                                                                                                                                                          Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                              servo probe ('/dev/ttyAMA10', 38400) 414.21411997
                                  Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                      nmea probe ('/dev/ttyAMA10', 38400)
                                                         Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                          nmea probe ('/dev/ttyAMA10', 4800)
                                                                            Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                            zeroconf addresses ['192.168.0.105', '192.168.0.240', '127.0.0.1'] 3
                                                                                                                                zeroconf exception:
                                                                                                                                                    e is {'192.168.0.105': ServiceInfo(type='_pypilot._tcp.local.', name='pypilot._pypilot._tcp.local.', addresses=[b'\xc0\xa8\x00i'], port=23322, weight=0, priority=0, server='pypilot._pypilot._tcp.local.', properties={'version': '0.56'}, interface_index=None)} 192.168.0.105
                                                                          servo probe ('/dev/ttyAMA10', 38400) 424.56551383
                                                                                                                           Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                               nmea probe ('/dev/ttyAMA10', 38400)
                                                                                                                                                  Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                   nmea probe ('/dev/ttyAMA10', 4800)
                                                                                                                                                                     Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                     servo probe ('/dev/ttyAMA10', 38400) 434.916946367
                          Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
              servo probe ('/dev/ttyAMA10', 38400) 445.268896762
                                                                Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                    nmea probe ('/dev/ttyAMA10', 38400)
                                                                                       Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                        nmea probe ('/dev/ttyAMA10', 4800)
                                                                                                          Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                          servo probe ('/dev/ttyAMA10', 38400) 455.621911311
                                                                                                                                            Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                nmea probe ('/dev/ttyAMA10', 38400)
                                                                                                                                                                   Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                    nmea probe ('/dev/ttyAMA10', 4800)
         Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                                      servo probe ('/dev/ttyAMA10', 38400) 465.975099226
                                           Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                               servo probe ('/dev/ttyAMA10', 38400) 476.329345247
                                                                                 Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                     store_file /home/master/.pypilot/pypilot.conf 477.485 signalk.uid
                                                                                                                                      zeroconf addresses ['192.168.0.105', '192.168.0.240', '127.0.0.1'] 3
                             zeroconf exception:
                                                 e is {'192.168.0.105': ServiceInfo(type='_pypilot._tcp.local.', name='pypilot._pypilot._tcp.local.', addresses=[b'\xc0\xa8\x00i'], port=23322, weight=0, priority=0, server='pypilot._pypilot._tcp.local.', properties={'version': '0.56'}, interface_index=None)} 192.168.0.105
                                                                                                                                                    nmea probe ('/dev/ttyAMA10', 38400)
          Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                                                                                        nmea probe ('/dev/ttyAMA10', 4800)
                             Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
             servo probe ('/dev/ttyAMA10', 38400) 486.681419704
                                                               Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                   servo probe ('/dev/ttyAMA10', 38400) 497.03204897
                                                                                                    Servo konnte nicht geöffnet werden am: ('/dev/ttyAMA10', 38400) [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                        nmea probe ('/dev/ttyAMA10', 38400)
                                                                                                                           Gescheitert zu öffnen ('/dev/ttyAMA10', 38400) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'
                                                                                                            nmea probe ('/dev/ttyAMA10', 4800)
                                                                                                                                              Gescheitert zu öffnen ('/dev/ttyAMA10', 4800) for nmea data [Errno 16] could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy: '/dev/ttyAMA10'

Broadcast message from root@calypso on pts/2 (Wed 2025-07-16 18:44:41 EEST):

The system will power off now!

####################
Reply
#2
it maybe set up right except you need to specify the port to use for the motor controller?
Reply
#3
"Shall I install the OpenPlotter image" - 100% yes, try that & let openplotter do the install.

Nearly every time putting the error into a decent Ai will come up with something useful/interesting

### Diagnosing Your PyPilot & OpenPlotter Errors

You've encountered several issues running PyPilot in OpenPlotter on your Raspberry Pi. Here's a breakdown of your most important errors, what they mean, and actionable solutions:

#### 1. "Could not open port /dev/ttyAMA10: [Errno 16] Device or resource busy"

**Cause:**
This error means another process is already using the serial port /dev/ttyAMA10, so PyPilot cannot access it for your NMEA or servo data.

**Common reasons and fixes:**
- **Another service (like GPSD, or another NMEA application) is using the port.**
- Run the following command in the terminal to identify which process is using the port:
```
sudo lsof /dev/ttyAMA10
```
or
```
sudo fuser /dev/ttyAMA10
```
- Once identified, you can stop the process with:
```
sudo kill
```
- **Serial port assigned incorrectly or UART conflicts.**
Ensure only PyPilot (or one program at a time) is configured to use the serial port. In OpenPlotter, check for duplicate assignments in "Serial" and "Connections" tabs.
- **Try rebooting** after closing any software that might use the port; sometimes a program may not release the resource after it stops running.
- **Hardware check**: If you've changed hardware or cabling recently, ensure physical connections are good[1][2][3][4].

#### 2. "World magnetic model not available"

**Cause:**
PyPilot uses a world magnetic model for compass calibration and deviation adjustment. If it's missing, you may not have the required data files.

**Solutions:**
- Ensure that the `World Magnetic Model` data files are present on your system. In OpenPlotter or PyPilot, usually these are included or can be downloaded.
- If missing, on OpenPlotter or with apt you may update/install the needed data files:
```
sudo apt-get install geomagdata
```
- Running PyPilot as root or with the appropriate permissions may also help if it's a permission problem[5][6].

#### 3. "A device with clientId 'pypilot-xxxxxxx' has already requested access" (SignalK Error)

**Cause:**
PyPilot is trying to connect to SignalK, but the server sees a duplicate clientId from a previous attempt or another running instance.

**Solutions:**
- **Restart SignalK and PyPilot:** This clears old client sessions and tokens.
- **Check for duplicate PyPilot instances:** Make sure PyPilot isn't running multiple times or on multiple devices trying to connect to the same SignalK server.
- **Clear the access request in SignalK:** In the SignalK web UI, under 'Security' > 'Access Requests', you can reject old requests so you can re-authorize your device cleanly.
- **Remove the old token:** If `/home/master/.pypilot/signalk-token` exists, it might be invalid. Delete or move it and let PyPilot request access again[7][8].

#### 4. "WARNING: using default servo calibration!!"

**Cause & Solution:**
PyPilot could not load your custom servo calibration file (`/home/master/.pypilot/servocalibration`). You'll need to re-run servo calibration from the PyPilot web interface. This is not critical unless you've previously tuned calibration, but it's important for precise performance[4][9].

#### 5. "zeroconf exception" messages

**Cause:**
These relate to service discovery on your local network. They're non-critical unless you're missing autodiscovered devices. If everything is working but you see these, you're safe to ignore them unless they affect a connection.

#### Extra Notes

- If you use OpenPlotter's serial manager, make sure only one application is set to use a serial port at a time.
- The system shutdown message indicates a forced shutdown, possibly unrelated to PyPilot; check for overheating, power, or scheduled tasks on your Pi.

### Targeted Troubleshooting Steps

1. **Check and resolve port conflicts** with `/dev/ttyAMA10` (see above commands).
2. **Verify and, if needed, reinstall the world magnetic model data.**
3. **Clean up old/duplicate SignalK access requests** and tokens.
4. **(Re-)Calibrate servo via PyPilot web interface after ensuring serial issues are resolved.**

This should get your setup back to reliable operation and ensure SignalK integration works smoothly. If you need step-by-step help with any of the above, feel free to ask!

**Helpful resources:**
- [OpenMarine Forum Thread on Serial Port Issues][1]
- [Core Electronics Forum: "Resource Busy" Problem][2]
- [OpenPlotter Pypilot Docs][10]
- [PyPilot Hardware manual][11]

[1]: https://forum.openmarine.net/showthread.php?tid=5905
[2]: https://forum.core-electronics.com.au/t/...ilot/19874
[3]: https://superuser.com/questions/1455327/...ource-busy
[4]: https://github.com/pypilot/pypilot/issues/239
[8]: https://github.com/pypilot/pypilot/issues/144
[5]: https://forum.openmarine.net/showthread.php?tid=5969
[6]: https://opencpn.org/wiki/dokuwiki/doku.p...in_manager
[10]: https://openplotter.readthedocs.io/lates...t_app.html
[9]: https://bareboat-necessities.github.io/m...at-os.html
[11]: https://pypilot.org/doc/pypilot_user_manual/

[1] https://forum.openmarine.net/showthread.php?tid=5905
[2] https://forum.core-electronics.com.au/t/...ilot/19874
[3] https://superuser.com/questions/1455327/...ource-busy
[4] https://github.com/pypilot/pypilot/issues/239
[5] https://forum.openmarine.net/showthread.php?tid=5969
[6] https://opencpn.org/wiki/dokuwiki/doku.p...in_manager
[7] https://stackoverflow.com/questions/8359...ev-ttyusb0
[8] https://github.com/pypilot/pypilot/issues/144
[9] https://bareboat-necessities.github.io/m...at-os.html
[10] https://openplotter.readthedocs.io/lates...t_app.html
[11] https://pypilot.org/doc/pypilot_user_manual/
[12] https://forums.raspberrypi.com/viewtopic.php?t=223839
[13] https://www.answeroverflow.com/m/1251448967942897666
[14] https://askubuntu.com/questions/210177/s...ion-denied
[15] https://github.com/purduesigbots/pros-cli/issues/45
[16] https://groups.google.com/g/pat-users/c/_lFcgjrnjMI
[17] https://github.com/pypilot/pypilot/issues/108
[18] https://community.platformio.org/t/resou...3e90/23973
[19] https://forum.openmarine.net/showthread.php?tid=3344
[20] https://pmc.ncbi.nlm.nih.gov/articles/PMC8308832/

And perplexity again Smile

Here are the German parts from your log translated into English:

- **"am Hafen lauschen"**
→ "listening on the port"

- **"Laden der Servokalibrierung"**
→ "Loading servo calibration"

- **"WARNUNG: Standard-Servokalibrierung verwenden !!"**
→ "WARNING: Using default servo calibration !!"

- **"Verfügbare Piloten"**
→ "Available pilots"

- **"Imu-Prozess in Echtzeit gemacht"**
→ "IMU process done in real-time"

- **"Einstellungsdatei verwenden"**
→ "Using settings file"

- **"pypilotInitialisierung abgeschlossen"**
→ "PyPilot initialization completed"

- **"server setup has 6 pipes"**
(already in English)

- **"signalk zeroconf Service hinzufügen"**
→ "adding Signalk zeroconf service"

- **"GPSD verbunden"**
→ "GPSD connected"

- **"GPSD devices []"**
(already in English)

- **"Kalibrierung geladen, beginnend"**
→ "Calibration loaded, starting"

- **"Servo konnte nicht geöffnet werden am"**
→ "Servo could not be opened at"

- **"signalk Token konnte nicht gelesen werden"**
→ "Signalk token could not be read"

- **"signalk Server gefunden"**
→ "Signalk server found"

- **"signalk gefunden"**
→ "Signalk found"

- **"Einstellen der anfänglichen Kreiselvorspannung"**
→ "Setting initial gyro bias"

- **"Gescheitert zu öffnen"**
→ "Failed to open"

- **"Zugangs-URL anfordern"**
→ "Requesting access URL"

- **"store_file"**
(already English)

- **"zeroconf exception"**
(already English)

- **"Servo konnte nicht geöffnet werden am"**
(repeat, also "Servo could not be opened at")

- **"Broadcast message from root@calypso on pts/2"**
(already English)

- **"The system will power off now!"**
(already English)

If you want me to translate or explain any particular phrase or line, just ask!
Reply
#4
Thank you for your input. Starting with OpenPlotter install now. Will revert about the pins for the motorcontroller as by now the pins are 1/3/5/6 for the MPU-9255.

Will report my efforts...
Reply
#5
OK openplotter on rpi5 installed so far....
opencpn pypilot addon installed

Pypilot 4.0.11 GUI says:
Enable IMU Only = IMU service enabled
but: Detected IMU: None

i2ctools results below:

SO HOW TO PROCEED?

Thank you all...


root@Calypso:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                         
root@Calypso:~# i2cdetect -F i2cbus
Error: I2C bus name doesn't match any bus present!
Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
       i2cdetect -F I2CBUS
       i2cdetect -l
  I2CBUS is an integer or an I2C bus name
  If provided, FIRST and LAST limit the probing range.
root@Calypso:~# i2cdetect -F 1
Functionalities implemented by /dev/i2c-1:
I2C                              yes
SMBus Quick Command              yes
SMBus Send Byte                  yes
SMBus Receive Byte               yes
SMBus Write Byte                 yes
SMBus Read Byte                  yes
SMBus Write Word                 yes
SMBus Read Word                  yes
SMBus Process Call               no
SMBus Block Write                yes
SMBus Block Read                 yes
SMBus Block Process Call         no
SMBus PEC                        no
I2C Block Write                  yes
I2C Block Read                   yes
root@Calypso:~# i2cdetect -l
i2c-1    i2c           Synopsys DesignWare I2C adapter     I2C adapter
i2c-13    i2c           107d508200.i2c                      I2C adapter
i2c-14    i2c           107d508280.i2c                      I2C adapter
root@Calypso:~# i2cdump -y 1 0x68 i
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: c7 ca db e7 98 02 f5 60 14 27 00 01 00 56 57 74    ???????`?'.?.VWt
10: c2 c4 dd 00 00 00 00 00 00 00 00 00 00 00 00 00    ???.............
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 05 f8 90 0c 3c 44    ..........????<D
40: d0 1e 40 ff 88 00 ea 00 55 00 00 00 00 00 00 00    ??@.?.?.U.......
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 01 00 00 00 00 00 00 00 00 01 00 00 00 00    ..?........?....
70: 94 8f da 03 26 04 42 f6 00 00 13 2a 3a 1e d5 ff    ????&?B?..?*:??.
80: c7 ca db e7 98 02 f5 60 14 27 00 01 00 56 57 74    ???????`?'.?.VWt
90: c2 c4 dd 00 00 00 00 00 00 00 00 00 00 00 00 00    ???.............
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 01 f8 dc 0b c4 45    ..........?????E
c0: 64 1e 10 ff 98 00 d4 00 0d 00 00 00 00 00 00 00    d??.?.?.?.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 12 00    ...........?..?.
f0: 00 00 00 00 00 02 00 8b 76 88 ec 4c bf 45 cb 86    .....?.?v??L?E??
root@Calypso:~#
Reply
#6
So, shall I skip the MPU-9255 and try an ICM20948 9DoF Motion Sensor Breakout?

https://forums.raspberrypi.com/viewtopic.php?t=174526

says that the MPU-925X have unresolved issues with the RTIMULib2 which seems to be abandoned.


root@Calypso:~# i2cget -y 1 0x68
0xdb

root@Calypso:~# i2cget -y 14 0x68
Error: Read failed

So there is something coming back... why does pypilot not recognize it? RTIMULib2 problem?
Other solutions?

Thank you.
Reply
#7
i had fixed the issues in rtimulib2 but the mpu9255 itself is not always as reliable as the icm20948.

Did you install pypilot how? It must use my version of rtimulib2

There are a lot of parts probably failed quality control that were resold on aliexpress
Reply
#8
pypilot install on rpi5:

wget https://cloud.openmarine.net/s/TwxS4AJrt...le-img.zip

apt-get install mc ethtool net-tools locate nmap iputils-ping dnsutils wget rsync sudo pciutils apt-utils console-setup aptitude openssh-server lshw hwinfo htop traceroute gnupg1 gnupg2 powermgmt-base traceroute gnupg1 gnupg2 curl exim4 mutt cron socat unattended-upgrades apt-listchanges lm-sensors -y
apt install libreoffice firefox-esr chromium featherpad menulibre xscreensaver xygrib tigervnc-scraping-server tigervnc-tools filezilla gnome-disk-utility synaptic putty vlc gparted evince mirage xsane remmina  -y

apt-get install i2c-tools

################

Question:
is 

i2cget -y 1 0x68
0xdb

and indication that the MPU9255 is OK or how can I check if it is working properly?
Reply
#9
I test the imu with a arduino sketch. First arduino ide example i2c scanner to check adresses and then a sketch for mpu 92--. Look for Bolder flight invensense imu example. I use a mega arduino but the nano you have for the pypilot will do. Keep is with usb connection with PC and use tools -serial monitor for read out.
It is disappointing so many are bad. I am waiting for txs01080 for the icm 20948
Reply
#10
I do only have the rpi5 and an rock5B (wunderful little beast) and for me it might be cheaper to buy an ICM 20948
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)