Welcome Benjamin Cabé of The Zephyr Project!
- Benjamin is the developer advocate at The Zephyr Project, which is both a Real Time Operating System and an ecosystem (or almost like a “distro”, rather than an OS)
- Benjamin does videos on the Zephyr YouTube and maintains an awesome blog / newsletter
- The ecosystem is deep: Chris recently learned there is a state machine framework
- Multiple people involved in dev like an OS
- The Platinmum Members includes chip companies like NXP, Nordic, ADI
- There are 600+ boards supported in the ecosystem (and more if you do custom)
- Devicetree is a tough concept, but a powerful one that was borrowed from Linux
- Who is the audience for Zephyr?
- Chromebook embedded controller
- What’s the smallest processor that Zephyr can run on? M0s can run it no problem
- Chris thinks one of the benefits is the ability to bolt new stuff on to a project
- Simulation through Wokwi (Past Guest Uri) or Renode (Past Guest Michael)
- Using different levels of abstraction
- zephyr i2c init
- Benefits of abstraction
- Swapping out chips (bubblegum tapshoes)
- Tying stuff together (bolting stuff on)
- Infrastructure with CI/CD
- Zephyr doesn’t have an official IDE but VScode “just works”
- Helper tools from Nordic
- Open Source
- Hobby projects
- Dev survey
- Custom Keyboards (ZMK)
- RP2040 support
- Arduino recenlty joined the project
- Layers of abstraction
- Architecture (ie. arm, nios2, x86)
- SOC (available peripherals surrounding the core)
- Board (PCB definition which might have:)
- SOC
- Memory
- Peripherals / Sensors
- Check the tree and PRs for sensors that might be in-flight
- Compared to Arduino IDE
- Choosing ecosystems
- Weekly newsletter
- Things you didn’t know you needed: NMEA subsystem
- In Jay Carlson’s 2nd appearance on the show, he said “I’m reading more code than I’m writing”
- Benjamin’s profile photo is of his artificial nose he created a few years ago
- Making a machine model for bread (pandemic)
- It uses TFLite
- What is the project doing? (in parallel)
- Acquire data
- Machine learning inference
- Display update
- Network interface
- Benjamin reimplemented the Nose in Zephyr using ZBus (Chris recorded a video with the author of this subsystem)
- Like an MQTT broker on device
- Some of the concerns I (Chris) had when I was starting was not understanding RTOS concepts (threads, queues, etc). Brian Amos was on the show talking about his book, which is a great way to get started with these ideas.
- Threading / work queues
- The importance of a project when starting out
- Starter hardware
- Hero devkits (Chris likes the nRF9160-DK as a starter board or the nRF5340-DK)
- M5stack boards
- iMX8
- Jumping down to Zephyr from Linux
- MPU + MCU
- Tight integration
- Zephyr can run POSIX code
- What about the the RT in RTOS? Does this operate realtime often? (timing critical)
- BOM cost and software cost
- Security and dependencies
- Join the Zephyr discord to talk to other people using Zephyr
- TechTalks / YouTube
- Interested in going to a conference in Seattle in 2024 for Zephyr? The ZDS / EOSS CFP is open now!