WiSeConnect™ SDK v3.x Examples#

This section describes the example applications available with the WiSeConnect™ SDK v3.x.

To find the example you need, browse the sections below. The same example may be mentioned in more than one section when it belongs to multiple categories.

The following examples demonstrate specific actions as described in the description column and are organized in alphabetical order by example name.

Featured Examples#

Example

Description

Link to README page

aws_device_shadow

Establishing a connection to the Amazon Web Services (AWS) Internet-of-Things (IoT) Core

Go to README

ble_per

Getting the BLE packet error rate (PER) statistics for transmitting and receiving packets

Go to README

cli_demo

Using console commands to demonstrate various API functions in the SDK such as scanning for Access Points (APs), bringing up a network interface, and others

Go to README

firmware_update

Downloading and updating firmware as a TCP client

Go to README

powersave_standby_associated

Running an application in the ASSOCIATED_POWER_SAVE mode

Go to README

wlan_throughput

Measuring the Wireless Local Area Network (WLAN) throughput

Go to README

NCP Mode Examples#

The following examples can be run in network co-processor (NCP) mode, with the application running on an external microcontroller unit (MCU) host such as EFx32™, and connectivity stack running on the SiWx91x™ chipset.

Example

Description

Link to README page

access_point

Implementing a Wi-Fi Access Point (AP)

Go to README

aws_device_shadow

Establishing a connection to the Amazon Web Services (AWS) Internet-of-Things (IoT) Core

Go to README

calibration_app

Calibrating carrier frequency offset and transmission (TX) gain offset and writing them to the eFuse

Go to README

ble_per

Getting the BLE Packet Error Rate (PER) statistics for transmitting and receiving packets

Go to README

ble_testmodes

Testing the BLE GAP peripheral role

Go to README

concurrent_mode

Implementing a Wi-Fi device both as an AP and station (STA)

Go to README

firmware_update

Downloading and updating firmware as a TCP client

Go to README

lwip_tcp_client

Using the hosted mode of the WiSeConnect SDK v3.x, by utilizing the Lightweight Internet Protocol (LwIP) stack

Go to README

powersave_standby_associated

Running an application in ASSOCIATED_POWER_SAVE mode

Go to README

select_app

Opening a network socket and monitoring it for incoming data

Go to README

sntp_client

Implementing the Simple Network Time Protocol (SNTP)

Go to README

station_ping

Implementing the Internet Control Message Protocol (ICMP), better known as the ping protocol

Go to README

tcp_tx_on_periodic_wakeup

Transmitting data from a sleepy device every time it wakes up

Go to README

user_gain_table

Transmitting data at varying data rates, power levels, and lengths according to a gain table

Go to README

wlan_throughput

Measuring the Wireless Local Area Network (WLAN) throughput

Go to README

BLE Examples#

Example

Description

Link to README page

ble_accept_list

Maintaining an allow list of devices that are allowed to connect to a BLE device

Go to README

ble_ae_central

Running a BLE central in Extended Advertising Central mode

Go to README

ble_ae_peripheral

Running a BLE peripheral in Extended Advertising Peripheral mode

Go to README

ble_central

Running a BLE central and connecting to a BLE peripheral

Go to README

ble_datalength

Using BLE data length extension to increase packet length

Go to README

ble_heart_rate_profile

Implementing the Heart Rate service both in the BLE central and peripheral roles

Go to README

ble_hid_on_gatt

Implementing the Human Interface Device (HID) service both in the BLE central and peripheral roles

Go to README

ble_ibeacon

Implementing an iBeacon-compatible BLE peripheral

Go to README

ble_longrange_2mbps

Running a BLE central and updating physical layer (PHY) rates

Go to README

ble_multiconnection_gatt_test

Multiple BLE connections both as a BLE central and peripheral

Go to README

ble_per

Getting BLE packet error rate (PER) statistics for transmitting and receiving packets

Go to README

ble_power_save

BLE power-save configuration both in Advertising and Connected modes

Go to README

ble_privacy

BLE privacy support implemented by changing the device address frequently

Go to README

ble_secureconnection

BLE peripheral implementing Security Manager Protocol (SMP) pairing and encryption

Go to README

ble_testmodes

Testing the BLE Generic Access Profile (GAP) peripheral role

Go to README

ble_throughput_app

Measuring the BLE throughput

Go to README

gatt_long_read

BLE Generic Attribute Profile (GATT) client performing a long read from a BLE GATT server

Go to README

Wi-Fi Examples#

Example

Description

Link to README page

access_point

Implementing a Wi-Fi Access Point (AP)

Go to README

aws_device_shadow

Establishing connection to the Amazon Web Services (AWS) Internet-of-Things (IoT) Core

Go to README

calibration_app

Calibrating carrier frequency offset and transmission (TX) gain offset and writing them to the eFuse

Go to README

cli_demo

Using console commands to demonstrate various API functions in the SDK such as scanning for Access Points (APs), bringing up a network interface, and others

Go to README

concurrent_mode

Implementing a Wi-Fi device both as an AP and station (STA)

Go to README

enterprise_client

Implementing a Wi-Fi enterprise client and connecting to an enterprise AP

Go to README

lwip_tcp_client

Using the hosted mode of the WiSeConnect SDK v3.x, by utilizing the Lightweight Internet Protocol (LwIP) stack

Go to README

power_save_deep_sleep

Implementing the power-save deep sleep mode of the SiWx91x™ chipset

Go to README

powersave_standby_associated

Running an application in ASSOCIATED_POWER_SAVE mode

Go to README

select_app

Opening a network socket and monitoring it for incoming data

Go to README

sntp_client

Implementing the Simple Network Time Protocol (SNTP)

Go to README

tcp_tx_on_periodic_wakeup

Transmitting data from a sleepy device every time it wakes up

Go to README

three_ssl_concurrent_client_sockets

Maintaining three concurrent SSL connections using three sets of SSL certificates

Go to README

tls_client

Implementing a Transport Layer Security (TLS) client and exchanging encrypted data with a server

Go to README

twt_tcp_client

Implementing a TCP client using the Wi-Fi Target Wake Time (TWT) power-save scheme

Go to README

twt_use_case_remote_app

TCP door lock or UDP camera communication between a client and server using TWT power-save

Go to README

user_gain_table

Transmitting data at varying data rates, power levels, and lengths according to a gain table

Go to README

wifi6_twt_use_case_demo

Implementing a Wi-Fi 6 client using TWT power-save

Go to README

wlan_rf_test

Transmitting Wi-Fi packets at different data rates and power levels for regulatory certification testing

Go to README

wlan_throughput

Measuring the WLAN throughput

Go to README

wlan_throughput_v6

Measuring the WLAN throughout of an IPv6 client

Go to README

BLE + Wi-Fi Examples#

Example

Description

Link to README page

wifi_https_ble_dual_role

Simultaneous connection over secure HTTP (HTTPS) and as a BLE central and peripheral

Go to README

wifi_station_ble_provisioning

Advertising a device over BLE, receiving Wi-Fi credentials and connecting to a Wi-Fi AP

Go to README

wifi_station_ble_provisioning_aws

Receiving Wi-Fi credentials over BLE, connecting to Wi-Fi and publishing data to an AWS MQTT broker

Go to README

wifi_station_ble_throughput_app

Measuring the WLAN throughput while maintaining a BLE connection

Go to README

wifi_throughput_ble_dual_role

Measuring the WLAN and/or BLE throughput(s) while they are simultaneously connected

Go to README

Si91x Peripheral Examples#

Example

Description

Link to README page

iostream_usart_baremetal

Exchanging data using Universal Synchronous/Asynchronous Receiver-Transmitter (USART) communication over the virtual COM (VCOM) port

Go to README

memlcd_baremetal

Displaying data on the Liquid Crystal Display (LCD) peripheral

Go to README

psram_blinky

Executing from pseudostatic random-access memory (PSRAM) and performing a light-emitting diode (LED) blink operation

Go to README

psram_driver_example

Reading and writing from and to the PSRAM

Go to README

si91x_psa_aes

Implementing the Platform Security Architecture (PSA) Advanced Encryption Standard (AES)

Go to README

si91x_psa_asymmetric_key_storage

Generating and storing assymetric cryptographic keys

Go to README

si91x_psa_ccm

Implementing PSA with the counter with cipher block chaining message authentication code (CCM) encryption method

Go to README

si91x_psa_sha

Implementing PSA with the secure hash algorithm (SHA) encryption method

Go to README

si91x_psa_symmetric_key_storage

Generating and storing assymetric cryptographic keys

Go to README

sl_si91x_adc

Converting analog signals using the analog-to-digital converter (ADC)

Go to README

sl_si91x_blinky

Toggling the LED

Go to README

sl_si91x_button_baremetal

Handling button presses by toggling LEDs

Go to README

sl_si91x_calendar

Configuring the clock and implementing triggers, alarms, and time conversion

Go to README

sl_si91x_config_timer

Configuring and using timers

Go to README

sl_si91x_dma

Data transfer using Direct Memory Access (DMA)

Go to README

