# Is there a way to connect a digital transducer to Sparkfun RTK facet (GPS-19984) either through the QWIIC or DATA input?

**URL:** <https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753>\
**Category:** Uncategorized\
**Created:** [23 April 2024 02:01 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753 "2024-04-23T02:01:24Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [23 April 2024 02:01 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/1 "2024-04-23T02:01:25Z")

</div>

Hi all

This is urgently needed for research.

Is there a way to connect a digital transducer to Sparkfun RTK facet (GPS-19984) either through the QWIIC or DATA input?

Could this measurement automatically be added to the data then you simply add the pole length in SWMAPS? So you only have to adjust the pole distance.

This would be a massive upgrade for the product.

Also what low budget digital transducer would you suggest and can you provide a wiring diagram of the setup?

The Arduino or raspberry pi method is too complex for my programming skillset and prefer a plug and play method

Thanks  
Chris Hopper

---

<div class="post-metadata">

**Author:** ![Michael](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/michael/32/3545_2.png) [@Michael](https://forum.core-electronics.com.au/u/Michael)\
**Post date:** [23 April 2024 04:30 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/2 "2024-04-23T04:30:04Z")

</div>

Hi @christopher187811 - welcome to the forums 🙂

From the **[docs](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-hookup-guide)**:

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/d/d3c54347f1be759dc53c34d18b39b2f520d9005b.png)

The short answer is I don’t think there are any plug-and-play options.

The Facet is [open-source and customisable](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-hookup-guide#firmware-updates-and-customization).

It looks like adding the functionality you desire will require the following steps:

- identify the I2C sensor you want to bring to the party
  - if it is a QWIIC sensor, there will be a driver for it by SparkFun, else
  - find / write a driver for it in Arduino

- integrate new firmware into the factory firmware to add the functions you desire eg. datalogging the new sensor.
- (optional) post-process the logged data or add some algorithm to the Facet firmware to make use of this new data eg. Kalman Filtering.

I hope this helps in some way

* * *

> [@christopher187811](#):
>
> connect a digital transducer

Do you mean some kind of distance sensor? It sounds like you wish to apply a correction factor to the GPS measurement to correct for the length of the pole that the Facet is mounted to.  
Sounds pretty reasonable, given there are [QWIIC distance sensors](https://www.sparkfun.com/search/results?term=distance#tutorials).  
My only concern is that the RTK Facet might be _more accurate_ than any of these sensors - and so introducing the distance sensor in a naive way could actually be more harmful. Which is why i mentioned Kalman Filtering as one approach.

It seems like the simplest solution might be to introduce a constant offset in code to account for the pole length. Does that sound reasonable?

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [23 April 2024 06:21 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/3 "2024-04-23T06:21:18Z")

</div>

I think results could be smoothed out in in post data collection using hecras

There is some what of a need to calibrate the transducer in turbid water using a lead line

My concern is finding a digital water transducer on a budget over a single beam echosounder and get then get the transducer to tell the the GPS module the the addition measurement

---

<div class="post-metadata">

**Author:** ![Michael](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/michael/32/3545_2.png) [@Michael](https://forum.core-electronics.com.au/u/Michael)\
**Post date:** [23 April 2024 06:47 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/4 "2024-04-23T06:47:35Z")

</div>

Right! We’re definitely in the research-project-zone here 😅 In any case, there I’ve provided one recipe you could follow.

Alternatively, you could treat the Facet as any other sensor. Pull data from the Facet and other transducers using some host microcontroller and combine readings there.

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [29 April 2024 06:50 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/5 "2024-04-29T06:50:28Z")

</div>

I’m now have an adurino and trying to work have to get the rtkgps facet to talk to get.  
side note  
Using tera term I can change the settings in the facet and get it to connect to WIFI then connect to an ntrip internally.  
There is a ping 2 from blue robotics and I would want it to add to the Z from the gps.  
Ideally every 3 or 5 seconds I want a table output be X,Y,(Z+polelength+ping2-Ausgeoid09)  
Im waiting on a QWIIC cable to do more.  
Sparkfun has a RTKGPS library for Arduino but no clue on how to get it to work.

---

<div class="post-metadata">

**Author:** ![Pixmusix](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/pixmusix/32/9719_2.png) [@Pixmusix](https://forum.core-electronics.com.au/u/Pixmusix)\
**Post date:** [29 April 2024 07:41 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/6 "2024-04-29T07:41:51Z")

</div>

Hi @christopher187811

This is the Git Repo you need.  
Do you need some guidance cloning and building a code base from github or are you already familiar? 🙂

> **[GitHub - sparkfun/SparkFun\_u-blox\_GNSS\_Arduino\_Library: An Arduino library...](https://github.com/sparkfun/SparkFun_u-blox_GNSS_Arduino_Library)**
>
> An Arduino library which allows you to communicate seamlessly with the full range of u-blox GNSS modules - sparkfun/SparkFun\_u-blox\_GNSS\_Arduino\_Library

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [29 April 2024 07:56 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/7 "2024-04-29T07:56:48Z")

</div>

yeh I have never done this before

---

<div class="post-metadata">

**Author:** ![Robert93820](https://avatars.discourse-cdn.com/v4/letter/r/ac91a4/32.png) [@Robert93820](https://forum.core-electronics.com.au/u/Robert93820)\
**Post date:** [29 April 2024 08:10 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/8 "2024-04-29T08:10:29Z")

</div>

Hi Christopher

> [@christopher187811](#):
>
> There is some what of a need to calibrate the transducer in turbid water using a lead line

> [@christopher187811](#):
>
> My concern is finding a digital water transducer on a budget over a single beam echosounder

Is this transducer of the type used in Echo Sounders?? If so I have never heard of a digital one. The ones I have dealt with are strictly analog at that point. They are hit with several Watts (sometimes 100s) of 50 or 200kHz (I think those are common frequencies) and receive an echo, measure the time then calculate and display the results in some visible manner. Obviously at some point tis process is digital for calculation and display purposes but at the transducer itself I think not.

If this is in water I assume you know the actual speed of the pulse in the water will depend on whether it is fresh or salt and will even depend on the salinity. So the accuracy of any measurement would not be terribly accurate without some specialised equipment or determine water type and salinity and add/subtract a correction.  
Cheers Bob

One other thing. You speak of turbulent water. If this has lots of bubbles in it as caused by a boat propeller you can pretty much forget the transducer. It will not work successfully.

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [29 April 2024 09:23 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/9 "2024-04-29T09:23:37Z")

</div>

> **[Using the Ping Sonar with an Arduino](https://bluerobotics.com/learn/using-the-ping-sonar-with-an-arduino/)**
>
> This guide teaches you how to connect the Ping Echosounder sonar with an Arduino to measure distances underwater. It can be used the make a basic fishfinder, boat depth sensor, and for ROV and robotics projects.

Im sure there is a way to calibrate it like any transducer on a boat.  
You could simply drop a lead weight on a rope and measure to the device.

Its more about horizontal and changes in surface water height for the rtk fix.

This is to fill in the gaps of lidar data not replace those methods of collection.  
Eg on a major river in queensland there is missing 25% of its bathymetry data.

There are commerical USV available with this setup and I really doubt they measure salinity because the application Hydromagic doesnt have this input. Neither do the trimble handheld gps transducers.

---

<div class="post-metadata">

**Author:** ![Robert93820](https://avatars.discourse-cdn.com/v4/letter/r/ac91a4/32.png) [@Robert93820](https://forum.core-electronics.com.au/u/Robert93820)\
**Post date:** [29 April 2024 11:16 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/10 "2024-04-29T11:16:53Z")

</div>

Hi Christopher  
I apologise. I did not realise the vast changes that must have taken place since I had anything to do with this sort of thing. In those times you requires Watts @ 200kHz or 50kHz to get a result. On larger commercial vessels the echo sounder could be in the 100s of watts.

When I looked at that link the bit about using this as an Altimeter had me a bit confused as there is a VAST difference between sound speed in air and water. The video explained this. By measuring the distance to sea bed from an underwater vessel the device was referred to as an altimeter. That is the distance from the vessel to the sea floor.

So you do indeed have a transducer with a digital output.

But the comments re sound (ultrasonic) speed in different types of water still hold. That is physics. But the resolution and accuracy quoted would probably take care of this. After all measuring distance to the bottom of the waterway (sea, river etc) to the nearest few millimetres would be stretching it a bit.  
Also the performance in turbulent water if full of air bubbles. Experiment would confirm this.  
Cheers Bob

---

<div class="post-metadata">

**Author:** ![Robert93820](https://avatars.discourse-cdn.com/v4/letter/r/ac91a4/32.png) [@Robert93820](https://forum.core-electronics.com.au/u/Robert93820)\
**Post date:** [29 April 2024 11:23 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/11 "2024-04-29T11:23:32Z")

</div>

Hi Christopher  
Add on.

> [@christopher187811](#):
>
> major river in queensland there is missing 25% of its bathymetry data.

This is possible. The bottom of rivers and indeed the sea floor is constantly changing.  
That is why the Navy have several survey vessels (and their satellite boats) constantly surveying the sea floor around our coast. Like painting the Harbour bridge, when you get to the end you start again.  
Cheers Bob

---

<div class="post-metadata">

**Author:** ![Pixmusix](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/pixmusix/32/9719_2.png) [@Pixmusix](https://forum.core-electronics.com.au/u/Pixmusix)\
**Post date:** [29 April 2024 12:29 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/12 "2024-04-29T12:29:04Z")

</div>

> [@christopher187811](#):
>
> yeh I have never done this before

No worries.

Good news! I was just reading the README of the repository and apparently this library can be installed via the [Arduino IDE Library manager](https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/). 🙂  
That’s the best way 👍  
I’d just run a search for “ **SparkFun u-blox GNSS** ”.

Pix ❣

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [29 April 2024 13:12 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/13 "2024-04-29T13:12:08Z")

</div>

This is for rivers, creeks and maybe intertidal zones. Max 10m deep

I found this piece of info and its at the low end of my concerns now.

The speed of sound increases as water temperature, salinity and water pressure increases, and all of the above vary with depth. The speed of sound varies from about 1432 metres/sec. in fresh water, to about 1535 metres/sec. in salt water of high salinity. For depth sounding equipment design purpose a sound speed value of 1500 metres/sec. are assumed.

For normal applications on merchant vessels, the indication of the depth value based on the average speed of sound (1500 m/sec.) causes a minor error when changing from Salt Water (SW) to Fresh Water (FW). Assuming there is a small correction adjustment for SW, the true depth in FW is found to be about 3% less than the indicated depth. As can be seen, this deviation is very small and thus insignificant for practical considerations.

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [29 April 2024 13:15 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/14 "2024-04-29T13:15:49Z")

</div>

Yes I seen this but when I verify i get this error  
C:\Users\cmhop\AppData\Local\Temp\arduino\sketches\0B0861ACDAAEBD214892C7F189B18E0E/…..\cores\arduino\_renesas\_uno\_unor4wifi\_86f939dcb9a4040cfff840dd87b1ea4e\core.a(main.cpp.o): In function `arduino_main()': C:\Users\cmhop\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.1.0\cores\arduino/main.cpp:114: undefined reference to `setup’  
C:\Users\cmhop\AppData\Local\Arduino15\packages\arduino\hardware\renesas\_uno\1.1.0\cores\arduino/main.cpp:117: undefined reference to `loop’  
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

---

<div class="post-metadata">

**Author:** ![Pixmusix](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/pixmusix/32/9719_2.png) [@Pixmusix](https://forum.core-electronics.com.au/u/Pixmusix)\
**Post date:** [29 April 2024 13:25 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/15 "2024-04-29T13:25:22Z")

</div>

> [@christopher187811](#):
>
> Yes I seen this but when I verify i get this error

Ah ok.  
Can you clarify what steps you took to generate this error?  
What are you verifying?

---

<div class="post-metadata">

**Author:** ![christopher187811](https://avatars.discourse-cdn.com/v4/letter/c/7993a0/32.png) [@christopher187811](https://forum.core-electronics.com.au/u/christopher187811)\
**Post date:** [29 April 2024 14:06 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/16 "2024-04-29T14:06:31Z")

</div>

I think I was trying to add the whole library

I found this Example10\_GetHighPrecisionPositionAndAccuracy.ino  
It seems to be easier to understand but I need a QWIIC cable which is in the post  
I dont want to go the RX/TX Method on pin 10 and pin 9 because hopefully later I can add the PING code an it uses those pins

---

<div class="post-metadata">

**Author:** ![Robert93820](https://avatars.discourse-cdn.com/v4/letter/r/ac91a4/32.png) [@Robert93820](https://forum.core-electronics.com.au/u/Robert93820)\
**Post date:** [30 April 2024 01:55 UTC](https://forum.core-electronics.com.au/t/is-there-a-way-to-connect-a-digital-transducer-to-sparkfun-rtk-facet-gps-19984-either-through-the-qwiic-or-data-input/19753/17 "2024-04-30T01:55:44Z")

</div>

Hi Christopher

> [@christopher187811](#):
>
> I found this piece of info and its at the low end of my concerns now.

Yes that is what I was getting at. I wasn’t sure of the actual numbers but I suppose I could have looked them up as you did.

The master of any commercial vessel would be well aware of all this and would make corrections if the occasion need it. The echo sounder is not normally used for a warning system for rapidly disappearing water. By the time this condition is detected the ship would be aground anyway as the front of the ship could be quite a distance ahead of the sounder transducer. In normal usage I think an accuracy of +/- a foot or so would be of little consequence.

There was a device I came across at Wewak, PNG a good many years ago which may interest you. If you can now find any info on it. It was call a “Wave Rider” and it was tethered or anchored a bit off shore and apparently the weather boffins were measuring and recording the vertical movement of the sea at that point.

As for getting your Ping Sonar info into some other useful form I am afraid I am unable to help there. That is one for the Digital programming Gurus.  
Cheers Bob
