Home › SDK migration

SDK upgrade guide

Gecko SDK 4.2 to Simplicity SDK 2024.6: what needs attention

Migratorisk's knowledge base lists 133 documented changes between Gecko SDK 4.2 and Simplicity SDK 2024.6 across 4 releases. 79 of them are rated likely to break code, configuration or builds that use them. Below is each change, what a scan also reviews on this path, and how to see which ones apply to your project.

133documented changes
79rated will or likely to break
9,109SDK names, settings and components covered
10review checks on this path

Find which of these affect your firmware

Migratorisk scans your project on your own computer and reports only the changes your code, configuration and build actually touch. Your source code is not uploaded.

python -m pip install migratorisk
migratorisk scan --project ./your-firmware --from simplicity-sdk-4.2.0 --to simplicity-sdk-2024.6.0 --out report.html

Requires Python 3.12 or newer. Results are free and complete without sign-up; sharing a report with us is optional.

Set up the local scanOr answer a few questions instead

Where the changes are

SDK components · 30Zigbee stack · 22Component settings · 21Bluetooth · 15System services · 12Peripheral drivers · 11Radio and RF · 10Bluetooth Mesh · 4Security and keys · 3Application helpers · 3Bootloader · 2

What changes between Gecko SDK 4.2 and Simplicity SDK 2024.6

Ordered by impact. Each item names the release that introduced it and links to the official source. A change only matters if your project uses what changed; the scan checks that.

Will break

EmberZNet 8 renames the public Zigbee API

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6 ships EmberZNet 8.0, which renames Zigbee public APIs and enumerations (ember*/emberAf* to sl_zigbee_*/sl_zigbee_af_*) and moves status codes from the 1-byte EmberStatus to the 4-byte sl_status_t. Silicon Labs' own upgrade script flags this for manual work: application source is not converted automatically.

Likely to break

Zigbee (EmberZNet): functions renamed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 renames these functions: EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_MASK -> SL_ZIGBEE_PAGE_CHANNEL_MASK_FROM_CHANNEL_MASK, EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_NUMBER -> SL_ZIGBEE_PAGE_CHANNEL_MASK_FROM_CHANNEL_NUMBER, EMBER_TEST_ASSERT -> SL_ZIGBEE_TEST_ASSERT, emberActiveEndpointsRequest -> sl_zigbee_active_endpoints_request, emberAddChild -> sl_zigbee_add_child… Code using the old names no longer compiles. Covers 2,613 names.

Likely to break

Zigbee (EmberZNet): constants renamed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 renames these constants: EMBER_ACCEPT_PACKET -> SL_ZIGBEE_ACCEPT_PACKET, EMBER_ACCEPT_PACKET_OVERRIDE_SECURITY -> SL_ZIGBEE_ACCEPT_PACKET_OVERRIDE_SECURITY, EMBER_ACCEPT_PACKET_SKIP_NWK_CRYPTO -> SL_ZIGBEE_ACCEPT_PACKET_SKIP_NWK_CRYPTO, EMBER_ACTIVE_SCAN -> SL_ZIGBEE_ACTIVE_SCAN, EMBER_ACTIVE_SCAN_DURATION -> SL_ZIGBEE_ACTIVE_SCAN_DURATION… Code using the old names no longer compiles. Covers 1,334 names.

Likely to break

Zigbee (EmberZNet): constants removed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these constants from Gecko SDK 4.4.6: ATTRIBUTE_MAX_DATA_SIZE, EMBER_ADC_CONVERSION_BUSY, EMBER_ADC_CONVERSION_DEFERRED, EMBER_ADC_CONVERSION_DONE, EMBER_ADC_NO_CONVERSION_PENDING, EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE… Code using them fails to compile or link. Covers 698 names.

Likely to break

Zigbee (EmberZNet): functions removed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these functions from Gecko SDK 4.4.6: API_TRACE_PROXY_BROADCAST, appendEmberApsFrame, appendEmberBeaconClassificationParams, appendEmberBeaconData, appendEmberBeaconIterator, appendEmberBindingTableEntry… Code using them fails to compile or link. Covers 421 names.

Likely to break

