Skip to content

SiliconLabs/third_party_hw_drivers_extension

Repository files navigation

Third Party Hardware Drivers

Version Badge GSDK Badge License badge

This repo contains example drivers developed by Silicon Labs engineers and are provided as an SDK extension. These drivers interface with different types of external hardware and are tested against a specific device listed in the driver name. These drivers are intended to be fully compatible with Silicon Labs' wireless stacks. All drivers provide a minimal Simplicity Studio project for testing and to show an example usage of the driver. The driver source is provided for modification and extension as needed. All drivers in this repository are considered to be EVALUATION QUALITY which implies that the code provided in the repos is subjected to limited testing and is provided provided as-is. It is not suitable for production environments.

A full list of all drivers in this repository is defined below:

Driver name Link to driver Link to example Link to documentation
captouch2_cap1166 Click Here Click Here Click Here
heartrate2_maxm86161 Click Here Click Here Click Here
temphum9_shtc3 Click Here Click Here Click Here
oledw_ssd1306 Click Here Click Here Click Here
mikroe_oledw_ssd1306_glib Click Here Click Here Click Here
buzz2_cmt_8540s_smt Click Here Click Here Click Here
brushless16_lb11685av Click Here Click Here Click Here
accel5_bma400 Click Here Click Here Click Here
dosimeter_type5 Click Here Click Here Click Here
micro_oled_ssd1306 Click Here Click Here Click Here
rfid_id12la Click Here Click Here Click Here
distance_vl53l1x Click Here Click Here Click Here
co_mq7 Click Here Click Here Click Here
relay2_lca717 Click Here Click Here Click Here
accelerometer_mma8452q Click Here Click Here Click Here
spectroscopy_as7265x Click Here Click Here Click Here
qwiic_joystick Click Here Click Here Click Here
utm7segr_max6969 Click Here Click Here Click Here
human_presence_ak9753 Click Here Click Here Click Here
soil_moisture Click Here Click Here Click Here
ir_aray_mlx90640 Click Here Click Here Click Here
proximity_vcnl4040 Click Here Click Here Click Here
eth_wiz_w5500 Click Here Click Here Click Here
fuel_gauge_max17048 Click Here Click Here Click Here
barcode2_em3080w Click Here Click Here Click Here
water_detect Click Here Click Here Click Here
radar_mm5d91_00 Click Here Click Here Click Here
rgb_led_is31fl3741 Click Here Click Here Click Here
fingerprint2_a172mrq Click Here Click Here Click Here
air_quality_sgp40 Click Here Click Here Click Here
environment2_sht40_sgp40 Click Here Click Here Click Here
heartrate4_max30101 Click Here Click Here Click Here
hr_po_max30101_max32664 Click Here Click Here Click Here
alcohol_mq3 Click Here Click Here Click Here
gps_lea6s Click Here Click Here Click Here
temphum15_sht40 Click Here Click Here Click Here
irthermo3_mlx90632 Click Here Click Here Click Here
stepper_a3967 Click Here Click Here Click Here
stepper2_a4988 Click Here Click Here Click Here
dcmotor3_tb6549fg Click Here Click Here Click Here
environmental_bme280_ccs811 Click Here Click Here Click Here
oledc_ssd1351 Click Here Click Here Click Here
pressure3_dps310 Click Here Click Here Click Here
lte_iot2_bg96 Click Here Click Here Click Here
e_paper_154_inch Click Here Click Here Click Here
ir_array_amg88xx Click Here Click Here Click Here
nfc2_pn7150 Click Here Click Here Click Here
nfc2_pn7150_t2t_read Click Here Click Here Click Here
nfc2_pn7150_t2t_write Click Here Click Here Click Here
ir_generate Click Here Click Here Click Here
triac Click Here Click Here Click Here
mikroe_microsd Click Here Click Here Click Here
pir_ira_s210st01 Click Here Click Here Click Here
rf_meter_ad8318 Click Here Click Here Click Here
nfctag2_nt3h2111 Click Here Click Here Click Here
pwm_driver_si8711cc Click Here Click Here Click Here
mikroe_mic2 Click Here Click Here Click Here
turbidity_tsd10 Click Here Click Here Click Here
environment3_bme688 Click Here Click Here Click Here
ozone2_mq131 Click Here Click Here Click Here
uv_ml8511a Click Here Click Here Click Here
tft_lcd_ili9341 Click Here Click Here Click Here
tft_lcd_ili9341_lvgl Click Here Click Here Click Here
servo_pca9685 Click Here Click Here Click Here
force3_fsr400 Click Here Click Here Click Here
emg Click Here Click Here Click Here
bthome_v2 Click Here Click Here Click Here
bthome_v2_server Click Here Click Here Click Here
services_enocean_switch_proxy_server Click Here N/A N/A
services_lin_bus_slave Click Here Click Here Click Here
obdii_stn1110 Click Here Click Here Click Here
thunder_as3935 Click Here Click Here Click Here
mikroe_rng Click Here Click Here Click Here
smoke2_adpd188bi Click Here Click Here Click Here
qwiic_keypad Click Here Click Here Click Here
tft_lcd_st7789 Click Here Click Here Click Here
tft_lcd_st7789_lvgl Click Here Click Here Click Here
tft_lcd_hxd8357d Click Here Click Here Click Here
tft_lcd_hxd8357d_lvgl Click Here Click Here Click Here
mikroe_stretch Click Here Click Here Click Here
adafruit_touchscreen_tsc2007 Click Here Click Here Click Here
mikroe_dcmotor24_l9958 Click Here Click Here Click Here
rtc10_ds3231m Click Here Click Here Click Here
mikroe_hvac Click Here Click Here Click Here

