Problems with Babel & DroneCAN GUI Tool on Windows


I am having some problems with getting my device to be recognised on the DroneCAN GUI tool (running Windows 10).
I am using a Zubax Komar ESC with the Babel USB-CAN adapter which is connected to my PC via USB cable. I have the ESC connected to a power supply, and CAN cable between the ESC and the Babel device.
Does anyone know why I’m not seeing any devices appear in the nodes window?


It seems like the device pictured runs Telega v1.0, which uses Cyphal/CAN instead of DroneCAN. This is the default option for all new orders, and we do not recommend DroneCAN for new designs. Please follow this tutorial to get started: Yakut CLI tool - Telega v1.0 Reference Manual

Thank you


I am attempting to follow your windows screencast session for installing and configuring yakut.
on the installing vendor specific DSDL namespace step, when I run the command:
yakut --verbose compile
I get the following error:
UndefinedDataTypeError: C:/Users/Alastair Packman/AppData/Local/Temp/yakut-dsdl-mk90r6s4/zubax_dsdl-master/zubax/bridge/can/FrameTs.0.1.dsdl:3: Data type uavcan.time.SynchronizedTimestamp.1.0 could not be found in the following root namespaces: {‘zubax’, ‘zubax_internet’}. Please make sure that you specified the directories correctly.

The screen cast is a bit obsolete, sorry. Please just follow the instructions given in the README. The key idea is that the compile command need no longer be used at all; actually it will be removed in the next release of Yakut.

Is that just the steps under ‘Installing’ on the readme, then refer back to the tutorial linked above?

I fear I am missing something obvious, but I am having trouble locating the directory ‘cyphal’ to extract the archive into.


You need to create it yourself. After that, extract the archives into that directory, ensure the CYPHAL_PATH environment variable is set correctly pointing to that directory. Then you should be good to proceed with the tutorial.

Hi Pavel,

Steps I have taken so far:
created ‘cyphal’ folder in C:\Users\Alastair Packman\cyphal
created CYPHAL_PATH environment variable under system variables and assigned the value as the path of the ‘cyphal’ folder
downloaded the archive from the Zubax Cyphal DSDL git repo
extracted archive into the cyphal folder
made the file called ‘env_slcan.ps1’ containing the snippet of code as instructed
sourced the file using command: . env_slcan.ps1 (to be specific, I included the path of the file so it was more like . C:\Users"Alastair Packman"\env_slcan.ps1)
Upon execution I get the following message:
Error: Run yakut compile <path>/uavcan to compile DSDL namespace ‘uavcan’
Auto-selected node-ID for this session:

I’ve looked through the files contained in the archive and can’t find anything called uavcan to add the path to. I thought using the compile command wasn’t required now.
Am I doing anything wrong here?

Please show the contents of your cyphal folder

Please unpack the public regulated data types there as well:

Thank you,
I have unpacked the archive into the same folder, but sourcing the file produces the same error

I have also tried running:
yakut --verbose compile C:\Users"Alastair Packman"\cyphal\public_regulated_data_types-master\uavcan
but this does not seem to change anything

The last post seems to suggest that the uavcan namespace is unpacked into C:\Users\"Alastair Packman"\cyphal\public_regulated_data_types-master, while it should be C:\Users\"Alastair Packman"\cyphal. Please double-check this.

I have since learned that the order we made for the Komar ESC was requested with version firmware version 0.6, so this would specify UAVCAN, not Cyphal. I believe the venture into working with the Yakut CLI tool may have been in vain…

Per our records, the ordered version was v1.0. Regardless, version 0 is not recommended for new designs, so we recommend continuing with Yakut.


I am now attempting to carry out the run motor commands.
When I run the following, the output just hangs indefinitely without a response:
y pub -T 0.1 1101:uavcan.primitive.scalar.real16 0.05

In this command I understand that we are trying to start the motor in ratiometric torque control mode, which is related to the ‘1101’ parameter in the command above. However the number present in my configuration file is: 65535
I also noticed that when I run the ‘monitor’ command the MESSG field do not look like the screenshot provided in the tutorial:

Do I need to manually set the various id’s according to the configuration file in the screenshot?
I attempted this, but when I run the the command:
y rb < configuration.yaml
I get the following error:


That means that it’s working properly. The command does not produce output during normal operation. If you want to see what is happening, use -v for verbosity or -vv for extra verbosity.

You will need to change the configuration so that the subject-ID matches the value you give to the publishing command.

Power Shell has no syntax for stdin redirection. Use piping instead:

cat configuration.yaml | y rb

Thank you Pavel.

I have edited the subject-ID’s in the configuration file and attempted to deploy to the device.
However it does not seem to be accepting the fields. I have uploaded my configurations.yaml file for reference.
Now when I run the command as recommended I get the following error:

This appears to be the first line in the configuration file. I tried commenting this out and the error proceeds to the next line in the file when I retry.
configuration.yaml (7.7 KB)

Please invoke the register-batch command with the node-ID, like y rb 125, unless the node-ID is specified in the config file (it is not in your case). More info via y rb --help.