Meshtastic to AIS

Hi all

I recently came across Meshtastic and see a lot of potential in it for my local area.

I am a member of a volunteer search and rescue team where we have groups of super jeeps, snowmobiles and persons on foot. This could help us greatly tracking where everyone is during SAR missions.

What I would like to do additionally is add a serial output to the TTGO-T-Beam and send out the locations of other devices on AIS/NMEA 0183 format.
Reason for this is that in the super jeeps and snowmobiles are equipped gps plotters that have AIS input and can show locations of others on the map. If I manage to get this used widely in my area this could revolutionize things and greatly reduce the time it takes to get to people in need of help.

GPS plotter: ECHOMAP Plus 72cv | Chartplotter w/ Sonar Support | GARMIN
The AIS system: Automatic identification system - Wikipedia

Could anyone recommend an easy way to get a serial output for the t-beam and how it would be best to format the AIS messages?


Creating a plugin would be the way to go.

I think this is defiantly doable, and likely isn’t that hard (relativity speaking) for an experienced coder.

The serial plugin has support for multiple output formats, but only one is specified right now.

Wouldn’t be much of a stretch to add your format to that.

Thank you for the great tips, I will look into this.

Interesting use of Marine equipment for land use :slight_smile: Basically a standard for location sharing in an amateur radio world is APRS. In europe search-rescue and law enforcement people use trunked radios like TETRA or TETRAPOL with their own location interface.

There is a really good location tracking and map application that is widely used, and not only by search-rescue teams in europe Locus Map helps with searching for lost peopleLocus, but it is missing an interface like we have for ATAK. It should be possible, but @menion would need to help (discussed in a thread about Offline Maps) - ideally directly from Locus to Meshtastic device without any other app.

1 Like

I’m interested in what you come up with, I run a PI with an AIS Hat and would like to extend the range by moving it via meshtastic.

The reason for marine equipment is that we drive a lot offroad when conditions allow it (frozen ground or glaciers). There is no need for road guidance but a larger display is good to see the layout of the land and plan your route. Also driving on a glacier isnt that far from sailing a boat. :slight_smile:

Tetra in Iceland did some research on this to display tetra radios on gps display, just like what I am planning. They quickly lost interest in finishing the solution though. The Tetra coverage isnt that great anyway in the highlands where we have valleys and canions. That is where I hope the MESH in Mestastic will be great.

1 Like

@thorolfur I’m exploring the same path, since I already have an echomap that’s daylight readiable. Having an isolated Meshtastic->AIS feed would be ideal! But like you I’m still a script pup, and I’m trying to run before I crawl. :slight_smile:

What i’ve figured so far would be a NMEA hat on the pi w/ a Meshtastic node connected via USB or TCP/Bluetooth(leaning towards USB).
NMEA HAT -> PICAN-M - NMEA 0183 & NMEA 2000 HAT For Raspberry Pi

Then figure out how to dump the info from Meshtastic --nodes to a .txt file and convert it to a Type 1 NMEA string.

  1. TYPE="1" MMSI="24416300" STATUS="5" SPEED="0" LON="121.745400" LAT="25.135410" COURSE="113" HEADING="30" TIMESTAMP="2015-11-

Then have the AIS converter dump the conversion into SignalK, which will push the info into the NMEA network

WOW that’s alot of moving parts! lol But at least it’s all hosted on a single Pi

I’ve been playing with node-red lately trying to get the pynodered to consume the meshtastic module, but haven’t had any luck yet. This project has definitely opened up my eyes on the use cases for LORA in general as well as the big gap in my coding abilities.

Big thanks to all the developers who have made this possible! @mc-hamster @geeksville(that’s two big ones I aware of sorry if I missed anyone)


NMEA is basically just a RS422 bus, so you need only a RS422 transceiver (you can get ready to use module from Ali for less than 2 €), connect it to a serial port on Meshtastic and write a plugin that will do all the magic.

@randybb Brilliant! Didn’t even think about going this route.

do you think this guy might be able to get it done? looks like it’s bidirectional.

Yes, such transceiver needs to be connected to UART and then you will need a modified SerialPlugin New Plugin -- SerialPlugin that will just dump all nodes (similar to NodeInfoPlugin) to NMEA. Should not be hard.


The serial plugin has the concept of “modes” built in but is not actually used for anything. A mode for the use you described can be added. This will keep us from having a ton of similar plugins and will allow us to maintain one plugin rather than many.

If anyone would like a hand to do this, LMK. I’ll gladly help.


this guy! :point_up_2: :slight_smile: @mc-hamster
so I could possibly have the --SerialPlugin directly output a NMEA string?

1 Like

Primarily what I’m trying to accomplish is to pass just the NodeIDs and GPS coordinates from the mesh into an AIS NMEA string.

1 Like


I want to be like you when I grow up Sir.

1 Like

If you’re game, I can put in the plumbing to support the “mode” this weekend. I won’t have time to do much more than that but I can stub out where you’d insert your changes.


more than i could ask for good Sir. Thanks!