# Windows application with UAVCAN support

**URL:** <https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841>\
**Category:** Applications & Usage\
**Created:** [March 9, 2023, 9:14am UTC](https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841 "2023-03-09T09:14:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![alex-liga](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/alex-liga/32/1333_2.png) [@alex-liga](https://forum.opencyphal.org/u/alex-liga)\
**Post date:** [March 9, 2023, 9:14am UTC](https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841/1 "2023-03-09T09:14:40Z")

</div>

Hello,  
I’m working on a Windows application (С++ or C#) that needs to support UAVCAN v.0 and v.1.0 for exchanging data using Zubax Babel adapter (SLCAN). What libraries would you recommend for Windows desktop app?  
Everything was easier with STM32… 🙂

---

<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:** [March 9, 2023, 11:13am UTC](https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841/2 "2023-03-09T11:13:44Z")

</div>

UAVCAN is no more, there is now Cyphal and DroneCAN. Here’s how they differ: [Cyphal vs. DroneCAN](https://forum.opencyphal.org/t/cyphal-vs-dronecan/1814)

If you must use C++, I recommend [libcanard](https://github.com/OpenCyphal/libcanard) for Cyphal. There is ongoing work on [libcyphal](https://github.com/OpenCyphal-Garage/libcyphal) which is a high-level C++14 library built on top of libcanard/libudpard/libserard but it is not yet usable, sadly. You can see that even the logo in the README is all messed up so that’s a WIP. I think we could use some help with that project if you are comfortable writing C++, assuming that Scott, who is driving this particular bus, won’t tell us to get off his lawn.

For DroneCAN, just use the old [libuavcan](https://github.com/DroneCAN/libuavcan).

All of that said, since you are developing for Windows, why not simply choose a higher-level language and use [PyCyphal](https://pycyphal.readthedocs.io)? It will really get you started in no time and it comes with ~~nuclear reactors~~ batteres included.

---

<div class="post-metadata">

**Author:** ![alex-liga](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/alex-liga/32/1333_2.png) [@alex-liga](https://forum.opencyphal.org/u/alex-liga)\
**Post date:** [March 10, 2023, 9:23am UTC](https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841/3 "2023-03-10T09:23:57Z")

</div>

Hi Pavel,  
thanks for your advice and recommendations.  
I’m working on a Windows app for a BMS unit (very simple functionality). And idea is to match both DroneCAN and Cyphal.  
I’m going to take a look at PyCyphal. And what about the DroneCAN Python implementation?

Thanks in advance!

---

<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:** [March 10, 2023, 11:22am UTC](https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841/4 "2023-03-10T11:22:38Z")

</div>

> [@alex-liga](#):
>
> And what about the DroneCAN Python implementation?

> **[GitHub - dronecan/pydronecan: python DroneCAN code generation, interface and...](https://github.com/dronecan/pydronecan)**
>
> python DroneCAN code generation, interface and utilities

---

<div class="post-metadata">

**Author:** ![alex-liga](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/alex-liga/32/1333_2.png) [@alex-liga](https://forum.opencyphal.org/u/alex-liga)\
**Post date:** [March 13, 2023, 12:32pm UTC](https://forum.opencyphal.org/t/windows-application-with-uavcan-support/1841/5 "2023-03-13T12:32:27Z")

</div>

Thanks a lot!
