# Is there any plan to migrate canard protocol stack to zephyr？

**URL:** <https://forum.opencyphal.org/t/is-there-any-plan-to-migrate-canard-protocol-stack-to-zephyr/1533>\
**Category:** Libcanard\
**Created:** [November 26, 2021, 3:01am UTC](https://forum.opencyphal.org/t/is-there-any-plan-to-migrate-canard-protocol-stack-to-zephyr/1533 "2021-11-26T03:01:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cherish-forever](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/cherish-forever/32/802_2.png) [@Cherish-forever](https://forum.opencyphal.org/u/Cherish-forever)\
**Post date:** [November 26, 2021, 3:01am UTC](https://forum.opencyphal.org/t/is-there-any-plan-to-migrate-canard-protocol-stack-to-zephyr/1533/1 "2021-11-26T03:01:13Z")

</div>

Zephyr is an excellent real-time operating system：

[https://docs.zephyrproject.org/latest/](https://docs.zephyrproject.org/latest/)

---

<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:** [November 26, 2021, 8:00am UTC](https://forum.opencyphal.org/t/is-there-any-plan-to-migrate-canard-protocol-stack-to-zephyr/1533/2 "2021-11-26T08:00:19Z")

</div>

Libcanard is already being leveraged with Zephyr. There is no additional porting/adaptation necessary, it works out of the box.

@PetervdPerk might tell you more.

---

<div class="post-metadata">

**Author:** ![PetervdPerk](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@PetervdPerk](https://forum.opencyphal.org/u/PetervdPerk)\
**Post date:** [November 26, 2021, 8:31am UTC](https://forum.opencyphal.org/t/is-there-any-plan-to-migrate-canard-protocol-stack-to-zephyr/1533/3 "2021-11-26T08:31:28Z")

</div>

Libcanard should work easily with Zephyr however you’ve to configure/setup your CAN hardware driver.

There are 2 options:

1. Enable SocketCAN in Zephyr and utilize the SocketCAN HAL located here [https://github.com/UAVCAN/platform\_specific\_components/tree/master/socketcan/libcanard](https://github.com/UAVCAN/platform_specific_components/tree/master/socketcan/libcanard)
2. Write a simple HAL layer that uses the Zephyr zcan\_frame api see [Controller Area Network (CAN) — Zephyr Project Documentation](https://docs.zephyrproject.org/latest/reference/networking/can_api.html#sending)
