Bathymatric mapping --urgent help--

Hi @Holly918,

Thanks for that info. Good to hear the lowrance elite accepts NMEA 0183.

AP can output the vehicle’s position via NMEA 0183 by setting the following parameters (where “x” is replaced by the serial port number)

  • SERIALx_PROTOCOL = 20 (NMEA Output)
  • SERIALx_BAUD = 9600, 38400 or 57600 (to match whatever the sonar can consume)

I’ve just bench tested this and it seems to work with the position of the autopilot appearing in GPGGA and GPRMC messages.

To get a more independent confirmation I connected the autopilot’s NMEA output to ReefMaster’s “Live Data” input and my boat showed up.

.

I would like to get an output from the Lowrance into AP so we can get a simple depth appearing on the ground station. You don’t happen to have any info on what output the Lowrance Elite (or similar) provides do you? Is there even a live output from the sonar? If yes and if it’s NMEA we should be able to integrate it easily. If it’s something else I could potentially write a driver for AP to parse the data.

2 Likes

hello Ryan

The Lowrance has a whole bunch of different settings to choose which NMEA sentences exactly you’d want to be sent. most interesting are the GPS GPGGA and GPRMC sentences, allthough i’d like the lowrance to use these provided by ardurover.

than there are a bunch of “navigation” sentences which i’d say are not usefull for us. last but not least there are sentences like “DPT” for depth, HDG from the compass (although this will also be provided by ardurover) and also “DBT” and “MTW”(water Temperature) from the sonar (DBT= Depth below Transducer not sure what exactly the difference is between DPT and DBT). if you like i can give you a full list of the about 30 or so different possible sentences. each one of can be enabled/disabled on their own.
this is what i’m receiving at the moment from my lowrance. (by the way, any Lowrance with NMEA capability should be able to send and receive NMEA 0183 AFAIK)

i dumpted my transducer into a bucket of water, hence why i’m not getting an actual depth reading. the sentence is there though. same for hdg, since the boat is not moving.

$SDHDG,,,,,*70<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$GPRMC,165150,A,3232.6402,N,00391.7299,E,0.4,245.3,863322,2.8,E,A*17<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$GPRMC,165150,A,3232.6402,N,00391.7299,E,0.4,245.3,863322,2.8,E,A*1B<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$GPVTG,166.4,T,163.6,M,0.5,N,0.9,K,A*28<\r><\n>
$GPVTG,0.0,T,357.2,M,0.0,N,0.0,K,A*20<\r><\n>
$GPVTG,180.8,T,178.0,M,0.2,N,0.4,K,A*2A<\r><\n>
$SDMTW,26.5,C*05<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$SDDBT,,,,,,*45<\r><\n>
$GPGGA,165213,3232.6402,N,00391.7299,E,1,12,0.70,112,M,47.9,M,,*6D<\r><\n>
$SDDPT,,,*7B<\r><\n>
$SDMTW,26.5,C*05<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$GPGLL,3232.6402,N,00391.7299,E,165221,A,A*40<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$SDHDG,,,,,*70<\r><\n>
$GPRMC,165150,A,3232.6402,N,00391.7299,E,0.4,245.3,863322,2.8,E,A*1B<\r><\n>
$SDDPT,,,*7B<\r><\n>
$SDMTW,26.5,C*05<\r><\n>
$SDHDG,,,,,*70<\r><\n>

i’d like to try and insert gps data into the lowrance. but somehow i can’t get gps nmea sentences to come out of my pixhawk. (Edit: I managed to get this to work. I’m trying to feed the position data into lowrance now) it might be due to my gps reverting back to ublox everytime i restart the pixhawk, since the radiolink gps does not save its settings.
that also means that i still dont know if the connection really is bidirectional.

by the way, should i / we move this discussion over to here? seems to fit better. Lowrance NMEA 0183 to Cube Orange - #3 by geofrancis

cheers.

I figured I should answer your initial question. Sorry for the off topic discussion here.

I’m not sure wether you could use the Garmin striker plus 4. It should atleast have some sort of memor or maybe even SD card and the ability to export the files. That’s so you could later import the files in software like reefmaster to create a map.
Here is your first problem: as far as I know reefmaster will not be able to read Garmin log files.

About your questions “how did I make maps”:
I actually did start out with the deeper Pro plus sonar. It really is quite a nice device. However it does not have integrated memory. So you either need to have your smartphone on board or some really dedicated WiFi connection from the boat to shore. There are a lot of people that use the deeper with a WiFi router on the boat. They manage to get ranges up to 200-300 meters. I managed to get about 200. You than have to upload the files on the deeper website and can either generate a map there, or download a .CSV log file and work with that in reefmaster.

In the end the deeper did not provide me precise enough data and all the tinkering with WiFi routers etc. Also was a real pain. So I bought a used lowrance elite ti 5. This device has a SD card and will record hours and hours of sonar data. (Sidescan, downscan and 2D data at the same time).
This than is imported in reefmaster.

Cheers.

1 Like

Dear Mr. Bastian,

