Brief note: I decided to give ZephyrOS a try on my STM32 blackpill. I’m pleased to report that it works. ZephyrOS was most definitely not a breeze to install. Pun intended.
I think installation is something they’re working on. Yes, they should do. It’s a bit wasteful to download stuff for boards that I’m not interested in.
A minor annoyance is that I had to upgrade my Cmake. I’m on Debian Stable. I don’t know if it was strictly necessary, but I did it to avoid investigating the matter further.
The download is hefty.
Then you need to download their “SDK”. That’s 1G in size. Crikey, there are Linux distros that are smaller than this. What the SDK contains are compiler binaries for supported architectures: arm, riscv, xtensa, etc.. I really don’t like that approach. Everybody’s Linux distro already has cross-compilers, they should just use those.
So I was a bit peeved about the sheer scale of stuff I had to install. I’d hope that they’d be able to do better.
So anyway, I got all this infrastructural stuff sorted, and was able to compile a blink sketch. That’s sledgehammer to crack a nut, of course. I’m hoping that I can now dive in and see what goodies they’ve got to offer. They also support the ESP32, I see, so that should be an interesting thing for me to try out, too.
So although my post seems critical, I’m just pointing out the annoyances I faced. I’m actually hoping that now I’ve managed to get the thing installed and build a basic example, that they’ll be all sorts of things to keep me amused.
And one extra gripe, whilst I’m here. I do wish people wouldn’t keep hyping up “IoT” and “cloud” so much. The first words on their website are “The Zephyr ProjectTM strives to deliver the best-in-class RTOS for connected resource-constrained devices, built to be secure and safe.”
“Best-in-class” is an entirely subjective term. Everyone has their own ideas. there is no “best”. The fact that it’s built to be secure and safe is of little interest to me. If you want to change my devices, then you’ll need to break into my house. In which case reprogramming my microcontroller is the least of my worries.
Also on the front page is the fact that the emphasise that Zephyr is “secure” and “connected”. They’re referring to bluetooth, wifi, and a TCP stack. A lot of the microcontrollers they support don’t even have bluetooth or wifi, so I find it irritating that they emphasise it so much. (Having said that, I am interested in LoWPAN, which is on my TODO list).
I mention all this because I hate buzzword-driven sales pitches. What I really see it as is a RTOS for microcontrollers with a lot of device support and a consistent HAL. There doesn’t appear to be any official support for the Raspberry Pi Pico, but I’m guessing that’s just a question of time.
What would be really cool is if it supported the Raspberry Pi 0. I could really go for that. The Pi 0 seems to attract little attention amongst projects, which is a great shame.
Zephyr also targets x86, which is actually quite interesting. Sounds like one could make a nice little operating system for commodity computers, without all the Windows/Linux guff.