Written by Benjamin Cabé, Zephyr Project Developer Advocate
Today, we are celebrating National Kite-Flying Day! 🪁 And while I should probably encourage you to go outdoors and enjoy some fresh air, I thought I would use today’s celebration as an excuse to tell you about how to get started with Zephyr in a breeze, so that you can then go outside and fly your kite!
By the way, have you ever noticed that Zephyr’s logo is actually a kite? Ever wondered why so?
Zephyr is named after a light wind
The name “Zephyr” is actually derived from the Greek god of the west wind, which was known for its gentle and mild nature. In fact, we are carrying the metaphor further since “west” is also the name we’re giving to our swiss-army knife command line tool. Using west, one can easily organize their projects in workspaces, build, flash, debug, etc.
Writing your first Zephyr application, where to start?
The Zephyr Project website provides comprehensive documentation and resources, including tutorials and examples, to help you get started with Zephyr RTOS. I would recommend you check out the project’s Getting Started Guide as a starting point.
We have over 450 boards supported, so there is a good chance that this developer kit you have sitting on your desk actually works out-of-the-box 🙂 There are tons of sample applications available, so no matter which communication stack you plan on using (TCP/IP, UDP, LoRaWAN, Bluetooth, …), or which sensors, you should get a serious head start by checking them out.
You don’t need actual hardware to get started with Zephyr!
As you may have experienced in the past, embedded and IoT development can sometimes be challenging due to the fact that you need actual hardware to test your code, and you don’t always have all the parts at hand. Luckily, there are many tools out there that can help you with emulating the hardware, including from your very web browser!
I would definitely recommend having a look at Renode. It is an open-source framework that allows you to run, debug and test unmodified embedded software right from your PC! Out of the box, Renode supports a wide variety of embedded boards and peripherals—often the same that are already supported in Zephyr!—with more being added regularly. Just build your Zephyr application as you normally would, and use Renode to emulate the hardware! Head over to the Renode documentation to get started.
Another option is to give Wokwi a try. It is a pretty powerful, web-based, hardware emulator, that even allows you to visually manage your various peripherals and their wirings. Check out the “Blinky” sample running on ESP32 here.