First of all, thank you so so much for your really valuable help. We already got deeper pro plus. But as you told, there is no possibility to save datas in sd card. We can put the phone in the boat but we don’t know that can we upload the scanned data in the deeper maps website without touching the phone? Because our boat is an autonomous boat so nobody can click any button in the boat. The router is good idea. Can we use normal adsl modem which support router function? If we use a router, the deeper sonar can upload the datas automatically to the website? Actually we would like to get the data without touching anything because we will control the boat at very long distances. Thank you again.

1 Like

unfortunately i have to disappoint you a bit here.
you will not be able to upload your data to the deeper maps (https://maps.fishdeeper.com/) without touching your phone. the data will be stored inside the deeper app on your phone and you’ll have to upload it manually.
now this may sound as a major downpoint to you, however you’ll probably have to change batteries and do stuff at the end of your mission anyway. so easiest solution would be to have a phone onboard of your boat.

the router option also does not provide you with any automatic option. it should be very clear, that you will not have a real internet connection at the lake/sea. but a lot of fishermen use some kind of cheap router (with OpenWRT firmware running) to “bridge” the connection between deeper and smartphone.
on one hand this is not too hard to do. on the other hand, well… i lost months with this stuff.
the deeper sonar expects a very specific wifi name to even connect to it. the openwrt has to configured by hand which needs some sort of knowledge and dedication. and at the end is the problem that you’re trying to extend your normal household wifi over ranges up to 200 meter. so you’ll need real good antennas, a lot of people use 4watt wifi boosters (in the EU wifi normally is only allowed to go up to 25-50milliwatt).

anyway, i’m not trying to talk this option bad. it’s a viable and nice option. but it’s a lot of work just for the luxury of seeing your sonar data live at the shore line. you’ll still have to manually upload and run it through reefmaster though.

if you really need live data at the shore, and your missions really are this far, than the option would be to use lowrance. lowrance will stream the depth measurement as a livestream via NMEA. this could be connected to a 900/868mHz telemetry module and than connected to reefmaster on the shore.
pro: range of up to 2-5 kilometers.
contra: you’ll need a laptop.

so far, feel free to ask more.

edit: by the way, after ditching my deeper sonar for the lowrance now my situation is like this: is turn on my sonar, check if i really inserted the sd card, close the lid of my boat and let it drive for an hour or 2 untill the batteries are empty. i don’t see what it’s measuring and i’m hoping it comes back with data. than i’ll drive home and only there i’m able to watch the sonar logs. i tried all the fancy live stream stuff. but this turned out to be the most reliable way :slight_smile:

@Holly918,

Txs for the info on the Lowrance’s NMEA output. AP should be able to consume the depth and temperature without any problems just like it does the Echologger ECT 400.

If you’re comfortable with a little soldering you could split the serial output from the sonar and feed it into one of the autopilot’s serial ports. Somewhat strangely if you connected another serial port from the autopilot to the Lowrance’s input and setup that serial port’s protocol to “NMEA Output” then I think the Lowrance could/should consume the autopilot’s position.

i’ll definitely try that tomorrow. i have no problem with soldering and tinkering around, i’ll see if i can make something work.
at the moment i’m already happy that i’m getting a NMEA stream from the autopilot out of serial4, however i couldn’t get the lowrance sonar to accept it.

so you recon, as soon as i use input and output from the lowrance, than the input should work? or did i understand that wrong? i’m still a bit confused about there being 2 tx/rx wires.

i’ll see what i can do tomorrow. i also need to find a way to get a proper depthreading in my backyard :smiley:

@Holly918,

When you say, “2 tx/rx wires” i guess you mean on the Lowrance side? So on the Lowrance there’s an input port (with separate tx and rx pins) and an output port (again with separate tx and rx pin)? I can imagine this is the case because it would allow having separate serial baud rates on the two ports. The Lowrance’s input port’s TX pin would never be used though and similarly the Lowrance’s output port’s RX pin would never be used. Of course sometimes there’s a mixup between RX and TX because one end’s RX is the other end’s TX but you probably know this. SERIALx_OPTIONS actually allows you to swap the pins without having to rewire so that can be good for testing… the autopilot needs to be rebooted though for the SERIALx_OPTIONS parameter change to take effect.

Re the autopilot NMEA output (on Serial4) not being accepted by the Lowrance. I imagine that the issue is the SERIAL4_BAUD rate not matching what the Lowrance accepts. My guess is the Lowrance will accept one of these 4 baud rates: 9600, 19200, 57600 or 115200. So you could just try typing each of these numbers into SERIAL4_BAUD, rebooting the autopilot and see if the Lowrance can accept the position. ArduPilot also allows you to use shortened numbers in these parameters, “9”, “19”, “57” or “115”

1 Like

The lowrance has 2 connectors on the back: 1 coming in from the transducer, one for the power/NMEA. The power cable splits up into ± and a proper rs422 cable.
This rs422 cable has 4 wires: rx-, Rx+, tx-, tx+. On the software side I seem to only find one port though.

I am also still searching wether lowrance really accepts nmea0183 as input. I know that it can output nmea0183, for connecting stuff in a network on a boat (like radar, sonar, GPS etc.) It’s normally all connected via nmea2000 though.

I knew about the feature to swap tx/Rx in the serialx parameters. That’s actually quite handy for testing, thanks for reminding me.

P.s.: one question remains for me: the serial output from a pixhawk is probably UART TTL right?

1 Like

i have good and bad news. let’s start with the bad news: i am not able to get the lowrance to accept the NMEA stream from the gps. i read somewhere, that lowrance expects a “simnet” protocol and that NMEA0183 has to be “translated”. there is for example a device from lowrance called “AT10” that does this. i’m not sure however how correct this is and what exactly the problem is.
information is hard to find, and i’m happy about any hint.

now the good news: i managed to get a depth reading inside missionplanner.
i connected the TX and RX from serial port 4 from my pixhawk to an UART TTL → RS422 modifier. (see picture)
the NMEA 0183 cable from lowrance than is connected to this (the thicker wire with 4 smaller wires in blue,green,yellow,orange)
i set the lowrance output sentences to only “DPT” and a baudrate of 4800 (however, any baudrate should work i guess, as long as SERIAL4_BAUD is set the same.)

it really was quite simple and straight forward.


P.s. getting a depth reading of 5,1meters in a small bucket was the biggest challenge here.

3 Likes

I don’t think you’ll be able to do this without commanding it using the physical display, unfortunately. You can use mobile app to mirror the screen via wifi and control it that way, but that’s not really what you’re going for.

1 Like

@Holly918,

Great news re getting the depth appearing in the GCS!

I did a quick google search for Simnet and it looks like maybe it is the same thing as NMEA2000 (see discussion here). NMEA2000 is quite different from NMEA0183 because it is actually a form of CAN. In any case, adding NMEA2000 support is on our to-do list although it’s hard to say when that will be done.

now the good news: i managed to get a depth reading inside missionplanner.
i connected the TX and RX from serial port 4 from my pixhawk to an UART TTL → RS422 modifier. (see picture)
the NMEA 0183 cable from lowrance than is connected to this (the thicker wire with 4 smaller wires in blue,green,yellow,orange)
i set the lowrance output sentences to only “DPT” and a baudrate of 4800 (however, any baudrate should work i guess, as long as SERIAL4_BAUD is set the same.)

Great work - Can you give specifics for the pins on the serial port on Pixhawk and the setting in Mission planner. I have tried for a while and have not succeeded at this so this is great information.
Thanks

1 Like

The answer to this question can be found at Lowrance NMEA 0183 to Cube Orange - #10 by RDodds

Hello rmackay9. How did you manage or get the nmea to reefmaster? I tried that 1 year ago over nmea out and couldn’t get it to work. Please see my post. Thank you. https://discuss.ardupilot.org/t/arduboat-live-depth-to-gcs-map-or-reefmaster/93173

@rmackay9 rmackay9 Hello, Master, there are only a few SERIAL ports on our FC. I noticed that the wireless data transmission of the ground station is bidirectional, but other modules such as GPS are basically unidirectional. Only RX pin is used, while TX pin is not used. Also let this port TX output signal such as NMEA?

Hi @admired,

It’s not possible to mix the use of the RX and TX pins. Also even for the GPS, AP does automatically configure the GPS at startup so both RX and TX pins are used.

It might help to replace some of the serial sensors (including the GPS) with CAN equivalents. Another more complex alternative is to attach an AP_Periph device which can run the AP sensor drivers (which may use Serial) but then connect to the autopilot using CAN.

Just a note for visitors to this thread. If you are considering inputing data into lowrance (RS232 or RS422) check out these other threads, and note the fixed RS422 wiring diagram.

1 Like

I have a Lowrance HDS7 and it also outputs NMEA0183 data on port 10110

Here’s a sample.

$GPGGA,172213,0,01,M,M,63
$GPGLC,73
$GPGLL,172213,V,N
60
$GPGSA,A,1,21,1D
$GPRMC,172213,V,120323,7.1,W,N
29
$GPVTG,T,M,N,K,N
2C
$GPZDA,172213,12,03,2023,06,0049
$GPAAM,N,38
$GPAPB,N
26
$GPBOD,T,M,47
$GPRMB,N
04
$GPXTE,N,N
5E
$SDDBT,45
$SDMTW,24.1,C
03
$SDVLW,N,0.0,N,N,N74
$IIHDG,67
$SDVHW,T,M,N,K
42
$WIMWD,T,M,N,M
5A
$WIMWV,R,N,V34
$WIMWV,T,N,V
32
$IIXDR,C,C,AIRTEMP,A,D,HEEL,A,D,TRIM,P,B,BARO,A,D,RUDDER*07
$IIHDG,*67

Just to add my 5 cents:

You can enable deeper Pro ball sonar to send NMEA messages without phone or app.

here is commands:

It will send back UDP packets to any device that sent deeper command to send NMEA messages over UDP