1. EachPod

#653 – Benjamin Cabé Nose Zephyr

Author
The Amp Hour (Chris Gammell and David L Jones)
Published
Mon 11 Dec 2023
Episode Link
https://theamphour.com/653-benjamin-cabe-nose-zephyr/


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!

Share to: