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.

  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Using i2c temperature from openplotter in Pypilot

I don't have temperature sensors on my arduino nano, but do have several on the pi.
Can temperature sensors, maybe by adding a signalK address, be added to Pypilot?
I'd like to assign a temperature sensor which is already added in i2c tab in openplotter, to the servo motor controller temperature.

Hope someone can help.

Kind regards,

Rudder feedback can be supplied via nmea0183, but so far not for motor temperature.

This could be supported as a sensor which could be received from one of several sources eventually. For now maybe you could set an alarm outside of pypilot which you will hear and you can shut the autopilot off.
If you move forward with this would encapsulating Signal K data in NMEA0183 XDR sentences be feasible? Use Signal K paths as keys in XDR.

Adding support for this output format in Signal K server would be pretty simple.

It would provide a shared vocabulary to extend NMEA0183 and on the receiving end not require any additional connections.
I vote yes  Big Grin I think it would make it more flexible to use existing sensors, but I cannot estimate how much effort this would be. It would be great to be able to 'map' other sensors from the Autopilot Client for the servo motor. Maybe a drop down menu to choose Arduino or Raspberry as a source. I guess it would mean having to adjust pypilot and motor.ino?

I was also thinking to solve it with hardware only. Maybe some kind of relay switch which based on a predefined temperature would provide input to one of the stop pins that is already configured on the arduino. A simple temperature buzzer would also be OK i guess. Think I'll go search for some parts.

Edit: Looked for some parts, looks nice:
the easy way
use node-red for alarm, relay, fan ect.
the linked item looks like its a stand alone device, set and forget.
mare liberum
How would xdr encapsulate it?

Already sensors in pypilot can have different sources such as:

1) gpsd
2) arduino motor controller
3) nmea serial
4) nmea tcp

If the data is available from more than one source, the one with most priority (roughly that order) is taken.

So it would not be difficult to support nmea drive motor temperature at all, but the real question is, what nmea sentence and what format would be used?

It is also feasible to support additional possible 2 sources
1) signalk client - a client connects to pypilot and provides the data
2) signalk node server - pypilot is given the ip of a signalk node server from which to receive data

The first option is relatively easy but I don't see any use cases yet, unless it could be the node server which provides the data as a client. The second option I am not as sure how to deal with, but it would likely need additional info, like which keys it should subscribe for which host.
Hi, not sure if this id added value, but just thought of this one:
Maybe, based on a temperature event I could do some events or notifications for the time being. It would also make it more configurable.
(08-16-2019, 09:06 AM)seandepagnier Wrote: How would xdr encapsulate it?
So it would not be difficult to support nmea drive motor temperature at all, but the real question is, what nmea sentence and what format would be used?

XDR is essentially key-values, something like


This would allow transmitting any SK values over NMEA0183. Then all we need to do is to come up with a path for autopilot motor temperature and whatever else would be useful. This would allow OpenPlotter installations easy path to wire I2C or 1-wire sensors.

Like I said writing a plugin that produces XDR with a configuration UI for picking the paths is pretty straightforward.

Naturally directly using SK is a possibility as well. If we agree on the path then either way, client or server, would work.

Forum Jump:

Users browsing this thread: 1 Guest(s)