EmbeddedRelated.com
The 2026 Embedded Online Conference

Getting Started With Zephyr: DTS vs DTSI vs Overlays

Mohammed Billoo
Still RelevantIntermediate

Devicetrees can be daunting for traditional embedded software engineers that are new to Zephyr. In this blog post, I address these fears and show how navigating Devicetrees can be much easier if you understand that they represent the layered structure of the underlying hardware.


Summary

This blog post helps embedded developers new to Zephyr understand Devicetree concepts by framing .dts, .dtsi, and overlays as a layered representation of hardware. It shows how to read and modify Devicetrees to map board and SoC hardware into Zephyr projects and reduce friction when enabling peripherals and pinmux settings.

Key Takeaways

  • Explain the differences between .dts, .dtsi, and .overlay files and when to use each
  • Demonstrate how Zephyr composes Devicetree layers (SoC → board → board overlay) to represent hardware
  • Show practical steps to enable peripherals, configure pinmux, and add devices using overlays
  • Provide troubleshooting tips and best practices to avoid common Devicetree mistakes in Zephyr

Who Should Read This

Embedded firmware engineers comfortable with microcontrollers and C who are new to Zephyr and want to confidently map hardware into Zephyr using Devicetrees and overlays.

Still RelevantIntermediate

Topics

ZephyrRTOSFirmware DesignARM Cortex-M

Related Documents


The 2026 Embedded Online Conference