Requirements

  • Desired Silicon Labs Starter Kit
  • Driver specific test hardware
  • Simplicity Studio v5.6.0.0 or newer
  • Gecko SDK Suite 4.3.1, available via Simplicity Studio

How to add to Simplicity Studio IDE

TPHD Quick Look Video

Detailed documentation available on https://docs.silabs.com or here.

  • Clone the repository somewhere on your PC

    git clone https://github.com/SiliconLabs/third_party_hw_drivers_extension.git

  • Add the SDK extension to the GSDK

    • In Simplicity Studio go to PreferencesSimplicity StudioSDKs and select the Gecko SDK Suite to which the SDK extension will be added. Click Add Extension…
    • Click Browse and navigate to the root folder of the package above and click Select Folder.
    • The SDK extension should be displayed in the Detected SDK Extension window with the Third Party Hardware Drivers name, version, and path. Click OK and then Trust and Apply and Close.
    • Restart Simplicity Studio

Make sure that Evaluation quality software components are enabled in the Software Component view.

SDK Outline

The Third Party Hardware Drivers SDK contains the following files and folders.

  +--third_party_hw_drivers.slce  > The UC SDK Extension description file
  +--third_party_hw_drivers.slsdk > File provides the ability to auto-scan protocols from the extension folder
  +--templates.xml                > This file contains meta data for showing the project example on Simplicity Studio
  +--app
  |  +--documentation             > Contains the simple documentations for each application example
  |  +--example                   > Simpler examples to demonstrate specific features
  |-
  +--driver
  |  +--component                 > Contains UC component description files (SLCC)
  |  +--inc                       > Contains Third Party Hardware Driver SDK Extension helpers file
  |  +--peripheral_drivers        > Contains the implementation of the peripheral driver layer's components.
  |-
  +--public                      > Contains the public interfaces for each integrated driver
  |  +--mikroe                   > Contains the public interfaces for integrated drivers from MikroE
  |     +--temphum9_shtc3
  |     +--heartrate2_maxm86161
  |     +--...
  |  +--sparkfun                 > Contains the public interfaces for integrated drivers from SparkFun
  |  +--silabs                   > Contains the public interfaces for integrated drivers from Silabs
  |  +--...
  |-
  +--third_party                 > Contains third-party libraries, and repositories like Mikroe Click library.
  |  +--mikrosdk_click_v2        > Contains the MikroE Click Board™ library sources
  |  +--...
  +--doc                         > Contains the doxygen documentation files
  |-

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.