Posts: 2,663
Threads: 23
Joined: Jun 2016
Reputation:
89
(2026-04-12, 01:20 AM)fremme Wrote: I have my own autopilot suite, but I like the pypilot motor controller, so I made a module that lets that controller talk to my autopilot system ( or other CAN NMEA2000 autopilots ).
I am wondering where your code is then?
If it can be modular enough, pypilot supports multiple pilot algorithms. Perhaps pypilot could offer your ai pilot to interested users to test.
I am not sure why you would choose n2k as it is proprietary and thus basically unfriendly to hobbyists. Inter-operating and translating, sure but proliferating this format is unfortunate.
Now signalk is the obvious solution but I personally have some reservations, the stringifying of floating point, but also the way it seems overly complex with websockets and access requests and the rest. but perhaps just forget all of that and send the simple differential updates as the data format to build off.
Posts: 16
Threads: 1
Joined: Oct 2025
Reputation:
0
(2026-04-14, 12:07 AM)seandepagnier Wrote: I am not sure why you would choose n2k as it is proprietary and thus basically unfriendly to hobbyists. Inter-operating and translating, sure but proliferating this format is unfortunate.
Now signalk is the obvious solution but I personally have some reservations, the stringifying of floating point, but also the way it seems overly complex with websockets and access requests and the rest. but perhaps just forget all of that and send the simple differential updates as the data format to build off.
I have had good success with a few devices on board directly sending and reading signalk deltas - essentially signalk but skipping the server!
The only downside of any SK-based system is that WiFi networks always have a single point of failure - a mesh network like Thread could be cool to use but SK is a bit heavy for it so would need a binary translation.
Or maybe one day in the far future we will get to 10Base-T1S and have real distributed Ethernet networks without a router (that could even reuse the N2K cables, but unfortunately the receiver hardware is not yet commonplace).
Posts: 12
Threads: 2
Joined: Mar 2026
Reputation:
0
Well, NMEA 2000 is not that bad. I find that it works quite well, and the cabling is already distributed around the boat, so you mainly just need to take care of the maximum power distribution.
I did think about using LAN Ethernet, but that would mean new cabling and interfaces to the onboard sensors anyway.
It was already a big step from NMEA 0183 to NMEA 2000, so one day we will probably see something new again.
Maybe my next version will be based on LAN, if I can find good watertight cables and switches.
Retired sailing and technology lover
Posts: 2,663
Threads: 23
Joined: Jun 2016
Reputation:
89
The format itself is not that bad, it is the philosophy and intention that is the problem. The makers of n2k are not interested in user freedom, they seek to control the users and charge money to anyone who uses the standard, it is a proprietary standard. It is similar to the macosx operating system. The hardware of their laptops is very good, but I would never use one because of the software.
What would make more sense would be to use the same electrical connections (CAN) and an open format. signalk is a better philosophy but a less efficient format. For many uses the efficiency isn't important, but the other issue with it is the complication.
Now sending point to point signalk deltas as johnch mentioned is probably the most sensible thing we can do at this point to remove most of the complicated aspects of signalk that have nothing to do with passing data.
Posts: 16
Threads: 1
Joined: Oct 2025
Reputation:
0
That’s why 10Base-T1S is so cool, it was developed to replace CAN by using single-pair Ethernet to give 10Mbps over the existing CAN wires. You could definitely send SK deltas using that!
Hardware for it does exist for both RPi and Esp32, so it’s definitely something l plan to experiment with - starting with a “universal bridge” device that would run SK, and be connected to this new network as well
as N2K (and probably chuck an 0183 port on there for good measure).
Posts: 2,663
Threads: 23
Joined: Jun 2016
Reputation:
89
well can FD also can do pretty much the same bitrates..
I would personally like to see signalk used to send deltas more and more common, and the signalk server becomes more of a specialized piece of software that is not used in all signalk setups.
Posts: 12
Threads: 2
Joined: Mar 2026
Reputation:
0
(2026-04-17, 08:28 AM)johnch Wrote: That’s why 10Base-T1S is so cool, it was developed to replace CAN by using single-pair Ethernet to give 10Mbps over the existing CAN wires. You could definitely send SK deltas using that!
Hardware for it does exist for both RPi and Esp32, so it’s definitely something l plan to experiment with - starting with a “universal bridge” device that would run SK, and be connected to this new network as well
as N2K (and probably chuck an 0183 port on there for good measure).
Well, I found a LAN8651-based 10BASE-T1S board over SPI, but there isn’t much software around it yet.
I think it’s still too new, so we need to wait and see how it develops.
10BASE-T1S looks promising in some ways, but also limiting in others.
I will probably use standard 100BASE-TX and:
- UDP multicast for fast cyclic data and state updates
- UDP unicast with application-level ACK/retry for commands and important events
- TCP only for configuration, firmware, logs, and file-like transfers
But this is still at an early stage. I’ll use the winter to decide which direction to take.
Retired sailing and technology lover
Posts: 16
Threads: 1
Joined: Oct 2025
Reputation:
0
(2026-04-17, 01:43 PM)seandepagnier Wrote: well can FD also can do pretty much the same bitrates..
I would personally like to see signalk used to send deltas more and more common, and the signalk server becomes more of a specialized piece of software that is not used in all signalk setups.
Sure, CAN FD is definitely an improvement in bitrate over standard CAN, and has good device support - but you’d have to create some new protocol for compressed SK to send deltas efficiently as you’re still limited to 64 bit frames. The great thing about 10Base-T1S is that you it’s full Ethernet stack (which SK was designed for), just on a bus. So you can send full deltas using UDP/TCP/Websocket (whatever is most appropriate for your specific need), all it adds is skipping the router step so you drop that single point of failure (still needs a coordinator node for good speed, but it can operate without one, and you can have a backup node set)
The Pican-FD board can do both CAN-FD and 10Base-T1S for RPi, and there is MAN-T1S for ESP32 which is open source. Software wise both of those have working drivers, but I’m not sure many other platforms do yet!
The other nice thing is, if you write software assuming that sending/receiving deltas directly is a thing and just use it over WiFi or a standard Ethernet now, it will work just fine over 10Base-T1S if that does catch on as all the differences are at a driver level ?
|