EMLIB to Peripheral HAL Migration Guide#
Purpose#
This guide provides comprehensive instructions for migrating peripheral code from Silicon Labs' legacy EMLIB (em_*) to the modern Peripheral HAL (sl_hal_*) drivers.
With the introduction of the Series 3 platform, a new low-level drivers library called Peripheral HAL has been created. Peripheral HAL supports both Series 2 and Series 3 devices and has been designed with the following characteristics:
Modularity: Clear separation of concerns and functions
Easy maintenance: Simplified codebase structure
Flexibility: Granular control over peripheral operations
Consistency: Uniform patterns across all peripherals
Lightweight: Minimal memory footprint and overhead
Audience#
This guide is intended for:
Embedded software developers migrating existing Series 0/1/2 code to Series 2/3
Firmware architects planning migration strategy
Application engineers supporting customer migrations
Technical leads evaluating migration scope and effort
Prerequisites#
Required knowledge:
Proficient in C programming
Familiar with EMLIB APIs and peripheral concepts
Understanding of embedded systems fundamentals
Basic knowledge of Silicon Labs MCU architecture
Before starting migration, ensure you have:
Development Environment:
Simplicity Studio 5
SiSDK 2025.6 or later
Target Series 2/3 hardware
Project Setup:
Working EMLIB-based project
Access to existing codebase
Version control system configured
Component Configuration:
In Simplicity Studio, most peripheral components have the same name for EMLIB and Peripheral HAL but are organized in different folders


Note: Both EMLIB and Peripheral HAL components can be added to the same project simultaneously, allowing incremental migration
Documentation Access: