Hands-On: Build a Custom Zephyr BSP in 90 Minutes with AI
Building a custom BSP shouldn’t take days.
But for most embedded teams, it still does.
Developers dig through documentation, reverse-engineer examples, and fight with Devicetree, Kconfig, and build systems just to get hardware running. It’s slow, error-prone, and hard to scale.
AI changes that.
In this fast-paced, hands-on workshop, you’ll build a custom Zephyr BSP from scratch in just 90 minutes by using AI as your development partner. Instead of piecing together fragmented knowledge, you’ll learn how to guide AI to generate board configurations, validate your setup, and accelerate hardware bring-up without losing control of the system.
We’ll start with a quick overview of how Zephyr abstracts hardware and what a BSP actually consists of. Then you’ll immediately apply that knowledge by building your own board support package step-by-step. Along the way, you’ll use AI to assist with Devicetree configuration, board definitions, peripheral setup, and build integration, while learning how to critically evaluate and refine the results.
This is not about replacing the engineer. It’s about amplifying what you can do.
By the end of the workshop, you won’t just understand how Zephyr BSPs work. You’ll have built one yourself and developed a repeatable, AI-assisted workflow that can cut your hardware bring-up time dramatically.
What You’ll Learn:
- What a Zephyr BSP includes and how the pieces fit together
- How to create and configure a custom board using Devicetree and Kconfig
- A practical, repeatable process for bringing up new hardware in Zephyr
- How to use AI to accelerate BSP development while staying in control
- Best practices for building portable, maintainable hardware abstractions
If you’re still bringing up hardware the same way you did five years ago, this workshop will show you a faster, more scalable approach.
Hardware:
Participants will use the NXP FRDM-MCXA156 development board, provided as part of the workshop by NXP.
Thank you.
The labs are excellent. Thanks for creating it! However, do you know if claude code can be paired up with an opensource model and run local llm? ( to save claude api costs! :p)
I don't see why not. You can use the Ollama API's to have claude call into it. I've not tried it myself though.
No, I haven't verified it. I use MacOS. You should be able to take the generation process though and get it running on your machine.
We had several Linux folks during the live session who had it running.
hint: Use AI to help you through the set up
Great workshop! Congrats! I couldn't attend live, but I thoroughly enjoyed the recorded version and all the information it contained.
Thanks!
I did the first lab and it worked the first time. I was really impressed that the claude agent found an issue with the skill fill that didn't work for me using Windows 11, made a correction during that session, and then suggested the prompt to fix it after the fact. Your notes have an excellent amount of detail. Thank you for putting this together! (prompt suggested below)
Update the skill's check 6 to use 2>&1 instead of 2>/dev/null
Great demonstration of very powerful, yet practical ways to use AI to accelerate development. It was an eye-opener!
Thank you.
Is this Q&A panel the "Slack" described in the README.md or is there an actual slack channel for the conference? Sorry I am late to the party. :-)
THere is a conference attendee forum you can also use, but yes you can ask questions here.
Page 4, Section Software Tools of the Labs\Manual\beningo_eoc26_zephyrAI.pdf the hyperlink for LinkServer is broken (404 page not found). The end of the embedded URL in the PDF is missing "ER" between "LINK" and "SERVER", which seems strange since the utility is literally called LinkServer, but :LINKERSERVER will resolve to a page where you can find the device drivers for your host os.
Thanks!
Using Windows 11 host in Lab 0 Step 6 and using git bash I had to add // (instead of /) to keep docker from allowing MSYS to translate the container specific path to my Host Windows path.
docker compose -f docker/docker-compose.yml run --rm zephyr //workdir/app/verify.sh
Thanks for letting me know!








I did the first lab and it worked the first time. I was really impressed that the claude agent found an issue with the skill fill that didn't work for me using Windows 11, made a correction during that session, and then suggested how to fix it after the fact. Your notes have an excellent amount of detail. Thank you for putting this together!