Zigbee (EmberZNet): types renamed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 renames these types: EmberAesMmoHashContext -> sl_zigbee_aes_mmo_hash_context_t, EmberAfAllowedInterPanMessage -> sl_zigbee_af_allowed_inter_pan_message_t, EmberAfAllowedInterpanOptions -> sl_zigbee_af_allowed_interpan_options_t, EmberAfAppLinkKeyRequestPolicy -> sl_zigbee_af_app_link_key_request_policy_t, EmberAfApplicationTask -> sl_zigbee_af_application_task_t… Code using the old names no longer compiles. Covers 355 names.

Likely to break

Platform services: headers removed in Simplicity SDK 2024.6.0

System services · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: auth.h, bootloader-common.h, bootloader-interface-app.h, bootloader-interface-standalone.h, bootloader-interface.h, can_bus.h, can_bus_priv.h, canopen_cfg.h… Code that includes them stops compiling. Covers 274 names.

Likely to break

RAIL radio: functions removed in Simplicity SDK 2024.6.0

Radio and RF · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these functions from Gecko SDK 4.4.6: RAILCb_BLE_HadmGdCompTableLoad, RAIL_BLE_ConfigHadm, RAIL_BLE_ConfigHadmAntenna, RAIL_BLE_ConfigPhy1MbpsHadm, RAIL_BLE_ConfigPhy2MbpsHadm, RAIL_BLE_EnableHadm… Code using them fails to compile or link. Covers 255 names.

Likely to break

Zigbee (EmberZNet): functions removed in Gecko SDK 4.3.0

Zigbee stack · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these functions from Gecko SDK 4.2.0: embGpClearAdditionalInfoBlockTable, emberAfPluginCommandHandlerPermitHostToNcpFrameCallback, emberAfPluginCommandHandlerPermitNcpToHostFrameCallback, emberAfPluginGreenPowerClientChannelEventHandler, emberAfPluginGreenPowerClientExitCommissioningEventHandler, emberBecomeTrustCenter… Code using them fails to compile or link. Covers 253 names.

Likely to break

Zigbee (EmberZNet): functions removed in Gecko SDK 4.4.0

Zigbee stack · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these functions from Gecko SDK 4.3.0: SecureEzspRandomNumberContents, SecureEzspSessionIdContents, appendSecureEzspRandomNumber, backchannelCheckConnection, backchannelClientConnectionCleanup, backchannelClientPrintf… Code using them fails to compile or link. Covers 149 names.

Likely to break

Platform services: constants renamed in Simplicity SDK 2024.6.0

System services · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 renames these constants: EMBER_FAMILY_BGM1 -> SL_ZIGBEE_FAMILY_BGM1, EMBER_FAMILY_BGM13 -> SL_ZIGBEE_FAMILY_BGM13, EMBER_FAMILY_BGM21 -> SL_ZIGBEE_FAMILY_BGM21, EMBER_FAMILY_EFR32BG12P -> SL_ZIGBEE_FAMILY_EFR32BG12P, EMBER_FAMILY_EFR32BG13P -> SL_ZIGBEE_FAMILY_EFR32BG13P… Code using the old names no longer compiles. Covers 122 names.

Likely to break

Bluetooth LE: constants removed in Simplicity SDK 2024.6.0

Bluetooth · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these constants from Gecko SDK 4.4.6: ABR_CS_PARSER_INVALID_RSSI_VALUE, ABR_CS_PARSER_INVALID_TIME_VALUE, ABR_CS_PARSER_TONE_QUALITY_MASK_LOW, ABR_DEVICE_INITIATOR, ABR_DEVICE_REFLECTOR, ABR_DISCOVERY_STATE_CONN… Code using them fails to compile or link. Covers 121 names.

Likely to break

Platform services: constants removed in Simplicity SDK 2024.6.0

System services · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these constants from Gecko SDK 4.4.6: CANOPEN_CORE_TASK_PRIO_DFLT, ECC_FAULT, FS_MEDIA_POLL_TASK_PRIO_DFLT, HTTP_CLIENT_TASK_PRIO_DFLT, IO_SD_ASYNC_TASK_PRIO_DFLT, IO_SD_CORE_TASK_PRIO_DFLT… Code using them fails to compile or link. Covers 101 names.

