Posts: 2,705
Threads: 25
Joined: Jun 2016
Reputation:
93
Thanks for the feedback!
Yes I found the absolute pilot worked well in settled conditions but perhaps needs adjustments to improve it further as with more waves I also reverted to the basic pilot.. I am assuming your rudder feedback works?
Good to know you could test it on a pi zero 2. Besides booting my tests all were made on the original pi zero.
The signalk had significant changes since the last version, and I did get data into openplotter when I tried, but perhaps my test is not exhaustive. So you said it discovers the server ut does not make an access request? How did you determine this? I had an access request when I tried, but I would like to reproduce your problem and fix it.
Posts: 6
Threads: 1
Joined: Jun 2025
Reputation:
3
Sean,
I saw signalk address populate in pypilot_client, but no request in server was logged.
Saw this error in pypilot log:
2026-07-04_01:08:58.32724 signalk could not import requests
Turns out python was missing few modules: urllib3,idna, certifi, websocket
Once I copied those over it started to work.
Had to add those libraries to /opt/.filetool.lst and do a backup to survive reboot.
Posts: 58
Threads: 12
Joined: Oct 2021
Reputation:
0
2026-08-17, 05:57 PM
(This post was last modified: 2026-08-17, 05:58 PM by kniven.)
I'm not able to build and update using the new image. Only me?
Code: tc@192.168.1.236's password:
tinypilot is a Sailboat Autopilot Distribution for raspberry pi
( '>')
/) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY.
(/-_--_-\) www.tinycorelinux.net
tc@pypilot:~$ cd pypilot/
tc@pypilot:~/pypilot$ ls
README.md pypilot.build setup.cfg
arduino/ pypilot.egg-info/ setup.py
build/ pyproject.toml tests/
dependencies.py pytest.ini ui/
hat/ requirements-dev.txt web/
pypilot/ scripts/
tc@pypilot:~/pypilot$ . pyp
pypilot.build pypilot.egg-info/ pypilot/ pyproject.toml
tc@pypilot:~/pypilot$ . pypilot.
pypilot.build pypilot.egg-info/
tc@pypilot:~/pypilot$ . pypilot.build
-sh: .: pypilot.build: not found
I also have the SignalK issue. No access request popping up...
Posts: 2,705
Threads: 25
Joined: Jun 2016
Reputation:
93
(2026-08-11, 03:49 PM)Nik Wrote: Sean,
I saw signalk address populate in pypilot_client, but no request in server was logged.
Saw this error in pypilot log:
2026-07-04_01:08:58.32724 signalk could not import requests
Turns out python was missing few modules: urllib3,idna, certifi, websocket
Once I copied those over it started to work.
Had to add those libraries to /opt/.filetool.lst and do a backup to survive reboot.
Thanks for testing and pointing this out.
Not sure how I missed those but I'll make an updated image.
It is ok to do this way for testing, but for the image I will but them in the boot script for where the other signalk modules load so that loading these modules (and possible dependencies) will not degrade the initial boot speed (signalk is available 10-20 seconds after the autopilot can first be used)
Posts: 233
Threads: 9
Joined: Sep 2020
Reputation:
10
I am using a fast linear actuator (150 mm/s) equipped with a position sensor connected to the motor controller.
During initial tests in fair weather, I quickly achieved perfect operation in "Basic" mode by lowering the gains to match the actuator's speed (P 0.0018, D 0.0103, DD 0.0103, PR 0.0019). Unfortunately, I was unable to achieve stable operation in "Absolute" mode; the tiller would always become unstable at the slightest disturbance.
This weekend, I was able to practice solo alongside other racing boats in heavy swell, including while flying the spinnaker. It was a very successful experience, as I never needed to take the helm manually during the outing. I even performed a gybe with the spinnaker up, feeling completely confident. My initial settings held the course while keeping the tiller very stable. Downwind, it was easy to tune the autopilot to anticipate the effects of the swell quickly and effectively by increasing D to 0.0175 and DD to 0.0223. I tried again to find the right settings for "Absolute" mode, but the results were inconclusive; there was constant, large-scale tiller movement, though it didn't cause enough course deviation to require manual steering.
However, with my very fast actuator and version 0.71, tuning in "Basic" mode is significantly easier than it was with version 0.56.
Well done and thank you, Sean.
Posts: 166
Threads: 13
Joined: Apr 2020
Reputation:
4
(2026-08-28, 07:44 AM)Jean-Marc Douroux Wrote: I am using a fast linear actuator (150 mm/s) equipped with a position sensor connected to the motor controller.
During initial tests in fair weather, I quickly achieved perfect operation in "Basic" mode by lowering the gains to match the actuator's speed (P 0.0018, D 0.0103, DD 0.0103, PR 0.0019). Unfortunately, I was unable to achieve stable operation in "Absolute" mode; the tiller would always become unstable at the slightest disturbance.
This weekend, I was able to practice solo alongside other racing boats in heavy swell, including while flying the spinnaker. It was a very successful experience, as I never needed to take the helm manually during the outing. I even performed a gybe with the spinnaker up, feeling completely confident. My initial settings held the course while keeping the tiller very stable. Downwind, it was easy to tune the autopilot to anticipate the effects of the swell quickly and effectively by increasing D to 0.0175 and DD to 0.0223. I tried again to find the right settings for "Absolute" mode, but the results were inconclusive; there was constant, large-scale tiller movement, though it didn't cause enough course deviation to require manual steering.
However, with my very fast actuator and version 0.71, tuning in "Basic" mode is significantly easier than it was with version 0.56.
Well done and thank you, Sean.
Jean Marc, can this advices be used in former Pypilot versions?
And, did you finally asked for position sensor in the arm? I didn't connect mine after yo told me it was not useful...
Posts: 233
Threads: 9
Joined: Sep 2020
Reputation:
10
(2026-08-31, 08:50 PM)aitonos Wrote: (2026-08-28, 07:44 AM)Jean-Marc Douroux Wrote: I am using a fast linear actuator (150 mm/s) equipped with a position sensor connected to the motor controller.
During initial tests in fair weather, I quickly achieved perfect operation in "Basic" mode by lowering the gains to match the actuator's speed (P 0.0018, D 0.0103, DD 0.0103, PR 0.0019). Unfortunately, I was unable to achieve stable operation in "Absolute" mode; the tiller would always become unstable at the slightest disturbance.
This weekend, I was able to practice solo alongside other racing boats in heavy swell, including while flying the spinnaker. It was a very successful experience, as I never needed to take the helm manually during the outing. I even performed a gybe with the spinnaker up, feeling completely confident. My initial settings held the course while keeping the tiller very stable. Downwind, it was easy to tune the autopilot to anticipate the effects of the swell quickly and effectively by increasing D to 0.0175 and DD to 0.0223. I tried again to find the right settings for "Absolute" mode, but the results were inconclusive; there was constant, large-scale tiller movement, though it didn't cause enough course deviation to require manual steering.
However, with my very fast actuator and version 0.71, tuning in "Basic" mode is significantly easier than it was with version 0.56.
Well done and thank you, Sean.
Jean Marc, can this advices be used in former Pypilot versions?
And, did you finally asked for position sensor in the arm? I didn't connect mine after yo told me it was not useful... 
I think that with your 150 mm/s linear actuator, you should upgrade to the new version 0.71; it includes an improved auto-compensation function that eliminates instability during sharp turns, making the compass heading more stable than with version 0.56. You can easily adjust the settings to prioritize either rudder stability or heading stability—even in heavy seas—though this does result in higher power consumption.
I use the actuator's built-in position sensor to brake the motor before it reaches the end-of-travel limits. The motor doesn't bang and remains relatively quiet.
Posts: 2,705
Threads: 25
Joined: Jun 2016
Reputation:
93
The position sensor was in previous versions only used to prevent end of travel, but most arms can stall and this detection is usable.
It could also report rudder position to opencpn or other gauges but that is a minor detail.
The new version adds an "absolute" pilot. Now this is experimental, but on my own boat it proved to be useful in extremely light wind without waves. With course changes it made them quickly without any overshoot. This was very interesting, and if it can be improved on to work in rougher conditions, it might essentially give the steering ability of the basic pilot but with less manual tweaking of the gains if that makes sense. For now feedback is appreciated, and you can certainly always use the basic pilot.
In either case, neither is the ultimate algorithm that I really want to implement.
I am getting more fast actuators (110mm/s and 170mm/s) and modifying them. Can you tell me your source for the 150mm/s one and how much power? Most of the cheap ones are not really marine grade, and have electronics in them to prevent stall, but these relays often fail, and bypassing them works but then the unit is not really designed to hit end of travel with mechanical stops without more modification. This is desirable because pypilot will detect the motor stalling and cut power, but the unit needs a hard stop (well not too hard, some kind of spring or rubber to crash into)
Posts: 233
Threads: 9
Joined: Sep 2020
Reputation:
10
I initially used a Kriohm 150mm/s (150N) actuators sold under the brand Kriohm but I had to negotiate with the seller to get a cable gland and a tighter rod guide to achieve an IP67 rating.
However, Simon—a user from New Zealand—recommended AKIWO, and it is a much better option because it comes standard with improved sealing and rod guidance.
https://fr.aliexpress.com/item/1005011757515243.html
Unlike the Kriohm model, the limit switches are accessible next to the potentiometer; they could easily be wired to the Pypilot controller instead of simply cutting the motor's power. You need to replace the supplied cable with a charger-style cable featuring a 2+1+5 connector, as it is better sized for the motor's current draw.
The duty cycle is 10% at full load and power (85W), but even with a somewhat stiff helm, actual power consumption is low, and the unit doesn't overheat. It draws 1.6A under no load and consistently stays under 4A on my boat, even in heavy swell. I 3D-printed a protective cover for the magnetic iron housing, as the factory paint job doesn't offer sufficient rust protection—available for download at navitop.fr.
Don't forget to specify the cable length you need and whether you require a potentiometer when contacting AKIWO. They will then send you links matching your exact requirements so you can pay for your order.
Posts: 166
Threads: 13
Joined: Apr 2020
Reputation:
4
(2026-09-02, 08:25 AM)Jean-Marc Douroux Wrote: (2026-08-31, 08:50 PM)aitonos Wrote: (2026-08-28, 07:44 AM)Jean-Marc Douroux Wrote: I am using a fast linear actuator (150 mm/s) equipped with a position sensor connected to the motor controller.
During initial tests in fair weather, I quickly achieved perfect operation in "Basic" mode by lowering the gains to match the actuator's speed (P 0.0018, D 0.0103, DD 0.0103, PR 0.0019). Unfortunately, I was unable to achieve stable operation in "Absolute" mode; the tiller would always become unstable at the slightest disturbance.
This weekend, I was able to practice solo alongside other racing boats in heavy swell, including while flying the spinnaker. It was a very successful experience, as I never needed to take the helm manually during the outing. I even performed a gybe with the spinnaker up, feeling completely confident. My initial settings held the course while keeping the tiller very stable. Downwind, it was easy to tune the autopilot to anticipate the effects of the swell quickly and effectively by increasing D to 0.0175 and DD to 0.0223. I tried again to find the right settings for "Absolute" mode, but the results were inconclusive; there was constant, large-scale tiller movement, though it didn't cause enough course deviation to require manual steering.
However, with my very fast actuator and version 0.71, tuning in "Basic" mode is significantly easier than it was with version 0.56.
Well done and thank you, Sean.
Jean Marc, can this advices be used in former Pypilot versions?
And, did you finally asked for position sensor in the arm? I didn't connect mine after yo told me it was not useful... 
I think that with your 150 mm/s linear actuator, you should upgrade to the new version 0.71; it includes an improved auto-compensation function that eliminates instability during sharp turns, making the compass heading more stable than with version 0.56. You can easily adjust the settings to prioritize either rudder stability or heading stability—even in heavy seas—though this does result in higher power consumption.
I use the actuator's built-in position sensor to brake the motor before it reaches the end-of-travel limits. The motor doesn't bang and remains relatively quiet.
Thanks, Jean Marc, I will try to update it, My main concern is to recalibrate again the IMU, however, it seems worth the effort.
|