Skip to content

SiliconLabs/platform_applications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EFM32 and EFR32 Platform Application Examples

EFM32 32-bit Microcontrollers

Silicon Labs Platform Applications

Version Badge GSDK Badge License badge

This repo contains example projects that demonstrate various applicaitons using the peripherals of Silicon Labs EFM32 and EFR32 parts.

This repository provides both SLCP projects (as External Repositories) and SLS projects as standalone projects, which are configured for development boards.

Examples

No Example name Link to example
1 Platform - Executing Code from RAM Click Here
2 Platform - True Random Number Generator (TRNG) Click Here
3 Platform - Peripheral LESENSE ADC Click Here
4 Platform - SegmentLCD Low Power Click Here
5 Platform - Segment LCD and Temperature Sensor Click Here
6 Platform - IADC High Accuracy Mode - PG23 (BRD2504A) Click Here
7 Platform - Lean Watchdog Click Here
8 Platform - Edge Counting Using the EFM32/EFR32 Series 1 Pulse Counter (PCNT) Click Here
9 Platform - Si7021 RHT Sensor Bare-metal Click Here
10 Platform - Using Autonomous Peripherals in Low Power EM2 Mode Click Here
11 Platform - DALI Communication using EUSART (Main device) Click Here
12 Platform - DALI Communication using EUSART (Secondary device) Click Here
13 Platform - DALI Communication using bitbang SPI (Main device) Click Here
14 Platform - DALI Communication using bitbang SPI (Secondary device) Click Here
15 Platform - DALI Communication using bitbang SPI with DMADRV (Main device) Click Here
16 Platform - DALI Communication using bitbang SPI with DMADRV (Secondary device) Click Here
17 Platform - Segment LCD with LDMA Click Here
18 Platform - IADC High-speed Mode Click Here
19 Platform - Segment LCD with Timer Click Here
20 Platform - IADC High-speed Mode Click Here
21 Platform - IADC High Accuracy Mode - PG28 (BRD2506A) Click Here
22 Platform - Segment LCD with LC Sensor Click Here
23 Platform - IADC with LDMA Ping-Pong Click Here
24 Platform - UART Circular Buffer with LDMA Click Here
25 Platform - Sisnake Click Here
26 Platform - PG28 LCD Animation Blink Click Here
27 Platform - PG23 LCD Animation Blink Click Here
28 Platform - FG23 LCD Animation Blink Click Here
29 Platform - Asynchronous EM01GRPA Clock Output Click Here
30 Platform - Flash Read-While-Write Click Here
31 Platform - I2C Read to NVM3 Test Click Here
32 Platform - I2C Test for EFM8 IOExpander (IOEXP) Click Here
33 Platform - RTCC and Watchdog Bare-metal Click Here
34 Platform - I2C Slave Bootloader Click Here
35 Platform - WS2812 RGB LED Driver Click Here
36 Platform - SensiML IMU Data Capture Click Here
37 Platform - SensiML IMU Data Capture with BLE Click Here
38 Platform - SensiML Microphone Data Capture Click Here
39 Platform - SensiML IMU Recognition Click Here
40 Platform - SensiML IMU Recognition with BLE Click Here
41 Platform - SensiML Microphone Recogniton Click Here
42 Platform - Squash FreeRTOS Glib Click Here
43 Platform - NVM3 Integrity Test Click Here
44 Platform - Micrium Multiple ADC LMDA Task Click Here
45 Platform - Linked DMA (LDMA) Arbitration Click Here
46 Platform - Parse GBL Metadata in Single Shot Click Here
47 Platform - Parse GBL Metadata in BufferSize Steps Click Here
48 Platform - QI PRx communication protocol Click Here
49 Platform - QI PRx communication protocol with fast response Click Here
50 Platform - EFR32xG21 LDMA SPI Throughput Click Here
51 Platform - EFR32xG21 Polled SPI Throughput Click Here
52 Platform - Flash blank checking using the GPCRC Click Here
53 Platform - Timer cascading Click Here
54 Platform - Sine null points detector Click Here
55 Platform - IADC Tailgating Click Here
56 Platform - IADC scan multiple external inputs Click Here
57 Platform - LDMA trigger with TIMER Click Here
58 Platform - Multi channel PWM Click Here

Requirements

  1. Silicon Labs EFR32 Development Kit
  2. Simplicity Studio 5
  3. Compatible GSDK version that specified in each project's readme file. You can install it via Simplicity Studio or download it from our GitHub gecko_sdk

Working with Projects

  1. To add an external repository, perform the following steps.

    • From Simpilicity Studio 5, go to Preferences > Simplicity Studio > External Repos. Here you can add the repo https://github.com/SiliconLabs/platform_applications.git.

    • Cloning and then selecting the branch, tag, or commit to add. The default branch is Master. This repo cloned to <path_to_the_SimplicityStudio_v5>\developer\repos\

  2. From Launcher, select your device from the "Debug Adapters" on the left before creating a project. Then click the EXAMPLE PROJECTS & DEMOS tab -> check platform_applications under Provider to show a list of Bluetooth example projects compatible with the selected device. Click CREATE on a project to generate a new application from the selected template.

Legacy Projects - Importing *.sls projects

  1. Place the *.sls file(s) to be imported in a folder.

  2. From Simpilicity Studio 5, select File > Import, select the folder containing *.sls file(s). Select a project from the detected projects list and click on Next. Name the project and click Finish.

See Import and Export for more information.

Porting to Another Board

To change the target board, navigate to Project -> Properties -> C/C++ Build -> Board/Part/SDK. Start typing in the Boards search box and locate the desired development board, then click Apply to change the project settings. Ensure that the board specifics include paths, found in Project -> Properties -> C/C++ General -> Paths and Symbols, correctly match the target board.

Documentation

Official documentation can be found at our Developer Documentation page.

Reporting Bugs/Issues and Posting Questions and Comments

To report bugs in the Application Examples projects, please create a new "Issue" in the "Issues" section of this repo. Please reference the board, project, and source files associated with the bug, and reference line numbers. If you are proposing a fix, also include information on the proposed fix. Since these examples are provided as-is, there is no guarantee that these examples will be updated to fix these issues.

Questions and comments related to these examples should be made by creating a new "Issue" in the "Issues" section of this repo.

Disclaimer

The Gecko SDK suite supports development with Silicon Labs IoT SoC and module devices. Unless otherwise specified in the specific directory, all examples are considered to be EXPERIMENTAL QUALITY which implies that the code provided in the repos has not been formally tested and is provided as-is. It is not suitable for production environments. In addition, this code will not be maintained and there may be no bug maintenance planned for these resources. Silicon Labs may update projects from time to time.