Likely to break

Bluetooth LE: functions removed in Simplicity SDK 2024.6.0

Bluetooth · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these functions from Gecko SDK 4.4.6: abr_cs_event_buf_clear, abr_cs_event_buf_find, abr_cs_event_buf_get_element_for_write, abr_cs_event_buf_get_free_space, abr_cs_event_buf_get_next_element, abr_cs_event_buf_get_next_unindicated… Code using them fails to compile or link. Covers 99 names.

Likely to break

Zigbee (EmberZNet): types removed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these types from Gecko SDK 4.4.6: CallbackTableEntry, DmpUiDeviceType_t, DmpUiLightDirection_t, DmpUiZigBeeNetworkState_t, EInterpanFragmentationStatus, EmberAfDeviceManagementCIN… Code using them fails to compile or link. Covers 85 names.

Likely to break

Platform services: components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: cslib_acmp_series_0, cslib_acmp_series_1, cslib_csen_series_0, cslib_csen_series_1, generic_series_provider, gsdk_version… A project that lists them no longer generates. Covers 83 names.

Likely to break

Zigbee (EmberZNet): constants removed in Gecko SDK 4.4.0

Zigbee stack · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these constants from Gecko SDK 4.3.0: CCM_STAR_HEADER, CONNECTION_ERROR, CONNECTION_EXISTS, CREATOR_SECURE_EZSP_SECURITY_KEY, EMBER_AF_PLUGIN_BINDING_TABLE_LIBRARY, EMBER_AF_PLUGIN_INSTALL_CODE_LIBRARY… Code using them fails to compile or link. Covers 78 names.

Likely to break

Bluetooth LE: constants removed in Gecko SDK 4.4.0

Bluetooth · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these constants from Gecko SDK 4.3.0: ADVERTISER_USE_DEVICE_IDENTITY_IN_PRIVACY, ADVERTISER_USE_FILTER_FOR_CONNECTION_REQUESTS, ADVERTISER_USE_FILTER_FOR_SCAN_REQUESTS, ADVERTISER_USE_NONRESOLVABLE_ADDRESS, CONNECTION_TX_POWER_CHANGE_UNAVAILABLE, CONNECTION_TX_POWER_UNAVAILABLE… Code using them fails to compile or link. Covers 56 names.

Likely to break

Bluetooth LE: types removed in Gecko SDK 4.4.0

Bluetooth · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these types from Gecko SDK 4.3.0: advertiser_adv_address_type_t, advertiser_connection_mode_t, advertiser_discovery_mode_t, advertiser_packet_type_t, coex_option_t, connection_power_reporting_mode_t… Code using them fails to compile or link. Covers 56 names.

Likely to break

RAIL radio: functions removed in Gecko SDK 4.3.0

Radio and RF · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these functions from Gecko SDK 4.2.0: RAIL_GetFemProtectionConfig, RAIL_GetSetClpcEnable, RAIL_GetSetClpcFastLoop, RAIL_GetSetClpcFastLoopCal, RAIL_GetSetClpcFastLoopCalSlp, RAIL_GetSetEffBypassDwellTimeMs… Code using them fails to compile or link. Covers 45 names.

Likely to break

Security: headers removed in Simplicity SDK 2024.6.0

Security and keys · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: ba411e_config.h, ba413_config.h, ba414ep_config.h, ba431_config.h, compiler_extentions.h, crypto_management.h, cryptolib_def.h, cryptolib_types.h… Code that includes them stops compiling. Covers 29 names.

Likely to break

RAIL radio: types removed in Simplicity SDK 2024.6.0

Radio and RF · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these types from Gecko SDK 4.4.6: EmberIncomingMacMessage, EmberMacAddress, EmberMacAddressMode, EmberMacFrame, EmberMessageLength, EmberMessageOptions… Code using them fails to compile or link. Covers 28 names.

Likely to break

Bluetooth LE: types removed in Simplicity SDK 2024.6.0

