2026-06-05, 08:52 PM
I am also having issues with the periodic Freeze.
Working with Chat GPT, here is as summary of what was found:
OpenPlotter / pypilot Attitude Data Freezing Every ~90 Seconds
System
• Raspberry Pi 5 8GB
• OpenPlotter 5.14.1
• openplotter-pypilot 4.0.11-beta
• pypilot 0.56
• Signal K running locally on port 3000
• BMP280 I2C sensor installed
• Simrad GO9 and NMEA2000 network connected
Problem
The vessel attitude data (roll, pitch, yaw/heading) would update normally for approximately 55 seconds and then freeze for approximately 35 seconds. This cycle repeated consistently.
Symptoms included:
• Signal K dashboards freezing.
• KIP dashboards freezing.
• Course-up displays becoming unusable due to periodic attitude loss.
• Signal K attitude timestamps stopping during the freeze.
• Data would resume immediately after restarting the OpenPlotter pypilot bridge service.
Findings
pypilot IMU continued running normally
During the freeze, pypilot_client continued to show live updates:
• Heading changing normally.
• Roll and pitch changing normally.
• IMU frequency remained around 20 Hz.
• No IMU warnings or errors.
This indicates the IMU and pypilot itself were not freezing.
Signal K attitude timestamps froze
During the freeze:
curl -s localhost:3000/signalk/v1/api/vessels/self/navigation/attitude
returned the same timestamp repeatedly.
Example:
{
"$source":"pypilot",
"timestamp":"2026-06-04T15:40:05.268Z"
}
Repeated queries during the freeze returned the identical timestamp.
This showed that Signal K was no longer receiving fresh updates from the pypilot bridge.
Restarting the bridge immediately fixed the problem
Running:
sudo systemctl restart openplotter-pypilot-read
immediately restored live attitude updates.
No restart of Signal K, pypilot, or the Raspberry Pi was required.
Signal K itself remained healthy
GPS and other Signal K services continued operating during the freeze.
The issue appeared isolated to the data path between pypilot and Signal K.
Conclusion
The evidence suggests that the openplotter-pypilot-read bridge process enters a stalled state where it stops forwarding updates from pypilot to Signal K.
The IMU continues operating, pypilot continues operating, and Signal K remains running, but attitude updates stop until the bridge service is restarted.
Temporary Workaround
A watchdog script was implemented to monitor:
/signalk/v1/api/vessels/self/navigation/attitude
and automatically restart:
sudo systemctl restart openplotter-pypilot-read
whenever the attitude timestamp stops advancing.
The watchdog runs every 2 seconds and restores updates automatically, preventing long freezes while underway.
Additional Notes
An unrelated issue was also discovered where openplotter-i2c-read had entered a restart loop due to a Python syntax error introduced during troubleshooting. That issue was separate from the pypilot attitude freeze and did not appear to be the root cause of the attitude-data problem.
I am posting this in case other users of OpenPlotter 5.14.1, openplotter-pypilot 4.0.11-beta, and pypilot 0.56 observe similar periodic attitude freezes.
Working with Chat GPT, here is as summary of what was found:
OpenPlotter / pypilot Attitude Data Freezing Every ~90 Seconds
System
• Raspberry Pi 5 8GB
• OpenPlotter 5.14.1
• openplotter-pypilot 4.0.11-beta
• pypilot 0.56
• Signal K running locally on port 3000
• BMP280 I2C sensor installed
• Simrad GO9 and NMEA2000 network connected
Problem
The vessel attitude data (roll, pitch, yaw/heading) would update normally for approximately 55 seconds and then freeze for approximately 35 seconds. This cycle repeated consistently.
Symptoms included:
• Signal K dashboards freezing.
• KIP dashboards freezing.
• Course-up displays becoming unusable due to periodic attitude loss.
• Signal K attitude timestamps stopping during the freeze.
• Data would resume immediately after restarting the OpenPlotter pypilot bridge service.
Findings
pypilot IMU continued running normally
During the freeze, pypilot_client continued to show live updates:
• Heading changing normally.
• Roll and pitch changing normally.
• IMU frequency remained around 20 Hz.
• No IMU warnings or errors.
This indicates the IMU and pypilot itself were not freezing.
Signal K attitude timestamps froze
During the freeze:
curl -s localhost:3000/signalk/v1/api/vessels/self/navigation/attitude
returned the same timestamp repeatedly.
Example:
{
"$source":"pypilot",
"timestamp":"2026-06-04T15:40:05.268Z"
}
Repeated queries during the freeze returned the identical timestamp.
This showed that Signal K was no longer receiving fresh updates from the pypilot bridge.
Restarting the bridge immediately fixed the problem
Running:
sudo systemctl restart openplotter-pypilot-read
immediately restored live attitude updates.
No restart of Signal K, pypilot, or the Raspberry Pi was required.
Signal K itself remained healthy
GPS and other Signal K services continued operating during the freeze.
The issue appeared isolated to the data path between pypilot and Signal K.
Conclusion
The evidence suggests that the openplotter-pypilot-read bridge process enters a stalled state where it stops forwarding updates from pypilot to Signal K.
The IMU continues operating, pypilot continues operating, and Signal K remains running, but attitude updates stop until the bridge service is restarted.
Temporary Workaround
A watchdog script was implemented to monitor:
/signalk/v1/api/vessels/self/navigation/attitude
and automatically restart:
sudo systemctl restart openplotter-pypilot-read
whenever the attitude timestamp stops advancing.
The watchdog runs every 2 seconds and restores updates automatically, preventing long freezes while underway.
Additional Notes
An unrelated issue was also discovered where openplotter-i2c-read had entered a restart loop due to a Python syntax error introduced during troubleshooting. That issue was separate from the pypilot attitude freeze and did not appear to be the root cause of the attitude-data problem.
I am posting this in case other users of OpenPlotter 5.14.1, openplotter-pypilot 4.0.11-beta, and pypilot 0.56 observe similar periodic attitude freezes.

