Skip to content

Examples for the Dialog Smartbond Bluetooth low energy families based on the SDK6

License

Notifications You must be signed in to change notification settings

dialog-semiconductor/BLE_SDK6_examples

Repository files navigation

Smartbond SDK6 Application Examples

This is the repository storing example for the DA145xx family.

For information about the DA145xx platform and how to bring up your development kit, please refer to the Getting started User Manual

Example usage

To run any of these SW examples, the user needs:

  • DA14531/DA14585/DA14586 hardware.
  • Keil µvision.
  • Renesas SDK 6.0.22
  1. First, download the SDK from the Renesas website.
    Creating an account and accepting the license agreement are required to download the SDK.

  2. Enter the projects folder and clone this repository:

    > cd projects
    > git clone https://github.com/dialog-semiconductor/BLE_SDK6_examples.git
  3. Open the project file (.uvprojx) you are interested in in Keil µvision.

  4. Select your target:

    Alt text

  5. Build the project:

    Alt text

  6. Run:

    Alt text

Note: It is highly recommended the user creates files that are added in the src folder of the SW example.

Examples Overview

Module DA14531 Pro Dev Kit DA14585 Pro Dev Kit DA14585 Basic Kit DA14531 USB Kit Example name Key Words Example Description
✔️ ✔️ active_scanner scanning mode - advertising data - UART This example shows how to setup the DA145xx device in active scanning mode,  On advertising data report, the data is formatted and pushed on the UART
✔️ ✔️ advertising button - advertising - Sleep- Wakeup up This example shows how to Use a button to switch between advertising methods, Go for sleep and wakeup , Timer callback is used
✔️ ✔️ burst_adv Burst advertising - UART This is a simple example showing how to implement 'burst' advertising on the DA14531 and DA14585/6 devices
✔️ ✔️ button_Wakeup notification - BLE -Button presses This example shows how to configure a DA14531 or DA14585/586 device to send notifications to a BLE central by button presses
✔️ ✔️ pressure_sensor BLE- PRESSURE 5 CLICK Board™ This is Simple example showing how to interface the DA14585/586 and DA14531 with the PRESSURE 5 CLICK Board™
✔️ ✔️ ble_temperature MCP9808-  Thermo 8 click board -I2C This is Simple example showing how to interface the DA14585/586 and DA14531 with the Thermo 8 click board™
✔️ BLE2IR Remote Control Unit This example provides an implementation of a Simple RCU using a custom BLE profile
✔️ ✔️ ble-Midi  MIDI - BLE This example shows how to  create MIDI service on DA145xx BLE device
✔️ ✔️ ✔️ central BLE-Central This project is intended to illustrate to the user How to scan for peer devices and how to parse advertisement data during the scan process + BLE connection
✔️ ✔️ central_Security pairing - encryption -bonding The main example purpose is to demonstrate the basic pairing, encryption and bonding process on central side
✔️ hibernation Hibernation- State aware hibernation This example demonstrates the  Hibernation and the State aware hibernation features on the DA14531
Connectivity ✔️ ✔️ ✔️ ibeacon iBeacon- payload parameters -advertising interval, UUID This is an  iBeacon implementation for the DA14531, DA14585/DA14586
✔️ ibeacon_Optim ibeacon - power optimization The example demonstrates an optimized software implementation for ibeacon on the DA14531
✔️ ✔️ multi_con_periph Central - peripheral- connection This example demonstrates how a single peripheral can be connected to more than one central.
✔️ ✔️ multirole Central- peripheral - scan-advertise roles The example demonstrates the capabilities of the DA14531/585/586 as a Central and a peripheral i.e. scan and advertise role
✔️ ✔️ scan_request_track scan- central -track This example demonstrates how a peripheral device can track if it is scanned and which central device performs the scanning procedure
✔️ ✔️ simple_beacon Beacon- Non-Connectable Advertising The main purpose of this Software Εxample is to demonstrate creating a Non-Connectable Advertising application example
✔️ ✔️ svc_data_beacon Beacon- Non-Connectable Advertising - UUID The main purpose of this software example is to demonstrate creating a Non-Connectable Advertising application example that includes service data. Specifically, this example illustrates the idea of including Service Data from a 16-bit UUID as defined by the Bluetooth SIG
✔️ Quuppa Tag Emu  Quuppa Intelligent Locating System™- real-time location-BLE-Tag this is the  QUUPPA Tag Emu Demo on the DA14531
✔️ ✔️ Coexistence WiFi coexistence -BLE The example provides guidelines on how the WiFi coexistence feature can be enabled on the SDK
Features ✔️ ✔️ L2CAP L2CAP- DLE-throughput This project is intended to illustrate to the user how to do a peer feature request for determining peer DLE capability
and how to request DLE and utilize larger packets to enhance throughput
✔️ ✔️ ✔️ reset_Indication Reset - source The current SW example demonstrates how to issue and identify the different kinds of reset on the DA14531 and DA14585/586 devices as well as identifying if the device run into a Hardfault or an NMI interrupt.
✔️ ✔️ ✔️ social-distancing DA14531 - social distancing (SDT) This example configures a DA14531 device to be used for social distancing purposes
✔️ Timer1 Timer 1 -DA14531 This software example demonstrates the usage of the TIMER1 hardware block. The SW example exposes the basic functions that TIMER1 offers
Helpers ✔️ usb_preloaded USB- DA14531-  OTP unique random address - BD address - UART print The main purpose of this software example is to provide the source files containing the firmware for the preloaded binary in the DA14531 USB kit.
Interfaces ✔️ ✔️ accel-Sensor  I2C accelerometer -BLE notifications This example shows how to acquire data from an I2C accelerometer and send the measurements with BLE notifications using a DA14531 or DA14585/586 device
✔️ STM32-external-processor STM32- DA14531 RAM - External MCU The goal of this example is to show how to load a program into the RAM of the DA14531 via a STM32 microcontroller
✔️ ✔️ HID-Gamepad  HID gamepad - BLE HOGPD profile. A DA14585/6 HID gamepad demo project. Used to demonstrate the usage of HID features over BLE with HOGPD profile.
✔️ MCube-Accel I2C- MC36xx (MC3672/35) accelerometers. Sample software application to interface Dialog DA14585/586 BLE SoC's with mCube MC36xx (MC3672/35) accelerometers.
✔️ ✔️ ✔️ segger_rtt Segger RTT This example illustrates to the user, how to use SEGGER RTT in conjunction with the DA145xx family.
✔️ ✔️ ✔️ simple_button Button - Press - UART This example shows How to configure a button for short press and long press
✔️ SPI-_I2C_DMA  SPI - I2C to interface with the LIS2DH acceleromete This example demonstrates how to use SPI or I2C to interface with the LIS2DH acceleromete
✔️ wakeup_ext_timer Eddystone beacon- TPL5010EVM - Wakeup This example configures a DA14531 device to be used as an Eddystone beacon.
✔️ ✔️ ✔️ wakeup-button SW2-SW3 button -wakeup up This example shows how to wake up using two possible sources, button SW2 or button SW3.
it shows how  to detect the source, button SW2 or button SW3.
✔️ ✔️ I2C-Master-Slave I2C - Master-slave This example describes how to perform I2C data buffer transmission/reception between two boards in asynchronous mode (non-blocking communication). The project is split in two parts: the Master Board and the Slave Board.
✔️ SPI-Master-Slave SPI - Master-slave This example describes how to perform SPI data buffer transmission/reception between two DA14531 devices via DMA. The project is split in two parts: the Master Board and the Slave Board.
✔️ External processor Renesas EK-RA2E1-DA14531 RAM - External MCU The goal of this example is to show how to load a program into the RAM of the DA14531 via a Renesas microcontroller EK-RA2E1.
✔️ Weight Scale Weight Scale The goal of this example is to show an implementation of a generic BLE profile by showing a weight scale implementation

Example compatibility

Not all the examples will run on the latest version of the SDK6, the tested version is indicated in the Readme. If you find and example that needs porting to the latest version please report it in the issues.