Bluetooth · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these types from Gecko SDK 4.4.6: abr_antenna_offset_t, abr_cs_parser_configuration_t, abr_cs_parser_meas_data_handle_t, abr_cs_parser_meas_data_t, abr_discovery_state_t, abr_initiator_config_t… Code using them fails to compile or link. Covers 27 names.

Likely to break

Platform services: functions removed in Simplicity SDK 2024.6.0

System services · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these functions from Gecko SDK 4.4.6: IO_SERIAL_CTRLR_REG, SERIAL_SPI_BUS_MODE_CPHA_GET, SERIAL_SPI_BUS_MODE_CPOL_GET, Serial_ConfigureHandleQty, Serial_ConfigureMemSeg, Serial_CtrlrReqAlignGet… Code using them fails to compile or link. Covers 26 names.

Likely to break

Zigbee (EmberZNet): types removed in Gecko SDK 4.3.0

Zigbee stack · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these types from Gecko SDK 4.2.0: EmAddressTableEntry, EmAfCryptoStatus, EmAfGbzPayloadHeader, EmAfGbzUseCaseSpecificComponent, EmAfOtaStorageLinuxConfig, EmAfPageRequestClientStatus… Code using them fails to compile or link. Covers 25 names.

Likely to break

Peripheral drivers: headers removed in Simplicity SDK 2024.6.0

Peripheral drivers · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: dmactrl.h, em_adc.h, em_aes.h, em_aes_compat.h, em_can.h, em_cryotimer.h, em_csen.h, em_dac.h… Code that includes them stops compiling. Covers 24 names.

Likely to break

Zigbee (EmberZNet): constants removed in Gecko SDK 4.3.0

Zigbee stack · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these constants from Gecko SDK 4.2.0: ATTRIBUTE_STORAGE_CONFIGURATION, EMBER_AF_FRAGMENTATION_EVENTS, EMBER_AF_FRAGMENTATION_EVENT_STRINGS, EMBER_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS, EZSP_BECOME_TRUST_CENTER, GP_ENDPOINT… Code using them fails to compile or link. Covers 24 names.

Likely to break

Bluetooth LE: components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: abr_ans, abr_cs_parser, abr_initiator, abr_ras, abr_reflector, apploader_lib… A project that lists them no longer generates. Covers 18 names.

Likely to break

Peripheral drivers: components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: emlib_adc, emlib_aes, emlib_can, emlib_cryotimer, emlib_crypto, emlib_csen… A project that lists them no longer generates. Covers 18 names.

Likely to break

Bluetooth LE: headers removed in Simplicity SDK 2024.6.0

Bluetooth · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: abr_ans.h, abr_cs_parser.h, abr_cs_parser_types.h, abr_file_log.h, abr_file_log_config.h, abr_initiator.h, abr_initiator_config.h, abr_initiator_interface.h… Code that includes them stops compiling. Covers 17 names.

Likely to break

Zigbee (EmberZNet): headers removed in Gecko SDK 4.4.0

Zigbee stack · Gecko SDK 4.4.0 · Source

These headers exist in Gecko SDK 4.3.0 and are gone in Gecko SDK 4.4.0: 802-15-4-ccm.h, aes-cmac.h, backchannel.h, ccm-star.h, command-interpreter2.h, command-relay-local.h, command-relay.h, fragment.h… Code that includes them stops compiling. Covers 17 names.

Likely to break

Bluetooth LE: functions removed in Gecko SDK 4.4.0

Bluetooth · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these functions from Gecko SDK 4.3.0: fifo_define, sl_btctrl_init_cs_initiator, sl_btctrl_init_cs_reflector, sl_hci_fifo_buffer, sl_hci_fifo_dma_reserve, sl_hci_fifo_dma_set_tail… Code using them fails to compile or link. Covers 16 names.

Likely to break

Peripheral drivers: functions removed in Gecko SDK 4.4.0

Peripheral drivers · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these functions from Gecko SDK 4.3.0: CMU_AUXHFRCOFreqGet, CMU_AUXHFRCOFreqSet, CMU_HFRCOFreqGet, CMU_HFRCOFreqSet, CMU_Log2ToDiv, GPIO_IntConfig… Code using them fails to compile or link. Covers 15 names.

Likely to break

