How Golioth Hosts Zephyr Training; Join Us in August!

Golioth is your instant IoT cloud that lets you choose what hardware you want to use. We’re able to remain hardware agnostic because Zephyr RTOS has great cross-vendor support. As the fastest-growing RTOS, Zephyr is well worth learning, but we’ve found most people need a little help getting started. Golioth’s next free Zephyr training happens online on August 23rd. We hope to see you there!

We’ve been hosting these free trainings for the past two years, and our approach has evolved over that time. Golioth’s Lead Developer Relations Engineer, Chris Gammell gave a talk on how we approach hosting remote training at the 2023 Embedded Open Source Summit. Anyone interested in teaching a remote course on embedded development will find this interesting as you will surely face the same challenges we have.

Skipping the Dev Env Setup Process by Using Kasm

The biggest challenge to teaching a new embedded OS is not in the coding work the attendees will be doing, but in setting up every build environment correctly. It takes time to install all the compilers and library code. This is further complicated by differences in attendee OS choices, versions, and existing configuration. We found that anywhere from 45 minutes to the entire training was gobbled up with this step.

Kasm container for Zephyr development

Kasm container running inside Firefoxs show VS Code with the Zephyr build process in a terminal window

The solution we chose last fall is to pre-configure a build environment for all attendees. For an in-person training, this would best be done by providing a laptop to everyone that standardizes the experience. But we’re hosting training remotely, so we spun up a Kasm workspace so the build environment is loaded via web browser.

Each attendee logs into our Kasm instance, which includes the Zephyr SDK tools (compilers, etc), the Zephyr tree (kernel, driver, and library code), Golioth’s Zephyr Training example code repository, the self-guided Golioth Training docs, and Visual Studio Code (VS Code).

As Chris outlines in his talk, with this approach an attended can be compiling their first Zephyr code in a little more than one minute. Admittedly there is some tap-dancing around the issue of programming a local device when the code is being compiled in a remote container. But we’ve had great success doing this with Nordic’s desktop tools.

Getting That In-Person Atmosphere, When Not In Person

Our training is self-guided, using a Docusaurus-based document site that’s available to anyone interested. But one of the benefits of signing up for the live training is that Golioth staff who are experienced with Zephyr are there to share that experience and answer questions. This is no boring webinar, we take the remote-training experience and make it feel a lot more like being in a classroom!

Golioth Zephyr Training group photo from

One of the study groups in from the July 12th Golioth Zephyr Training

To add interactivity we use the online platform. It’s feels a lot like the original Legend of Zelda; you have an 8-bit avatar that you can walk around the virtual classroom. When you get close to other people (or walk onto one of the table-group carpets) a group video chat automatically opens. You can raise your hand using an emoji and an instructor will walk over to help.

In three hours, we get to know each other, learn how to compile and run some code, and discuss myriad topics that transcend the words found on the self-guided training docs.

Upcoming Training

If your company is planning to host a remote training that centers around embedded engineering, watch Chris Gammell’s talk. He drills down from how Golioth conducts our training to the experiments that led us to these solutions. From large toolchains and local USB ports, to live interactions and working with different attendee skill levels, he will help you find the happy path for your organization.

If you’re still getting up to speed with Zephyr RTOS, join us for the upcoming Golioth Zephyr Training on August 23rd, 2023.

Talk with an Expert

Implementing an IoT project takes a team of people, and we want to help out as part of your team. If you want to troubleshoot a current problem or talk through a new project idea, we're here for you.

Start the discussion at