Hacker News new | ask | show | jobs
by gmiller123456 1097 days ago
Can anyone explain what this means for Arduino users? The article seems to be a lot of marketing speak, and for people familiar with Zephyr already.
1 comments

Zephyr is a real-time operating system (RTOS). It's got a lot of compile-time configuration capability, and a (IMO) very nice module system that makes organizing embedded code easier. Being able to use Device Tree to organize hardware peripherals is particularly nice. It's also got a lot of peripheral drivers included, many useful libraries, a unit testing framework, and a nice set of built-in samples.

Zephyr does have some obvious downsides: it uses a custom build tool (West) to in turn use KConfig to select various options for CMake which then uses Ninja or Make to build the actual source. That means the build process is complex, hard to understand fully, and difficult to troubleshoot. The included libraries and drivers are usually good, but as with any code it's always harder to understand code you didn't write (or wrote a long time ago), and tend to be a higher level of abstraction than you might need (and thus a bit less efficient in some cases than you'd want).

Arduino's base APIs with the Arduino "IDE" are similarly opaque. Zephyr will make quite a few things easier, since it'll come with device tree files for the various Arduino boards.

If you're doing particularly simple projects, Zephyr is overkill. If you've got multiple interacting components, an RTOS becomes extremely helpful.