Zigbee (EmberZNet): components removed from Gecko SDK 4.4.0

SDK components · Gecko SDK 4.4.0 · Source

These SLC components are removed from Gecko SDK 4.4.0: zigbee_aes_cmac, zigbee_binding_table_library, zigbee_ccm_software, zigbee_command_relay, zigbee_end_device_bind_library, zigbee_install_code_library… A project that lists them no longer generates. Covers 15 names.

Likely to break

Peripheral drivers: functions removed in Simplicity SDK 2024.6.0

Peripheral drivers · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these functions from Gecko SDK 4.4.6: SE_debugLockApply, SE_debugLockStatus, SE_debugSecureDisable, SE_debugSecureEnable, SE_deviceErase, SE_deviceEraseDisable… Code using them fails to compile or link. Covers 12 names.

Likely to break

Zigbee (EmberZNet): headers removed in Simplicity SDK 2024.6.0

Zigbee stack · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: byte-utilities.h, ember-alternate-mac.h, ember-debug.h, ember-duty-cycle.h, ember-multi-network.h, ember-random-api.h, ember-types.h, ember.h… Code that includes them stops compiling. Covers 10 names.

Likely to break

Zigbee (EmberZNet): types removed in Gecko SDK 4.4.0

Zigbee stack · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these types from Gecko SDK 4.3.0: BackchannelState, EmberAfPluginCommandRelayDeviceEndpoint, EmberAfPluginCommandRelayEntry, EmberCommandStatus, SecureEzspFrameCounter, SecureEzspMic… Code using them fails to compile or link. Covers 10 names.

Likely to break

Application utilities: headers removed in Simplicity SDK 2024.6.0

Application helpers · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: app_webpage.h, app_wifi_commissioning.h, app_wifi_events.h, dhcp_client.h, dhcp_server.h, ethernetif.h, httpfsdata.h, lwipopts.h… Code that includes them stops compiling. Covers 9 names.

Likely to break

Application utilities: headers removed in Gecko SDK 4.3.0

Application helpers · Gecko SDK 4.3.0 · Source

These headers exist in Gecko SDK 4.2.0 and are gone in Gecko SDK 4.3.0: audio_provider.h, command_responder.h, feature_provider.h, main_functions.h, micro_features_generator.h, micro_model_settings.h, micro_speech_model_data.h, tflite_micro_micro_speech.h. Code that includes them stops compiling. Covers 8 names.

Likely to break

Bluetooth Mesh: constants removed in Gecko SDK 4.4.0

Bluetooth Mesh · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these constants from Gecko SDK 4.3.0: sl_btmesh_cmd_node_clear_statistics_id, sl_btmesh_cmd_node_get_statistics_id, sl_btmesh_cmd_test_get_local_config_id, sl_btmesh_cmd_test_set_local_config_id, sl_btmesh_rsp_node_clear_statistics_id, sl_btmesh_rsp_node_get_statistics_id… Code using them fails to compile or link. Covers 8 names.

Likely to break

SDK: components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: ot_lower_mac_spinel, ot_stack_tcp_stubs, sl_flex_rail_sleep, wisun_cli, wisun_legacy_socket_wrapper, zpal_zwave_nvm_instance… A project that lists them no longer generates. Covers 8 names.

Likely to break

Bluetooth LE: functions removed in Gecko SDK 4.3.0

Bluetooth · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these functions from Gecko SDK 4.2.0: sl_btctrl_hci_reset, sl_btctrl_hci_reset_events_pending, sl_btctrl_hci_reset_reason_is_sys_reset, sl_hci_uart_get_port_pin, sli_simple_timer_is_ok_to_sleep, sli_simple_timer_sleep_on_isr_exit… Code using them fails to compile or link. Covers 7 names.

Likely to break

Bluetooth LE: components removed from Gecko SDK 4.3.0

SDK components · Gecko SDK 4.3.0 · Source

These SLC components are removed from Gecko SDK 4.3.0: bluetooth_apploader_migration_util, bluetooth_feature_default, bluetooth_feature_dfu, simple_timer, simple_timer_freertos, simple_timer_freertos_static. A project that lists them no longer generates. Covers 6 names.

Likely to break

