zephyr-driver-development

Guide Zephyr driver development from scope to testing with bindings, APIs, and integration tests.

Updated Aug 8, 2025
One-click install
npx skills add https://github.com/ale-alfaro/dotfiles --skill zephyr-driver-development
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zephyr-driver-development
Source: https://github.com/ale-alfaro/dotfiles/tree/main/common/.config/codex/skills/zephyr-driver-development
Command: npx skills add https://github.com/ale-alfaro/dotfiles --skill zephyr-driver-development

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Zephyr driver development can be complex and error-prone without a structured lifecycle. This Skill provides a comprehensive, repeatable process from scoping to testing to help teams deliver robust drivers.

Core Features & Use Cases

  • Clear guidance for subsystem selection, devicetree bindings, driver skeletons, Kconfig/CMake integration, and test strategies using native_sim and emulators.
  • Layout templates and step-by-step instructions to structure a Zephyr driver project, including references to example files and patterns.
  • Use Case: When tasked with adding a new sensor driver, follow the lifecycle to implement bindings, APIs, and tests in a reproducible manner.

Quick Start

Begin by clarifying scope and project structure, then scaffold your Zephyr driver project from the provided sample layout.

Frequently Asked Questions about zephyr-driver-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Zephyr device driver project from scratch?

To structure a Zephyr device driver project, start by clarifying scope and project structure, then scaffold your driver using provided layout templates for bindings, APIs, and tests. This establishes a reliable, reproducible implementation lifecycle.

What is the lifecycle for developing Zephyr drivers?

The Zephyr driver development lifecycle guides the process end-to-end from scope to testing. It covers subsystem selection, devicetree bindings, driver skeletons, Kconfig/CMake integration, and test strategies to deliver robust drivers.

How do I create devicetree bindings for a new Zephyr sensor driver?

Creating devicetree bindings for a Zephyr sensor driver involves defining requirements within the structured lifecycle. The process provides clear guidance and layout templates to properly integrate bindings with the driver API.

How do I test Zephyr drivers using native_sim and emulators?

Testing Zephyr drivers with native_sim and emulators is handled by defining specific test strategies within the driver lifecycle. This ensures reliable, repeatable integration tests across subsystems.

What is the best way to integrate Kconfig and CMake into a Zephyr driver?

The best way to integrate Kconfig and CMake into a Zephyr driver is to follow the structured lifecycle guidance. It provides step-by-step instructions for seamless build system integration and project structuring.

Can I use this Zephyr driver lifecycle for updating existing device drivers?

Yes, you can use this Zephyr driver lifecycle for updating existing device drivers. It applies to creating or updating drivers across subsystems, ensuring reliable modifications to bindings, APIs, and tests.