hello everybody, we build a boat. Now we would like to make a topographic map for seaground about 30 meters depth. We had pixhawk 2.4.8 and raspberry pi 3b+. We would like to purchase garmin striker plus 4 fish finder for mapping. Do you have any idea can we use this device or do you have any suggestion as much as cheaper?
After a few googles it looks like it might be difficult to export the data.
I have a lowrance totalscan on my boat which works great for bathymetry and sidescan. It can export to CSV so you can easily import into other mapping software suites.
I also have a blue robotics ping sonar (only 50m max) which is pretty easy to use with the pixhawk plus you can see the depth telemetered back so you know its working.
Thank you so much Mr. Johann. Unfortunately I can’t get lowrance totalscan. But I can get lowrance elite 4x dsi. I can also get humminbird 386ci. But I don’t know which one supports nmea 0183. I search on google but no information. We focused to purchase deeper pro plus fish finder. With the help of its application, we can get csv output. So looks like no need any connection or nmea support.
I want to ask few questions:
1-) Can I get a map with only transducer? Like in the picture that I attach.
2-) How did you get bathymetry map?
3-) Is deeper pro plus good idea?
You might be able to but you will probably need to convert whatever data format your transducer is using to a compatible mavlink format, take a look at these options and see if yours is similar:
Sonars — Rover documentation
On my particular boat with Lowrance totalscan it runs completely independent of my pixhawk & boat electronics. I hit record on the lowrance screen and then send the boat off. I use a cheap analog FPV system with video just to see if the red record button is still blinking. Using reefmaster you can create a map in that program or export a CSV to use better mapping software (Arcmaps or arcGIS).
I looked into deeper pro plus awhile ago, it looks like a pretty cool little unit. I can’t remember if it will record on the unit without the phone app running, definitely look into that. I think creating a sturdy mount for it on your boat would be essential so its not bobbing all over the place.
I’ve been thinking about getting a Lowrance and improve the integration with the autopilot for a couple of reasons:
- I’d like to be able to see the simple depth at least on the GCS to be sure that the sonar is working
- send the autopilot’s location estimate to the sonar instead of it using its built in GPS because normally the Autopilot’s estimate is better (I think). This could be done using NMEA 0183 already if the sonar supports that. In the future I expect AP will support exporting using NMEA 2000.
Ideally I’d even like to add tighter integration like starting the recording but I have no idea what the lowrance interface is like. Automatic cloud upload would also be nice but maybe the sonars will eventually support this natively.
Any thoughts on what interface the lowrance sonars provide?
I’m not sure to be honest, I have not integrated the lowrance into the pixhawk at all. - Keep us updated if you figure any of that out!
The Blue robotics ping altimeter is extremely easy to integrate into the pixhawk.
Maybe use both?
Hi randy, I have an lowrance elite ti running together with arduboat and have been thinking about integrating/feesing the ardurover GPS signal into the lowrance. My understanding is, that this should be possible as the lowrance accepts nmea0183 (newer ones also nmea2000). The lowrance comes with an nmea cable that’s not connected to anything. I have tried to feed the lowrance GPS data via telemetry to reefmaster, which worked quite will with an TTL rs422 module.
I haven’t tried to feed the pixhawk GPS data into the lowrance though. Simply because I could not get the pixhawk to stream nmea data via any port.
Feel free to ask me about anything else you’d like to know about the lowrance.
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.
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
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.
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.
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
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
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”
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?
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.
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.
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.