Bluetooth Mesh: functions removed in Gecko SDK 4.4.0

Bluetooth Mesh · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these functions from Gecko SDK 4.3.0: sl_btmesh_factory_reset_on_event, sl_btmesh_node_clear_statistics, sl_btmesh_node_get_statistics, sl_btmesh_set_temperature, sl_btmesh_test_get_local_config, sl_btmesh_test_set_local_config. Code using them fails to compile or link. Covers 6 names.

Likely to break

RAIL radio: types removed in Gecko SDK 4.3.0

Radio and RF · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these types from Gecko SDK 4.2.0: EmMacTxMode, HalPtaOptions, RAIL_FemProtectionConfig_t, halPtaGpioIndex_t, halPtaStackEvent_t, halPtaStackStatus_t. Code using them fails to compile or link. Covers 6 names.

Likely to break

SDK: components removed from Gecko SDK 4.4.0

SDK components · Gecko SDK 4.4.0 · Source

These SLC components are removed from Gecko SDK 4.4.0: btmesh_updating_node, sl_wisun_empty, sl_wisun_lfn_device_support, sl_wisun_socket, zw_appshw_keyfob, zw_role_type_portable_controller. A project that lists them no longer generates. Covers 6 names.

Likely to break

Zigbee (EmberZNet): components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: zigbee_app_framework_common, zigbee_pro_router_stack_basic, zigbee_pro_router_stack_rail_mux, zigbee_pro_router_stack_rail_mux_library, zigbee_pro_stack_basic, zigbee_smart_energy_token_optimization. A project that lists them no longer generates. Covers 6 names.

Likely to break

RAIL radio: components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: rail_util_hadm_antenna_offset, rail_util_hadm_antenna_offset_wired, rail_util_hadm_antenna_offset_wireless, rail_util_hadm_gdcomp, wfx_bus_sdio. A project that lists them no longer generates. Covers 5 names.

Likely to break

RAIL radio: functions renamed in Simplicity SDK 2024.6.0

Radio and RF · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 renames these functions: emberAfPluginCommandCoulombCounterGetAdditiveModesBitfield -> sl_zigbee_af_command_coulomb_counter_get_additive_modes_bitfield, emberAfPluginCommandCoulombCounterGetCurrentCoreMode -> sl_zigbee_af_command_coulomb_counter_get_current_core_mode, emberAfPluginCommandCoulombCounterGetEnergyUsage -> sl_zigbee_af_command_coulomb_counter_get_energy_usage, emberAfPluginCommandCoulombCounterResetEnergyUsage -> sl_zigbee_af_command_coulomb_counter_reset_energy_usage, emberAfPluginCoulombCounterTick -> sl_zigbee_af_coulomb_counter_tick. Code using the old names no longer compiles. Covers 5 names.

Likely to break

EZSP host and NCP firmware must move together

Zigbee stack · Simplicity SDK 2024.6.0 · Source

EmberZNet 8.0 changes the EZSP protocol version used between a host application and a Zigbee NCP. A host built on the old SDK cannot talk to an NCP built on the new one (and vice versa). Covers 4 names.

Likely to break

Peripheral drivers: headers removed in Gecko SDK 4.3.0

Peripheral drivers · Gecko SDK 4.3.0 · Source

These headers exist in Gecko SDK 4.2.0 and are gone in Gecko SDK 4.3.0: rtcdriver.h, sl_mvp_math.h, sl_mvp_power.h, sleep.h. Code that includes them stops compiling. Covers 4 names.

Likely to break

RAIL radio: headers removed in Simplicity SDK 2024.6.0

Radio and RF · Simplicity SDK 2024.6.0 · Source

These headers exist in Gecko SDK 4.4.6 and are gone in Simplicity SDK 2024.6.0: sl_rail_util_eff.h, sl_rail_util_hadm_antenna_offset.h, sl_rail_util_hadm_gdcomp_tables.h, sl_rail_util_pa_dbm_powersetting_mapping_table_eff.h. Code that includes them stops compiling. Covers 4 names.

Likely to break

SDK: components removed from Gecko SDK 4.3.0

SDK components · Gecko SDK 4.3.0 · Source

