# GUI tool for sending Cyphal command to Development board

**URL:** <https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973>\
**Category:** Libcanard\
**Created:** [August 30, 2023, 1:04pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973 "2023-08-30T13:04:36Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 30, 2023, 1:04pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/1 "2023-08-30T13:04:37Z")

</div>

Hi,  
I have managed to develop a Cyphal CAN node with a Raspberry Pi Pico, so I am wondering if there is any GUI tool for sending commands instead of using Yakut.  
Can Yukon do this? Or there is another tool that could.  
Thank you.

---

<div class="post-metadata">

**Author:** ![silver.valdvee](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/silver.valdvee/32/973_2.png) [@silver.valdvee](https://forum.opencyphal.org/u/silver.valdvee)\
**Post date:** [August 30, 2023, 1:19pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/2 "2023-08-30T13:19:12Z")

</div>

Hi,  
glad you got the Cyphal CAN node on a Raspberry Pi Pico working.  
Yes, Yukon can send commands to Cyphal nodes.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 30, 2023, 11:27pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/3 "2023-08-30T23:27:01Z")

</div>

Thanks for the reply!  
Can I know how a node by a Raspberry Pi Pico can be detected by Yukon?  
I am new to Yukon, and I am trying to connect my Pico via MCP2515 → Zubax babel → Yukon  
So which one should I select to connect to it

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/c/cce8c6ee5b3aba56a10103de7a1dcc113a08149b.png)

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 1:10am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/4 "2023-08-31T01:10:51Z")

</div>

Or more specifically, what should I publish or respond to on the CAN node to make Yukon detect it?

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 5:33am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/5 "2023-08-31T05:33:27Z")

</div>

I published Heartbeat once a second, which is copied from the example, neither Yukon nor Yakut can detect it.

---

<div class="post-metadata">

**Author:** ![aentinger](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/aentinger/32/1428_2.png) [@aentinger](https://forum.opencyphal.org/u/aentinger)\
**Post date:** [August 31, 2023, 7:24am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/6 "2023-08-31T07:24:35Z")

</div>

MTU of 8 is right. Datarate should probably be 250000. That is to say, if you are using the unmodified examples of [107-Arduino-Cyphal](https://github.com/107-systems/107-Arduino-Cyphal).

And you’ll be needing some CAN ↔ USB dongle, @pavel.kirienko sells a decent one. Alternatives are PeakCAN USB, EMS Dr. Thomas Wuensche and myriad others. I leave finding the product as an exercise to the reader, as I type this from my mobile phone.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 7:41am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/7 "2023-08-31T07:41:27Z")

</div>

When I set the datarate to 250000 it has this error on Yukon.

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/1/1ad94390854a898f5919249580ac391546f1d5ec.png)  
However, I tried to set the datarate to this instead, but it still did not work  
 ![image](https://forum.opencyphal.org/uploads/default/original/2X/b/ba6b73362b3e8fb2402b0f6cb5b252972775792d.png)

---

<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:** [August 31, 2023, 8:06am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/8 "2023-08-31T08:06:35Z")

</div>

The Yukon error appeared because the MTU was set incorrectly; it has to be 8 bytes as indicated earlier.

It always makes sense to start debugging from the basics and then go up to the next layer only when the lower-layer functionality is shown to be working. In your case, I recommend first making sure that your node can publish CAN frames at all. For that, use a logic analyzer with CAN decoding functionality, such as DSLogic or Saleae, or at least the Babel you already have together with `candump` (part of can-utils). When you see the data you publish appear on the bus, move on to the higher-level tools.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 8:13am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/9 "2023-08-31T08:13:39Z")

</div>

I have tested using 2 mcp2515 and 2 pico connect a Cyphal network and successfully published and subscribed Cyphal frames, not only the Heartbeat but also with some other data types like **uavcan::primitive::scalar::Real16\_1\_0** and such. I am then trying to implement the system by bringing PC in to be a setpoint publisher, and then the problems happen.

---

