Go Down

Topic: NMEA 2000 Shield (Read 174369 times) previous topic - next topic


I found that if you enable bus listening with some of the NMEA-Master examples, Actisense NMEA Reader eventually stalls due to buffer problems. I thought it was a PC related issue. Not this time.
On subsequent examples with The NMEA2000 Listener with the LED you have inserted an serial  buffer clear .

Transplanting that to the other examples avoids the problem.

Works fine now


If I remember right, it depends of device. NMEA Reader sends some initialization commands to the serial. If that data will not be cleared, some devices serial gets stuck and does not either send anymore.


Thanks, Timo

Here are a few responses:

Some questions:
- Which version of Actisense Reader you run the tests? I'm using I did see the same situation when feeding the data from the Arduino directly to my Raspberry Pi into OpenPlotter / Signal K server.
- Did you close and restart NMEA Reader between each test? Yes
- Do you have other system like Teensy for making same test? No, I think that's my next step to make a Teensy device. Need to order many parts for that.
- Can you make same test by feeding Due bus with other device and with NMEA Simulator? As above

Any other thoughts? Thanks!
Hi again - I'm back!

Just wanted to update as I've had the chance to do more testing.

First, I ordered a Teensy and built one as specified in Timo's documentation, except I did not add the extra USB interface.

Now, in bench testing at home (boat is hauled and put away for the season :( ) I find interesting results.

I'm using the Teensy as an Actisense sender, sending messages generated from Timo's NMEA Simulator program. I enabled sending of all PGNs within the simulator.  What I find in this case is that no matter which sketch (ActisenseListener, ActisenseListenerSender, ArduinoGateway) I install on the DUE, I still see 48 PGNs (exactly what I would expect) show up in the ActiSense NMEA Reader application.  Unfortunately, the NMEA Simulator does not create AIS data, so perhaps there is something related to that? Other thoughts?

Thanks in advance!


timolappalainen  I am the new man in town, how do I obtain your 2000 library and hardware ??.   

Looking into the future with my crystal ball there will be a transition over from CanBus to Ethernet ( it's already started, Can Bus is not fast enough for some apps, radar for example )

   Have you chaps thought about writing your own 'Shareware Open Standard' and support Library for Ethernet so that users and manufacturer's do not have to keep paying for expensive Nema2000 licences, strikes me such a library would be very popular with end users as it would cause industry suppliers to standardise on one format therefore making their products all communicate with one another regardless of manufacture.


For embedded I prefer to use either Teensy or ESP32. Both has build in CAN and so requires only tranceiver e.g. MCP2562. Download the library and install it. Also download necessary libraries NMEA2000_Teensy and FlexCAN for Teensy or NMEA2000_esp32 for ESP32. Note that if you use Teensyduino, do not install FlexCAN with it. Or if you have done it already, delete FlexCAN from "C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries".

Read the NMEA2000_library_reference.pdf. There is not much about Teensy or ESP32, but they only differs of required "driver".

RPi is also possible for bigger projects and has ethernet and WiFi ready. There is example https://github.com/ttlappalainen/NMEA0183/tree/master/Examples/NMEA2000ToNMEA0183. It works with PiCAN2 board or with my board, which has also NMEA0183 and 1-wire.

For 'Shareware Open Standard' there is already SignalK. And big manufacturers like Garmin, Raymarine, Lowrance would not go to any open standard. And Nmea is already planning OneNet and most big manufacturers are already participated.

Go Up