Posts: 3
Threads: 1
Joined: Apr 2026
Reputation:
0
Sean and Tom here are the results from my system. The pypilot is still not seeing the motor controller and i also am not seeing the sphere on the calibration pages or able to calibrate
pi@openplotter:~ $ ls -l /dev/serial0
lrwxrwxrwx 1 root root 8 May 21 20:48 /dev/serial0 -> ttyAMA10
pi@openplotter:~ $ sudo systemctl stop pypilot
pi@openplotter:~ $ pypilot
autopilot start 1345.134467917
loading translations: terminal encoding: utf-8
falling back to python nonblocking socket, will consume more cpu cannot import name 'linebuffer' from 'pypilot.linebuffer' (/usr/local/lib/python3.11/dist-packages/pypilot/linebuffer/__init__.py)
pilot append <class 'pilots.absolute.AbsolutePilot'>
pilot append <class 'pilots.wind.WindPilot'>
pilot append <class 'pilots.basic.BasicPilot'>
world magnetic model not available
Traceback (most recent call last):
File "/usr/local/bin/pypilot", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 523, in main
ap = Autopilot()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 99, in __init__
self.client = pypilotClient(self.server, use_udp=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/client.py", line 130, in __init__
self.connection = host.pipe()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/server.py", line 629, in pipe
pipe0, pipe1 = NonBlockingPipe('pypilotServer pipe' + str(len(self.pipes)), self.multiprocessing)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 234, in NonBlockingPipe
return PipeNonBlockingPipeEnd(r0, w1, name+'[0]', recvfailok, sendfailok), PipeNonBlockingPipeEnd(r1, w0, name+'[1]', recvfailok, sendfailok)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 123, in __init__
self.b = linebuffer.LineBuffer®
^^^^^^^^^^
NameError: name 'linebuffer' is not defined
closing autopilot
pi@openplotter:~ $
here are the results from the i2c addresses
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: -- -- -- -- -- -- -- --
Posts: 2,671
Threads: 23
Joined: Jun 2016
Reputation:
89
did you install pypilot with pip as the latest readme suggests?
Maybe "rm -rf build" first then :
sudo pip install .[optimze,ui,hat,web] --break-system-packages
Posts: 35
Threads: 3
Joined: Jun 2023
Reputation:
0
(2026-05-21, 09:15 PM)Rkumitsch Wrote: Sean and Tom here are the results from my system. The pypilot is still not seeing the motor controller and i also am not seeing the sphere on the calibration pages or able to calibrate
pi@openplotter:~ $ ls -l /dev/serial0
lrwxrwxrwx 1 root root 8 May 21 20:48 /dev/serial0 -> ttyAMA10
pi@openplotter:~ $ sudo systemctl stop pypilot
pi@openplotter:~ $ pypilot
autopilot start 1345.134467917
loading translations: terminal encoding: utf-8
falling back to python nonblocking socket, will consume more cpu cannot import name 'linebuffer' from 'pypilot.linebuffer' (/usr/local/lib/python3.11/dist-packages/pypilot/linebuffer/__init__.py)
pilot append <class 'pilots.absolute.AbsolutePilot'>
pilot append <class 'pilots.wind.WindPilot'>
pilot append <class 'pilots.basic.BasicPilot'>
world magnetic model not available
Traceback (most recent call last):
File "/usr/local/bin/pypilot", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 523, in main
ap = Autopilot()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 99, in __init__
self.client = pypilotClient(self.server, use_udp=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/client.py", line 130, in __init__
self.connection = host.pipe()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/server.py", line 629, in pipe
pipe0, pipe1 = NonBlockingPipe('pypilotServer pipe' + str(len(self.pipes)), self.multiprocessing)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 234, in NonBlockingPipe
return PipeNonBlockingPipeEnd(r0, w1, name+'[0]', recvfailok, sendfailok), PipeNonBlockingPipeEnd(r1, w0, name+'[1]', recvfailok, sendfailok)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 123, in __init__
self.b = linebuffer.LineBuffer®
^^^^^^^^^^
NameError: name 'linebuffer' is not defined
closing autopilot
pi@openplotter:~ $
here are the results from the i2c addresses
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: -- -- -- -- -- -- -- --
Rkumitsch
I don't claim to know anything about code or how the programming for pypilot works. That said; I compared your output of pypilot with my own. The following is the beginning of my output
pi@openplotter:~ $ pypilot
autopilot start 281.274653556
loading translations: terminal encoding: utf-8
pilot append <class 'pilots.wind.WindPilot'>
pilot append <class 'pilots.absolute.AbsolutePilot'>
pilot append <class 'pilots.basic.BasicPilot'>
world magnetic model not available
imu process 5645
made imu process realtime
The difference I see is that mine has the line 'imu process 5645' and yours doesn't. To me that suggests your imu isn't being recognised by pypilot. This is just a guess on my part.
Searching on "how to test a imu in raspberry pi 5" Google AI firsts suggests entering i2cdetect -y 1 in the Terminal to confirm it is identified. Then there are a list of instructions on how to test the imu is working. Another guess on my part is your imu is recognised but not working. I mention that because I've previously purchased two dude imu's from Aliexpress
Tom
Posts: 6
Threads: 0
Joined: May 2026
Reputation:
0
I am experiencing the same issues with my installation of Pypilot. Currently I do not have a motor connected as I am trying to get my device loaded and configured with the various options prior to installing on my sailboat.
I was able to get pypilot running following Sean's instructions and get pypilot version 0.70 to open (with the header of Pypilot 4.0.11) but I am still unable to enable the IMU only. When I click on the enable it gives me an "orange" APPLYING CHANGES then immediately reverts back to ALL SERVICES DISABLED.
I do apologize in advance as I have zero knowledge on programing and what any of the code means. I am a cut and paste kind of guy BUT I am trying to learn as I go. I have the 8GB RAM Raspberry pi5 running Openplotter 4 with the MacArthur HAT with their IMU, IMC-20948. The IMU is discovered on the I2C at 0x68. It is my understanding from reading all the information I find in the manuals as well as from google that pypilot should "auto discover" the IMU and see its information and forward it where it needs to go, if there is some other configuration that is needed PLEASE let me know.
I also have the dAISy AIS HAT installed, but I haven't gotten around to trying to configure that yet.
Any help is greatly appreciated.
Bruce
Posts: 35
Threads: 3
Joined: Jun 2023
Reputation:
0
(2026-05-26, 09:22 PM)Lastknownposition Wrote: I am experiencing the same issues with my installation of Pypilot. Currently I do not have a motor connected as I am trying to get my device loaded and configured with the various options prior to installing on my sailboat.
I was able to get pypilot running following Sean's instructions and get pypilot version 0.70 to open (with the header of Pypilot 4.0.11) but I am still unable to enable the IMU only. When I click on the enable it gives me an "orange" APPLYING CHANGES then immediately reverts back to ALL SERVICES DISABLED.
I do apologize in advance as I have zero knowledge on programing and what any of the code means. I am a cut and paste kind of guy BUT I am trying to learn as I go. I have the 8GB RAM Raspberry pi5 running Openplotter 4 with the MacArthur HAT with their IMU, IMC-20948. The IMU is discovered on the I2C at 0x68. It is my understanding from reading all the information I find in the manuals as well as from google that pypilot should "auto discover" the IMU and see its information and forward it where it needs to go, if there is some other configuration that is needed PLEASE let me know.
I also have the dAISy AIS HAT installed, but I haven't gotten around to trying to configure that yet.
Any help is greatly appreciated.
Bruce
Bruce,
My level of expertise is similar to yours. I'm slightly further along with my pypilot configuration as my imu is recognised and I can control my motor. I have a RPi5, Arduino, H-Bridge Relay and a small fan to simulate the motor.
Have you tried entering 'pypilot' in the terminal. Around line 7 the imu should be mentioned if it has been recognised?
Tom
Posts: 6
Threads: 0
Joined: May 2026
Reputation:
0
I am guessing that the IMU is not being seen since I don't see where it is recognized when I run pypilot command. Below is what I get when I run :pypilot
pi@openplotter:~ $ pypilot
autopilot start 100483.703790052
no translations, encoding iso-8859-1
falling back to python nonblocking socket, will consume more cpu cannot import name 'linebuffer' from 'pypilot.linebuffer' (/usr/local/lib/python3.11/dist-packages/pypilot/linebuffer/__init__.py)
pilot append <class 'pilots.wind.WindPilot'>
pilot append <class 'pilots.absolute.AbsolutePilot'>
pilot append <class 'pilots.basic.BasicPilot'>
world magnetic model not available
Traceback (most recent call last):
File "/usr/local/bin/pypilot", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 523, in main
ap = Autopilot()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 99, in __init__
self.client = pypilotClient(self.server, use_udp=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/client.py", line 130, in __init__
self.connection = host.pipe()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/server.py", line 629, in pipe
pipe0, pipe1 = NonBlockingPipe('pypilotServer pipe' + str(len(self.pipes)), self.multiprocessing)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 234, in NonBlockingPipe
return PipeNonBlockingPipeEnd(r0, w1, name+'[0]', recvfailok, sendfailok), PipeNonBlockingPipeEnd(r1, w0, name+'[1]', recvfailok, sendfailok)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 123, in __init__
self.b = linebuffer.LineBuffer®
^^^^^^^^^^
NameError: name 'linebuffer' is not defined
closing autopilot
Bruce
Posts: 35
Threads: 3
Joined: Jun 2023
Reputation:
0
(2026-05-28, 12:53 AM)Lastknownposition Wrote: I am guessing that the IMU is not being seen since I don't see where it is recognized when I run pypilot command. Below is what I get when I run :pypilot
pi@openplotter:~ $ pypilot
autopilot start 100483.703790052
no translations, encoding iso-8859-1
falling back to python nonblocking socket, will consume more cpu cannot import name 'linebuffer' from 'pypilot.linebuffer' (/usr/local/lib/python3.11/dist-packages/pypilot/linebuffer/__init__.py)
pilot append <class 'pilots.wind.WindPilot'>
pilot append <class 'pilots.absolute.AbsolutePilot'>
pilot append <class 'pilots.basic.BasicPilot'>
world magnetic model not available
Traceback (most recent call last):
File "/usr/local/bin/pypilot", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 523, in main
ap = Autopilot()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/autopilot.py", line 99, in __init__
self.client = pypilotClient(self.server, use_udp=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/client.py", line 130, in __init__
self.connection = host.pipe()
^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/server.py", line 629, in pipe
pipe0, pipe1 = NonBlockingPipe('pypilotServer pipe' + str(len(self.pipes)), self.multiprocessing)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 234, in NonBlockingPipe
return PipeNonBlockingPipeEnd(r0, w1, name+'[0]', recvfailok, sendfailok), PipeNonBlockingPipeEnd(r1, w0, name+'[1]', recvfailok, sendfailok)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/nonblockingpipe.py", line 123, in __init__
self.b = linebuffer.LineBuffer®
^^^^^^^^^^
NameError: name 'linebuffer' is not defined
closing autopilot
Bruce
Bruce,
A couple of thoughts
1. Have you activated SPI in the RPi configuration settings? I didn't need to do this as I don't have a HAT
2. Where did you purchase the IMU? You have the correct model but Aliexpress has some suspect sellers. After purchasing three duds from Aliexpress I paid more for one from a reputable (but more expensive) seller
Tom
Posts: 6
Threads: 0
Joined: May 2026
Reputation:
0
Tom,
I didn't have the SPI on before as the instructions that I could find only mentioned needing the I2C configured on. I tried your suggestion and enabled the SPI and rebooted and got the same response.
I haven't figured out how to take a screenshot with the raspberry but this is what I am getting:
Pypilot 4.0.11
pypilot version: 0.70
Detected IMU: ICM-20948
Detected Hardware: no pypilot HAT detected (I do NOT have the pypilot HAT, I DO have a MacAurthor HAT with the IMU ICM-20948 plugged into the MacAurthor HAT)
Under Services TAB
click on the drop down menu that starts with "Disable" and click on "Enable IMU only" it gives me in orange letters "applying changes..." the it goes back to Disable.
I tried "Enable Autopilot" and it give me at the bottom in green letters "Autopilot service enabled" but when I try to calibrate the gyros, compass etc there is nothing there. I do not have a motor controller, motor or anything for the autopilot besides the IMU chip. Just trying to get things configured before I go down the road of trying to get the motor connected etc.
I bought the IMU - ICM-20948 from Wegmatt. It is discovered but apparently none of its information is being seen.
Bruce
Posts: 35
Threads: 3
Joined: Jun 2023
Reputation:
0
(2026-05-28, 08:04 AM)Lastknownposition Wrote: Tom,
I didn't have the SPI on before as the instructions that I could find only mentioned needing the I2C configured on. I tried your suggestion and enabled the SPI and rebooted and got the same response.
I haven't figured out how to take a screenshot with the raspberry but this is what I am getting:
Pypilot 4.0.11
pypilot version: 0.70
Detected IMU: ICM-20948
Detected Hardware: no pypilot HAT detected (I do NOT have the pypilot HAT, I DO have a MacAurthor HAT with the IMU ICM-20948 plugged into the MacAurthor HAT)
Under Services TAB
click on the drop down menu that starts with "Disable" and click on "Enable IMU only" it gives me in orange letters "applying changes..." the it goes back to Disable.
I tried "Enable Autopilot" and it give me at the bottom in green letters "Autopilot service enabled" but when I try to calibrate the gyros, compass etc there is nothing there. I do not have a motor controller, motor or anything for the autopilot besides the IMU chip. Just trying to get things configured before I go down the road of trying to get the motor connected etc.
I bought the IMU - ICM-20948 from Wegmatt. It is discovered but apparently none of its information is being seen.
Bruce Bruce
I suspect you are right and the SPI is probably required for the Pypilot Hat. The IMU is from a reputable source and should be fine. I don't have the Hat. My guess is the IMU on the Hat is being recognised. Have you tried the steps in Posts 4 and 7 above?
Tom
Posts: 6
Threads: 0
Joined: May 2026
Reputation:
0
Thanks for the suggestion Tom.
I know this is completely lame but I ended up trying a number of different things (which I cannot recall in what order or even precisely what I did) but now it is working!
Thanks again for all the help, hopefully I wont break it anytime soon :-)
Bruce
|