These SLC components are removed from Gecko SDK 4.3.0: ot_remote_cli, zw_cc_multichannelcontrol, zw_cc_multichannelsupport, zw_controller. A project that lists them no longer generates. Covers 4 names.

Likely to break

Security: constants removed in Gecko SDK 4.3.0

Security and keys · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these constants from Gecko SDK 4.2.0: PSA_ERROR_CONNECTION_BUSY, PSA_ERROR_CONNECTION_REFUSED, PSA_ERROR_PROGRAMMER_ERROR, PSA_ERROR_SERVICE_FAILURE. Code using them fails to compile or link. Covers 4 names.

Likely to break

Application utilities: components removed from Simplicity SDK 2024.6.0

SDK components · Simplicity SDK 2024.6.0 · Source

These SLC components are removed from Simplicity SDK 2024.6.0: app_timer_freertos, app_timer_freertos_static, app_timer_micriumos. A project that lists them no longer generates. Covers 3 names.

Likely to break

Peripheral drivers: types removed in Simplicity SDK 2024.6.0

Peripheral drivers · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 no longer declares these types from Gecko SDK 4.4.6: SE_DebugStatus_t, SE_OTPInit_t, SE_Status_t. Code using them fails to compile or link. Covers 3 names.

Likely to break

Platform services: components removed from Gecko SDK 4.3.0

SDK components · Gecko SDK 4.3.0 · Source

These SLC components are removed from Gecko SDK 4.3.0: cmsis_dsp, cpc_config_vcom_eusart, cpc_config_vcom_usart. A project that lists them no longer generates. Covers 3 names.

Likely to break

Platform services: functions removed in Gecko SDK 4.3.0

System services · Gecko SDK 4.3.0 · Source

Gecko SDK 4.3.0 no longer declares these functions from Gecko SDK 4.2.0: sl_iostream_uart_is_ok_to_sleep, emDebugInit, emPrintfInternal. Code using them fails to compile or link. Covers 3 names.

Likely to break

RAIL radio: functions removed in Gecko SDK 4.4.0

Radio and RF · Gecko SDK 4.4.0 · Source

Gecko SDK 4.4.0 no longer declares these functions from Gecko SDK 4.3.0: RAIL_BLE_GetHadmIQCaptureBufferLength, RAIL_BLE_SetHadmPacketConfig, RAIL_SetHadmBoardRttOffset. Code using them fails to compile or link. Covers 3 names.

Likely to break

RAIL radio: types renamed in Simplicity SDK 2024.6.0

Radio and RF · Simplicity SDK 2024.6.0 · Source

Simplicity SDK 2024.6.0 renames these types: EmberAfPluginCoulombCounterCoreMode -> sl_zigbee_af_plugin_coulomb_counter_core_mode_t, EmberCounterType -> sl_zigbee_counter_type_t, EmberMacFilterMatchData -> sl_zigbee_mac_filter_match_data_t. Code using the old names no longer compiles. Covers 3 names.

And 73 more changes, all checked by the scan.

What a scan of this path also reviews

Beyond the documented changes, Migratorisk reviews these upgrade risks for Silicon Labs SDK projects on this path. Each one is reported only when the project shows the trigger.

Series 0 and Series 1 devices are not supported by Simplicity SDK

When it applies: The project targets a Series 0 or Series 1 device, and the selected path moves from Gecko SDK to Simplicity SDK.

Why it matters: From Simplicity SDK 2024.6.0, Series 0 and Series 1 devices are no longer supported; Silicon Labs' own upgrade check marks this upgrade as impossible. Gecko SDK 4.4/4.5 LTS is the supported line for these parts.

What to do: Stay on Gecko SDK 4.4/4.5 LTS for this hardware, or plan a hardware move to a Series 2 part (pin, RF and certification impact) before moving to Simplicity SDK.

Zigbee host and NCP must be upgraded together

When it applies: The project is a Zigbee host application that talks to an NCP over EZSP.

Why it matters: EZSP versions change between SDK releases; a host only talks to an NCP built with a compatible stack.

What to do: Upgrade host and NCP firmware as one release, and make sure the host can still reflash an NCP that runs the old firmware.

