Podcast: Play in new window | Download
Subscribe: Apple Podcasts | RSS
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!
hedley says
Having been around before the 6502,6800,z80 and now working with efinix fpga’s I feel that the new generation of hardware engineers have grown up and been trained at such high levels of abstraction that embedded Linux and Zephyr are the go to base line . I have recently employed hardware chaps in their mid 20’s who have no idea what a relay is , how to debounce keypad inputs , what a reed relay is , and bit banging , masking and bit shifting just causes eye-rolling .