<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:** [August 31, 2023, 8:30am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/10 "2023-08-31T08:30:57Z")

</div>

Okay. Please share a short dump of heartbeat messages published by your node.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 8:43am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/11 "2023-08-31T08:43:11Z")

</div>

I am currently using UART output redirected to another microcontroller(which is only for printing the debug message) and this is the serial output received by the subscription, the topology is: Pico(Heartbeat publish) → MCP2515 → MCP2515 → Pico( Heartbeat subscription)

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/2/2be78ca53d9b1e8a80e76587445f3616c2ff9489.png)  
This is the code on the Pico publish side’s code:  
 ![image](https://forum.opencyphal.org/uploads/default/original/2X/e/e5b5fab5d0fc674d41de1538a1cedd96eb9764e4.png)

Thanks for the help!

---

<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:** [August 31, 2023, 9:10am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/12 "2023-08-31T09:10:09Z")

</div>

This is great, but can you please share the data directly from the CAN bus without involving the tools of your own making? It is very important to isolate the problem. Either a logic analyzer or `candump` should suffice.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 10:26am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/13 "2023-08-31T10:26:50Z")

</div>

I installed the Yakut on Windows instead of Linux, is there another way I can test it?

---

<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:** [August 31, 2023, 10:37am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/14 "2023-08-31T10:37:23Z")

</div>

Maybe you could use some general-purpose Windows app for SLCAN adapters, not sure. I strongly suggest to use GNU/Linux for development tasks of this kind because it offers a much wider selection of tooling.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 12:22pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/15 "2023-08-31T12:22:51Z")

</div>

Hi Pavel,  
I set up a VM to run my pico now.  
However, the candump didn’t shows any frames on **slcan0** of the topology: Pico via MCP2515 → Zubax babel → PC

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/b/bfb337b8a5b39170d1f697cbb8e70b8bb85bc83d.png)  
But if I change the pico to a Zubax Mxya, it work normally with the topology: Zubax Myxa → Zubax babel → PC

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/1/1aecbd5a8ee81a9e8b58aeabae3a8578f554e0f0.png)

---

<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:** [August 31, 2023, 12:33pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/16 "2023-08-31T12:33:39Z")

</div>

Okay. A possible reason is that the bit rate is not configured correctly. This is where having a logic analyzer would help.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [August 31, 2023, 12:37pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/17 "2023-08-31T12:37:16Z")

</div>

If I just hardcoded a Node ID to Pico with **28** , can this be theoretically detected? Or what is needed to let the network know there is a Node?

---

<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:** [August 31, 2023, 12:40pm UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/18 "2023-08-31T12:40:25Z")

</div>

It’s fine but it doesn’t matter. Right now the problem is that there are no CAN frames, please focus on that. Once the CAN layer is working, we will move on to the next layer.

---

<div class="post-metadata">

**Author:** ![aentinger](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/aentinger/32/1428_2.png) [@aentinger](https://forum.opencyphal.org/u/aentinger)\
**Post date:** [September 1, 2023, 5:42am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/19 "2023-09-01T05:42:45Z")

</div>

Just from looking at the screenshot of code - thats not an unchanged example. Seems you are using core #1 (loop1) and then continously loop within that function, defying normal expectations on how to use the Arduino API. This could have all kinds of undesirable side effects.

---

<div class="post-metadata">

**Author:** ![Kevin](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/kevin/32/1431_2.png) [@Kevin](https://forum.opencyphal.org/u/Kevin)\
**Post date:** [September 7, 2023, 2:39am UTC](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973/20 "2023-09-07T02:39:52Z")

</div>

Hi,  
I am backing to use a pure copy of the blink example from **107-Arduino-Cyphal**  
And I noticed when setting the mcp2515 bitrate, there is a **HZ** followed by its bitrate number.  
May I know what is this?

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/3/31e9eab2dc830ae94a6a4d1b7038051a014d90f2.png)

[Next page](https://forum.opencyphal.org/t/gui-tool-for-sending-cyphal-command-to-development-board/1973.md?page=2)
