Chris Gammell and Dave Jones' voices span the chasm of thousands of miles each and every week to speak to each other and industry experts about where the field of electronics is moving. Whether it be a late breaking story about a large semiconductor manufacturer, a new piece of must-have test equipment or just talking through recent issues with their circuit designs, Chris and Dave try to make electronics more accessible for the listeners. Most importantly, they try and make the field of electronics more fun. Guests range from advanced hobbyists working on exciting new projects up through C-level executives at a variety of relevant and innovative companies. Tune in to learn more about electronics and then join the conversation! Visit The Amp Hour website for our back catalog of 150+ episodes.
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!