Configuring Peripherals#

Simplicity Studio® 5 (SSv5)'s AppBuilder HAL tab provides access to a Hardware Configurator that you can use to configure pins and peripherals. Access to specific configuration options is also available through various peripheral plugins.

To open the Hardware Configurator for an open project, double-click the .hwconf file in Project Explorer, click Open Hardware Configurator on the HAL tab, or select Hardware Configurator from the Tools menu and then select the target project. The Hardware Configurator has two views, accessed through the two DefaultMode tabs at the bottom of the center pane:

  • Port I/O: Used to configure the pin locations and port pins

  • Peripherals: Used to configure modules such as Timers, USARTs, and HAL peripherals. Most configuration changes can be made through this tab.

ab hdw conf port io

Port I/O#

The Port I/O tab displays a package drawing for the selected device. This drawing updates to display changed pin assignments. Hover the cursor over a pin to see its definition. White = unused, blue = assigned, orange = two or more signals going to the pin, conflict allowed, and red = two or more signals going to the pin, conflict not allowed. While you can make some changes to the peripheral associated with a given pin, Silicon Labs recommends changing peripheral configuration through the Peripheral tab. Use this configuration for pin customizations such as renaming the pin.

Some changes must be made in both the Port I/O and Peripherals tab. For example:

  • A route can be selected in Port I/O and an APORT channel can be selected in the peripherals properties.

  • ACMP output can be selected on the Port IO route selection and ACMP inputs can be configured in the Peripherals section.

A printable report can be generated by right-clicking on the pinout diagram and selecting Pin Configuration Report. This opens a report as a webpage in a browser that can be saved, printed, or archived. The Module Configuration Report option generates a similar set of tables organized by module rather than by pin order.

Note: To share information about the hardware configurations for a device Silicon Labs recommends sharing the .hwconf file itself.


The Peripherals tab contains boxes, each of which represents either a hardware peripheral or a software concept that is HAL-related but not physically on the chip. Peripheral boxes are organized into groups. Collapse or expand a group by clicking the arrow icon on the upper right of the group. Hover your cursor over a box to see information about the peripheral.

ab hdw conf peripherals

Click on a box to see its properties in the Properties pane. Properties can either have a drop-down menu with the available selections or a text input box for a numeric or text field. After making a selection for a property, click away from the property or press Enter to ensure the property value change occurs. If you cannot disable a peripheral it may be owned by another peripheral. Go to the settings for that peripheral to free up any dependent peripherals.

Note: The defines for the peripheral are only generated if the checkbox on the peripheral box is checked. For example, the interface for a project based on the Silicon Labs Zigbee Z3LightSoc example has a HAL group with a Button peripheral. Click on that peripheral to see its properties.

ab hdw conf peripherals detail