sl_si91x_driver_gpio

Using the general purpose input-outputs (GPIO's) in the HP, ULP and UULP domains

Go to README

sl_si91x_efuse

Programming the eFuse and reading data from the eFuse

Go to README

sl_si91x_gpio

Using the GPIO ports of the SiWx91x chipset

Go to README

sl_si91x_gspi

Generic Serial Peripheral Interface (GSPI) communication.

Go to README

sl_si91x_i2c_follower

Running an Inter-Integrated Circuit (I2C) follower and exchanging data with a leader

Go to README

sl_si91x_i2c_leader

Running an I2C leader and exchanging data with a follower

Go to README

sl_si91x_i2s_loopback

Performing an Inter-Integrated Circuit Sound (I2S) transfer using the loopback mechanism

Go to README

sl_si91x_i2s_low_power

Performing an I2S loopback transfer in power save mode

Go to README

sl_si91x_i2s_primary

Performing I2S primary device transfer

Go to README

sl_si91x_i2s_secondary

Performing I2S secondary device transfer

Go to README

sl_si91x_ml_blink

Deploying and using a TensorFlow Lite machine learning model

Go to README

sl_si91x_nvm3_common_flash

Using the Non-Volatile Memory (NVM3) service of the SiWx91x in Common Flash configuration to maintain key-value pairs in the flash memory

Go to README

sl_si91x_nvm3_dual_flash

Using the NVM3 service of the SiWx91x Dual Flash configuration to maintain key-value pairs in the flash memory

Go to README

sl_si91x_pwm

Using pulse width modulation (PWM) to generate a periodic pulse waveform

Go to README

sl_si91x_sdio_secondary

Implementing an (SDIO) secondary and exchanging data with an SDIO primary

Go to README

sl_si91x_sensorhub

Reading data from the sensors on the Si91x device

Go to README

sl_si91x_sio

Serial Input-Output (SIO) over SPI and Universal Asynchronous Receiver-Transmitter (UART) interfaces

Go to README

sl_si91x_ssi_master

Running a Synchronous Serial Interface (SSI) main and exchanging data with a secondary

Go to README

sl_si91x_ssi_slave

Running an SSI secondary and exchanging data with a main

Go to README

sl_si91x_sysrtc

Using the system real-time clock (SYSRTC) on the Si91x device to toggle the LED at one-second intervals

Go to README

sl_si91x_ulp_adc

Using the ADC converter in ultra low-power (ULP) mode

Go to README

sl_si91x_ulp_calendar

Using the clock in ULP mode

Go to README

sl_si91x_ulp_dma

Performing a DMA transfer in ULP mode

Go to README

sl_si91x_ulp_gpio

Using the Si91x GPIO ports in ULP mode

Go to README

sl_si91x_ulp_i2c_leader

Implementing an I2C leader in ULP mode

Go to README

sl_si91x_ulp_ssi_master

Implementing an SSI primary in ULP mode

Go to README

sl_si91x_ulp_timer

Using timers in ULP mode

Go to README

sl_si91x_ulp_uart

Transferring data over the UART interface in ULP mode

Go to README

sl_si91x_usart

Exchanging data over USART running on a real-time operating system (RTOS) host

Go to README

sl_si91x_watchdog_timer

Implementing a watchdog timer which resets the system on an exception condition

Go to README

sleeptimer

Implementing one-time and periodic sleep timers

Go to README

wlan_throughput_psram

Measuring WLAN throughput while executing from PSRAM

Go to README

HTTP Examples#

Example

Description

Link to README page

http_otaf

Downloading and updating firmware as an HTTP client

Go to README

wifi_https_ble_dual_role

Simultaneous connection over secure HTTP (HTTPS) and as a BLE central and peripheral

Go to README

MQTT Examples#

Example

Description

Link to README page

mqtt

Connecting to an AWS MQTT broker and publishing data

Go to README

embedded_mqtt_client

Connecting to an MQTT broker, publishing, and subscribing to MQTT topics

Go to README

embedded_mqtt_client_twt

MQTT client using the Wi-Fi TWT power-save mode

Go to README

Ping Examples#

Example

Description

Link to README page

station_ping

Implementing the Internet Control Message Protocol (ICMP), better known as the ping protocol

Go to README

station_ping_v6

Implementing the ping protocol (ICMP) over IPv6

Go to README

Firmware Update Examples#

Example

Description

Link to README page

firmware_update

Downloading and updating firmware as a TCP client

Go to README

http_otaf

Downloading and updating firmware as an HTTP client

Go to README

m4_firmware_update

Downloading and updating the application processor's firmware

Go to README