# Ping1d GPIO connection

**URL:** <https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229>\
**Category:** Ping Sonar Devices\
**Tags:** ping\
**Created:** [September 24, 2020, 9:33am UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229 "2020-09-24T09:33:08Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![eirikaso](https://avatars.discourse-cdn.com/v4/letter/e/a8b319/32.png) [@eirikaso](https://discuss.bluerobotics.com/u/eirikaso)\
**Post date:** [September 24, 2020, 9:33am UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/1 "2020-09-24T09:33:08Z")

</div>

Hi  
Is it possible to connect the ping1d sonar directly to the GPIOs? Is there any API for this, or have anyone tried?

---

<div class="post-metadata">

**Author:** ![williangalvani](https://avatars.discourse-cdn.com/v4/letter/w/6f9a4e/32.png) [@williangalvani](https://discuss.bluerobotics.com/u/williangalvani)\
**Post date:** [September 24, 2020, 1:08pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/2 "2020-09-24T13:08:58Z")

</div>

Hi @eirikaso,

Why do you want to connect it to gpio?

While it is definitely possible, the way things are structured is not going to make it easy.

---

<div class="post-metadata">

**Author:** ![eirikaso](https://avatars.discourse-cdn.com/v4/letter/e/a8b319/32.png) [@eirikaso](https://discuss.bluerobotics.com/u/eirikaso)\
**Post date:** [September 24, 2020, 1:57pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/3 "2020-09-24T13:57:48Z")

</div>

We’re using a upsquared board as companion computer that has has UART on the GPIO, so the plan was to do it directly and having one less component. We also do not have any available USB ports.

> **[Pinout\_UP2 · up-board/up-community Wiki](https://github.com/up-board/up-community/wiki/Pinout_UP2)**
>
> Contribute to up-board/up-community development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![patrickelectric](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/patrickelectric/32/2162_2.png) [@patrickelectric](https://discuss.bluerobotics.com/u/patrickelectric)\
**Post date:** [September 24, 2020, 6:15pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/4 "2020-09-24T18:15:34Z")

</div>

Hi @eirikaso,

Yes it’s totally possible, if you want to use it with ping-viewer, you’ll need to create a bidirectional USB-Serial bridge with your /dev/serial\_device to allow remote connection with ping-viewer, this can be accomplished with socat, netcat or [bridges](https://github.com/patrickelectric/bridges).

For API, you can use both our [python](https://github.com/bluerobotics/ping-python) and [c++](https://github.com/bluerobotics/ping-cpp) library for Ping1D.

---

<div class="post-metadata">

**Author:** ![eirikaso](https://avatars.discourse-cdn.com/v4/letter/e/a8b319/32.png) [@eirikaso](https://discuss.bluerobotics.com/u/eirikaso)\
**Post date:** [September 24, 2020, 7:32pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/5 "2020-09-24T19:32:52Z")

</div>

OK, thanks. So I will not be able to use the ping proxy on the companion? I will need to make my own version of ping proxy?

---

<div class="post-metadata">

**Author:** ![patrickelectric](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/patrickelectric/32/2162_2.png) [@patrickelectric](https://discuss.bluerobotics.com/u/patrickelectric)\
**Post date:** [September 24, 2020, 7:35pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/6 "2020-09-24T19:35:12Z")

</div>

Hi,

Yes that’s also a possibility.

---

<div class="post-metadata">

**Author:** ![jwalser](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/jwalser/32/2234_2.png) [@jwalser](https://discuss.bluerobotics.com/u/jwalser)\
**Post date:** [September 24, 2020, 7:48pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/7 "2020-09-24T19:48:21Z")

</div>

You can install ping-proxy on your upsquared board, you do not need to make your own. Use the install instructions here: [GitHub - bluerobotics/ping-python: Python scripts and examples for the Ping sonar.](https://github.com/bluerobotics/ping-python).

---

<div class="post-metadata">

**Author:** ![eirikaso](https://avatars.discourse-cdn.com/v4/letter/e/a8b319/32.png) [@eirikaso](https://discuss.bluerobotics.com/u/eirikaso)\
**Post date:** [September 24, 2020, 7:53pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/8 "2020-09-24T19:53:09Z")

</div>

But should the ping proxy work with this setup as it is? I’m getting an error trying to launch it but don’t remember exactly what it was

---

<div class="post-metadata">

**Author:** ![axppxsky](https://avatars.discourse-cdn.com/v4/letter/a/d2c977/32.png) [@axppxsky](https://discuss.bluerobotics.com/u/axppxsky)\
**Post date:** [February 7, 2024, 9:13pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/9 "2024-02-07T21:13:39Z")

</div>

hello, i want to use the GPIO pins on jetson too for this, is there any wiring reference on how to do it on GPIOand use the python library

---

<div class="post-metadata">

**Author:** ![tony-white](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/tony-white/32/18385_2.png) [@tony-white](https://discuss.bluerobotics.com/u/tony-white)\
**Post date:** [February 9, 2024, 5:43pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/10 "2024-02-09T17:43:47Z")

</div>

Hi @axppxsky -  
The Ping sonar uses just a simple serial connection. If you don’t want to use a USB adapter for it, you would connect the RX and TX lines of the device to the TX and RX pins of your Jetson - these vary between models of the computer. These [instructions](https://jetsonhacks.com/2019/10/10/jetson-nano-uart/) may be relevant? Once you have it connected, it’s just a matter of specifying the correct serial port when launching the linked Ping python software (/dev/tty???)

---

<div class="post-metadata">

**Author:** ![axppxsky](https://avatars.discourse-cdn.com/v4/letter/a/d2c977/32.png) [@axppxsky](https://discuss.bluerobotics.com/u/axppxsky)\
**Post date:** [February 9, 2024, 6:21pm UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/11 "2024-02-09T18:21:18Z")

</div>

thankyou~!

additional question, although i think its not possible, the 360 sonar needs to be connected through uSB right? theres no other way?

---

<div class="post-metadata">

**Author:** ![tony-white](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/tony-white/32/18385_2.png) [@tony-white](https://discuss.bluerobotics.com/u/tony-white)\
**Post date:** [February 10, 2024, 2:38am UTC](https://discuss.bluerobotics.com/t/ping1d-gpio-connection/8229/12 "2024-02-10T02:38:42Z")

</div>

Hi @axppxsky -  
The Ping360 has USB, Ethernet, and RS485 for communications. USB is length limited, so Ethernet is the best mix of distance and data rate. Besides those instructions I linked, this [guide](https://bluerobotics.com/learn/connecting-your-device-with-navigator-and-blueos/) explains a lot about the types of communications systems use and how to connect them to the Navigator.
