# How to use Yakut

**URL:** <https://forum.opencyphal.org/t/how-to-use-yakut/1572>\
**Category:** Applications & Usage\
**Created:** [January 20, 2022, 9:49am UTC](https://forum.opencyphal.org/t/how-to-use-yakut/1572 "2022-01-20T09:49:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eric\_Voon](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/eric_voon/32/1035_2.png) [@Eric\_Voon](https://forum.opencyphal.org/u/Eric_Voon)\
**Post date:** [January 20, 2022, 9:49am UTC](https://forum.opencyphal.org/t/how-to-use-yakut/1572/1 "2022-01-20T09:49:54Z")

</div>

I am so sorry to ask this, like I am quite new to UAVCAN stuff too. So, actually I tried to follow the demo\_app.py exactly and I get my way to work well with this. However, when I tried to get UAVCAN data from my GPS through either Seeeduino (with CAN bus shield) or Pixhawk directly, both of them not working as I follow the way I did in demo\_app.py. I have very little knowledge on Python so sorry to say that, and I can only follow the instruction from the provided documents. Anyhow, anyone of you know how does the yakut working with PyUAVCAN, like how do we connect it? Thank you.

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [January 20, 2022, 6:38pm UTC](https://forum.opencyphal.org/t/how-to-use-yakut/1572/2 "2022-01-20T18:38:37Z")

</div>

It sounds like you are trying to use legacy UAVCAN v0 devices with UAVCAN v1. Please consult with this thread here:

> [@Yakut monitor with a Babel](https://forum.opencyphal.org/t/yakut-monitor-with-a-babel/1514/7):
>
> If compatibility with ArduPilot is a requirement, then staying with v0 might be a wise decision. In all other scenarios, this would likely be a mistake. v0 is only suitable for highly centralized systems where there is only one actor responsible for the consumption of data from the bus and the issuance of imperatives to other nodes. v0 is only suitable for networks that match the rigid architectural patterns envisioned by the authors of its data types. E.g., if you have a quadplane and the…

---

<div class="post-metadata">

**Author:** ![Eric\_Voon](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/eric_voon/32/1035_2.png) [@Eric\_Voon](https://forum.opencyphal.org/u/Eric_Voon)\
**Post date:** [February 9, 2022, 3:16am UTC](https://forum.opencyphal.org/t/how-to-use-yakut/1572/3 "2022-02-09T03:16:36Z")

</div>

Thank you for your reply. So, you meant by having Zubex Babel then I am able to read the device supported UAVCAN v0 using Yakut for PyUAVCAN? Or you meant it otherwise?  
This is because I saw from your statement, you stated that Yakut is for v1 and it doesn’t support v0 devices at that moment right?

If yes, then I might proceed to get the board for it but before that I need make this clear before getting it. My question is after I get the Zubax Babel, do I need to code anything other than following the instruction from Yakut github as what I have done previously for the demo\_app.py to proceed with reading device supported UAVCAN protocol (any version: either v0/v1) or any other step to be concerned before and after getting the board.

Thank you for your patience to answer my question.

---

<div class="post-metadata">

**Author:** ![Eric\_Voon](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/eric_voon/32/1035_2.png) [@Eric\_Voon](https://forum.opencyphal.org/u/Eric_Voon)\
**Post date:** [February 9, 2022, 3:54am UTC](https://forum.opencyphal.org/t/how-to-use-yakut/1572/4 "2022-02-09T03:54:27Z")

</div>

The reason for asking this is because I tried using three different method to read UAVCAN value.

First measure I have taken is by having Seeeduino with canbus shield and provided library to read the UAVCAN data through Arduino IDE. I get very raw data which is not ideal for me to understand the meaning of those data.

Second is using Yakut to read the data from the device (GPS) by connecting it through a CANBus reader (GPS to Seeeduino with CANBus Shield to Computer).

Third is having UAVCAN GUI tool to read the data from Pixhawk. Only this method is working for me but I am finding a way to have a device works well without having Pixhawk and running through UAVCAN GUI tool is because I am trying to create a Linux UI that ease the process of UAVCAN reading with my friend.

Sorry for being ignorance as I have little knowledge about the working mechanism of this protocol. Is there any docs or video available to improve my understanding?

Thank you for your patience 😅

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [February 9, 2022, 10:14am UTC](https://forum.opencyphal.org/t/how-to-use-yakut/1572/5 "2022-02-09T10:14:54Z")

</div>

> [@Eric\_Voon](#):
>
> So, you meant by having Zubex Babel then I am able to read the device supported UAVCAN v0 using Yakut for PyUAVCAN? Or you meant it otherwise?

Zubax Babel is compatible with both v0 and v1.

Yakut is compatible with v1 only.

UAVCAN GUI Tool is compatible with v0 only.

There are versions of PyUAVCAN and libcanard for v0 and v1 each.

Currently there is no software solution out there that supports both protocols simultaneously (sans the [Kocherga](https://github.com/Zubax/kocherga/) bootloader but in this case it is irrelevant).

> [@Eric\_Voon](#):
>
> Yakut is for v1 and it doesn’t support v0 devices at that moment right?

Right.

> [@Eric\_Voon](#):
>
> If yes, then I might proceed to get the board for it but before that I need make this clear before getting it. My question is after I get the Zubax Babel, do I need to code anything other than following the instruction from Yakut github as what I have done previously for the demo\_app.py to proceed with reading device supported UAVCAN protocol (any version: either v0/v1) or any other step to be concerned before and after getting the board.

No coding is necessary but you will need to pick the right tool: Yakut for v1, UAVCAN GUI Tool for v0. You can also use them simultaneously.

> [@Eric\_Voon](#):
>
> Sorry for being ignorance as I have little knowledge about the working mechanism of this protocol. Is there any docs or video available to improve my understanding?

There are plenty of docs. The most important ones are:

- [The Cyphal Guide - Applications & Usage - OpenCyphal Forum](https://uavcan.org/guide)
- [https://uavcan.org/specification](https://uavcan.org/specification)
- Docs for your implementation, such as the PyUAVCAN docs that you have already read.