Field updates must still be accepted by the bootloader on deployed devices

When it applies: The application updates itself in the field (OTA DFU, AppLoader, Zigbee OTA or Mesh DFU) through the Gecko Bootloader already on each device.

Why it matters: The move to Simplicity SDK changes stacks and platform code, usually growing the image; the new application must still fit the download slot of the bootloader on deployed devices and use the same signing keys.

What to do: Keep the GBL signing and encryption keys, the storage slot layout and the application start address; check the new image size against the download slot; rehearse an update from the production firmware and bootloader.

Updating the Gecko Bootloader itself

When it applies: The repository builds a Gecko Bootloader with the SDK.

Why it matters: A new bootloader must keep the storage layout, keys and application interface of the one on deployed devices, and it can only be replaced in the field if the bootloader upgrade path was planned.

What to do: Decide whether deployed devices keep their current bootloader (usual) or receive a bootloader upgrade; if so, test the upgrade image on production devices before release.

The project must be upgraded and regenerated with SLC

When it applies: Silicon Labs projects are generated from the .slcp by SLC (Simplicity Studio or slc-cli).

Why it matters: Moving from Gecko SDK to Simplicity SDK changes the SDK id in the .slcp and renames or removes many components, configuration options and APIs (EmberZNet 8 renames the whole Zigbee API). Silicon Labs' upgrade handles component changes, not application source.

What to do: Run the project upgrade (Simplicity Studio's Upgrade, or slc upgrade) on a clean branch, regenerate, then review the diff of config/ and the .slcp before touching application code. Never keep hand edits in autogen/.

Stored data must survive the update

When it applies: The firmware keeps data in NVM3 or tokens (network keys, bonding data, Mesh provisioning, application settings).

Why it matters: Stack and token handling change between Gecko SDK and Simplicity SDK; network keys, bonding data and provisioning written by the old firmware must survive the update.

What to do: Update a device that has real stored data (joined network, bonded phone, provisioned node) from the production firmware and check it keeps working without re-pairing or re-commissioning.

SDK extensions must move to versions built for the target SDK

When it applies: The project uses SDK extensions (for example Matter, WiSeConnect or AI/ML) on top of the Silicon Labs SDK.

Why it matters: Each extension release is built and tested against one SDK release. Mixing versions fails to generate or builds an untested combination.

What to do: Pick the extension release that names the target SDK in its release notes and upgrade it together with the SDK.

A copy of the SDK lives inside the project

When it applies: The project contains a copied Gecko or Simplicity SDK folder instead of linking to an installed SDK.

Why it matters: An upgrade does not touch the copy. Local patches to it are easily lost or silently kept, and the build may mix old and new SDK files.

What to do: List local changes to the copied SDK (diff it against the matching release), then replace the copy with the target SDK and re-apply only the changes still needed.

Device series could not be confirmed for the move to Simplicity SDK

When it applies: The .slcp lists no device part number, so the scan cannot tell whether the hardware is Series 1 or Series 2.

Why it matters: Simplicity SDK supports only Series 2 and Series 3 devices; a Series 0/1 product cannot make this move at all.

What to do: Check the part number on the board (or the device component Simplicity Studio shows for the project) before planning the upgrade.

Check the Secure Engine firmware required by the target SDK

When it applies: The project targets a Series 2 device, whose Secure Engine runs its own firmware.

Why it matters: Newer SDKs are released with a matching Secure Engine firmware version; security features and some PSA Crypto behaviour depend on it, and devices in the field keep the SE firmware they shipped with unless it is updated.

What to do: Compare the SE firmware version on production devices with the one in the target SDK's platform release notes, and decide whether the update must include an SE firmware upgrade.

VelocityCreate

Want us to handle the upgrade?

VelocityCreate can review your assessment, agree on the migration scope, and carry out the firmware changes and agreed verification. Discuss your deadline, hardware, and requirements with an embedded engineer.

Discuss my migrationBook a technical call

The initial discussion is free. Implementation is quoted separately.

Related upgrade paths

Generated from the rule catalog of Migratorisk 0.3.0. This is an automated summary of published SDK changes, not a review of your project, and it does not replace builds and device tests. How the scanner is validated.