• Stars
    star
    145
  • Rank 254,087 (Top 6 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is the source code for the EFR Connect application for Android.

EFR Connect Mobile Application

This is the source code for the EFR Connect mobile application.

What is EFR Connect BLE mobile app?

Silicon Labs EFR Connect is a generic BLE mobile app for testing and debugging Bluetooth® Low Energy applications. With EFR Connect, you can quickly troubleshoot your BLE embedded application code, Over-the-Air (OTA) firmware update, data throughput, and interoperability with Android and iOS mobiles, among the many other features. You can use the EFR Connect app with all Silicon Labs Bluetooth development kits, Systems on Chip (SoC), and modules.

Why download EFR Connect?

EFR Connect radically saves the time you will use for testing and debugging! With EFR Connect, you can quickly see what’s wrong with your code and how to fix and optimize it. EFR Connect is the first BLE mobile app allowing you to test data throughput and mobile interoperability with a single tap on the app.

How does it work?

Using EFR Connect BLE mobile app is easy. It runs on your mobile devices such as a smartphone or tablet. It utilizes the Bluetooth adapter on the mobile to scan, connect and interact with nearby BLE hardware.

After connecting the EFR Connect app and BLE hardware (e.g., a dev kit), the Blinky test on the app shows a green light indicating when your setup is ready to go. The app includes simple demos to teach you how to get started with EFR Connect and all Silicon Labs development tools.

The Browser, Advertiser, and Logging features help you to find and fix bugs quickly and test throughput and mobile interoperability simply, with a tap of a button. With our Simplicity Studio’s Network Analyzer tool (free of charge), you can view the packet trace data and dive into the details.

Demos and Sample Apps

EFR Connect includes many demos to test sample apps in the Silicon Labs GSDK quickly. Here are demo examples:

  • Blinky: The ”Hello World” of BLE – Toggling a LED is only one tap away.
  • Throughput: Measure application data throughput between the BLE hardware and your mobile device in both directions
  • Health Thermometer: Connect to a BLE hardware kit and receive the temperature data from the on-board sensor.
  • Connected Lighting DMP: Leverage the dynamic multi-protocol (DMP) sample apps to control a DMP light node from a mobile and protocol-specific switch node (Zigbee, proprietary) while keeping the light status in sync across all devices.
  • Range Test: Visualize the RSSI and other RF performance data on the mobile phone while running the Range Test sample application on a pair of Silicon Labs radio boards.
  • Motion: Control a 3D render of a Silicon Labs Thunderboard or Dev Kit that follows the phyiscal board movements.
  • Environment: Read and display the data from the on-board sensors on a Silicon Labs Thunderboard or Dev Kit.
  • Wi-Fi Commissioning: Commission a Wi-Fi device over BLE.
  • Bluetooth Electronic Shelf Labels (ESL): Adds and commissions ESL tags to the system network by scanning the tag's QR code with the mobile device's camera and provides the user a UI to view the list commissioned tags and control them.
  • Matter: Commission and control of the Matter devices over Thread and Wi-Fi.

Development Features

EFR Connect helps developers create and troubleshoot Bluetooth applications running on Silicon Labs’ BLE hardware. Here’s a rundown of some example functionalities.

Bluetooth Browser - A powerful tool to explore the BLE devices around you. Key features include:

  • Scan and sort results with a rich data set
  • Label favorite devices to surface on the top of scanning results
  • Advanced filtering to identify the types of devices you want to find
  • Save filters for later use
  • Multiple connections
  • Bluetooth 5 advertising extensions
  • Rename services and characteristics with 128-bit UUIDs (mappings dictionary)
  • Over-the-air (OTA) device firmware upgrade (DFU) in reliable and fast modes
  • Configurable MTU and connection interval
  • All GATT operations

Bluetooth Advertiser – Create and enable multiple parallel advertisement sets:

  • Legacy and extended advertising
  • Configurable advertisement interval, TX Power, primary/secondary PHYs
  • Manual advertisement start/stop and stop based on a time/event limit
  • Support for multiple AD types

Bluetooth GATT Configurator – Create and manipulate multiple GATT databases

  • Add services, characteristics and descriptors
  • Operate the local GATT from the browser when connected to a device
  • Import/export GATT database between the mobile device and Simplicity Studio GATT Configurator

Bluetooth Interoperability Test – Verify interoperability between the BLE hardware and your mobile device

  • Runs a sequence of BLE operations to verify interoperability
  • Export results log

Building EFR Connect from the source code

  • Clone the project repository

  • Open the project directory in Android Studio

  • Wait for Gradle sync to finish

  • In the Build Variants tool window, select the desired variant: release (blueGeckoRelease) or debug (blueGeckoDebug)

  • Build the project with Build > Build Project and run it on a connected mobile device with Run > Run 'mobile' or Run > Debug 'mobile'

  • You can also build an APK installation package with Build > Build Bundle(s) / APK(s) > Build APK(s)... - the APK will be built, and a link to its location on the disk displayed in a notification in Studio.

Development

The main application code lies in the <project_directory>\mobile\src\main\java\com\siliconlabs\bledemo directory. The main application screen's code can be found there in the home_screen directory, while the application features (scanner, IOP test, advertiser/server configuration, all the demos) are separated into corresponding directories in the the features directory. The application architecture mostly follows the MVVM (Model-View-Viewmodel) pattern, and the feature/demo directories contain their own views, model and viewmodels. Handling the Bluetooth operations is covered mainly by the code in the bluetooth directory, most importantly the BluetoothService class. GATT service/characteristic/descriptor definitions are contained in <project_directory>\mobile\src\main\java\assets.

Additional information

The app can be found on the Google PlayStore and Apple App Store.

Learn more about EFR Connect BLE mobile app.

Release Notes

For more information on Silicon Labs product portfolio please visit www.silabs.com.

License

Copyright 2021 Silicon Laboratories

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

gecko_sdk

The Gecko SDK (GSDK) combines our Series 0 and Series 1 IoT product software development kits (SDKs) based on Gecko Platform into a single, integrated SDK.
C
368
star
2

peripheral_examples

Simple peripheral examples for Silicon Labs EFM32/EFR32 Series 0, Series 1, and Series 2 devices
C
323
star
3

application_examples

Start here to find code examples for Silicon Labs EFM32 and EFR32
226
star
4

UnifySDK

C
89
star
5

bluetooth_applications

Bluetooth wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
88
star
6

arduino

Arduino Core for Silicon Labs devices
C
74
star
7

Gecko_SDK_discontinued

DISCONTINUED GitHub Repository of SDK for Silicon Labs Gecko devices
72
star
8

SimplicityConnect-ios

This is the source code for the EFR Connect application for iOS.
Objective-C
62
star
9

thunderboard-android

This is the source code for Thunderboard application for Android.
Java
56
star
10

mltk

A Python package with command-line utilities and scripts to aid the development of machine learning models for Silicon Lab's embedded platforms
C
49
star
11

thunderboard-ios

This is the source code for Thunderboard application for iOS.
Swift
40
star
12

wisun-br-linux

Silicon Labs Wi-SUN Linux border router reference implementation
C
38
star
13

zigbee_applications

ZigBee wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
37
star
14

cpc-daemon

Co-Processor Communication - Daemon for Linux
C
34
star
15

wfx-fullMAC-tools

Silicon Labs WFx Wi-Fi tools and examples related to Wi-Fi FMAC driver
C
33
star
16

wireless-xpress

Host software, drivers, and mobile app examples for Wireless Xpress
C
33
star
17

platform_hardware_drivers

3rd party hardware drivers for EFM32 and EFR32. Go to https://github.com/SiliconLabs/application_examples
C
30
star
18

bluetooth_stack_features

Bluetooth stack feature applications. Go to https://github.com/SiliconLabs/application_examples
C
28
star
19

wiseconnect-wifi-bt-sdk

Wi-Fi and Bluetooth host drivers and examples for Silicon Labs RS9116 Wi-Fi/Bluetooth solution
C
28
star
20

sdk_support

C
26
star
21

wfx-linux-driver

Silicon Laboratories WFx Wi-Fi linux driver source code
C
25
star
22

IoT-Developer-Boot-Camp

C
25
star
23

simplicity_sdk

The Simplicity Software Development Kit (SDK) is an embedded software development platform for building IoT products based on our Series 2 and upcoming Series 3 wireless and MCU devices.
C
25
star
24

wfx-fullMAC-driver

Silicon Laboratories WFx Wi-Fi Full-MAC driver
C
23
star
25

platform_applications

EFM32 and EFR32 platform applications. Go to https://github.com/SiliconLabs/application_examples
C
21
star
26

wfx-firmware

Silicon Laboratories WFx Wi-Fi secure embedded firmware images
20
star
27

training_examples

This repo contains all of the training examples for IoT products. Go to https://github.com/SiliconLabs/application_examples
C
19
star
28

amazon-sidewalk

This repository contains the code for the Silicon Labs extension for Amazon Sidewalk.
C
18
star
29

third_party_hw_drivers_extension

SDK Extension for third party hardware drivers for EFM32 and EFR32. Go to https://github.com/SiliconLabs/application_examples
C
17
star
30

Gecko_SDK_Doc

DEPRECATED Documentation for the Gecko SDK for the EFM32, EFR32 and EZR32 devices from Silicon Labs.
HTML
17
star
31

matter_extension

Silicon Labs Configurator extension for Matter
C++
15
star
32

pybgapi-examples

Python
14
star
33

wisun-br-linux-docker

Silicon Labs Wi-SUN Linux border router Docker container
Shell
14
star
34

wiseconnect

Next-generation Silicon Labs Wi-Fi API for SiWx91x chipset family.
C
13
star
35

z_wave_applications

Z-Wave wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
13
star
36

bluetooth_mesh_stack_features

Bluetooth Mesh stack features. Go to https://github.com/SiliconLabs/application_examples
C
11
star
37

IoT_Utility_Scripts

Location for all kinds of scripts related to IoT development that Silicon Labs customers might find useful.
JavaScript
11
star
38

matter_applications

Matter wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
11
star
39

java_packet_trace_library

Java
10
star
40

nfc

NFC applications. Go to https://github.com/SiliconLabs/application_examples
C
9
star
41

circuitpython_applications

Application Examples for CircuitPython
Python
9
star
42

Unify_HomeAssistant

HomeAssistant Integration for Unify Framework
Python
9
star
43

gateway-management-ui

Zigbee gateway app that leverages Silicon Labs' zigbee radio and software solutions. For project discussion: http://community.silabs.com. Report issues to http://silabs.com/support
JavaScript
9
star
44

wfx-linux-tools

Silicon Laboratories WFx Wi-Fi Linux SD card management scripts, including update scripts
Shell
8
star
45

platform_ml_models

C++
8
star
46

proprietary_connect

CONNECT wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
8
star
47

hardware_design_examples

Hardware design examples. Go to https://github.com/SiliconLabs/application_examples
8
star
48

wisun-br-gui

JavaScript
7
star
49

wisun-backhaul-docker

Silicon Labs Wi-SUN border router demo Docker container
C
7
star
50

wfx-common-tools

Silicon Laboratories WFx Wi-Fi tools for all supported platforms
Python
7
star
51

managed-zigbee-gateway

This repository contains the software needed to bring up a Managed Zigbee Gateway
7
star
52

bluetooth_peripherals

Bluetooth peripheral applications. Go to https://github.com/SiliconLabs/application_examples
C
6
star
53

RS911X-nLink-OSD

Linux Open Source Driver for RS9116 based nLink family of products
C
6
star
54

wifi_combo_applications

Wi-Fi wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
6
star
55

proprietary_rail

RAIL wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
6
star
56

bluetooth_mesh_applications

Bluetooth Mesh wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
6
star
57

wisun_applications

Wi-SUN wireless applications. Go to https://github.com/SiliconLabs/application_examples
C
6
star
58

video_si21xx_superset

Host drivers for Silicon Laboratories video tuners and demodulators
C
5
star
59

sensor-puck

Collateral related to the Silicon Labs Environmental and Biometric Sensor Puck
Java
5
star
60

wfx-pds

Silicon Laboratories WFx Wi-Fi PDS (Platform Data Set) board files
5
star
61

machine_learning_applications

Machine Learning applications for Silicon Labs EFR32 devices
C
5
star
62

mltk_assets

Contains binary assets used by the mltk repository
Roff
4
star
63

java_pcap_file_utilities

Pure java library for manipulating PCAP and PCAPNG file formats. Go to https://github.com/SiliconLabs/application_examples
Java
4
star
64

matter_demo

This repo contains precompiled demos based on Silicon Labs Matter Github releases. The package is meant to be consumed through Simplicity Studio.
4
star
65

zipgateway

Z-Wave gateway
C
4
star
66

openthread_applications

OpenThread wireless applications. Go to https://github.com/SiliconLabs/application_examples
4
star
67

zephyr_applications

Application Examples for Zephyr
C
4
star
68

Connect-NCP-Host

Host library and examples to be used in Connect Network Co-Processor mode implemented on top of CPC daemon for Linux.
C
3
star
69

tflite-micro-efr32-examples

3
star
70

mcu_series1

C
3
star
71

application_examples_ci

Store results for continous integration such as build results for application_examples repos
3
star
72

cpc-gpio-expander

Rust
3
star
73

pybgapi

Python
3
star
74

unify-matter-bridge

3
star
75

si91x-rcp-driver

Wi-Fi 6 + BLE Linux Driver for SiWx91x chipset family
C
3
star
76

gecko-os-webapp

Fully customizable web application served on Gecko OS hardware
2
star
77

gecko-os-js

Gecko OS JavaScript API
2
star
78

zigbee_peripherals

2
star
79

zigbee_kba

C
2
star
80

gos-emlib-examples

A set of Gecko OS examples that directly use EMLIB to interface with MCU peripherals
C
2
star
81

occupancy-sensor-exp

Example code for the Silicon Labs OCCUPANCY-EXP-EVB kit.
C
2
star
82

host_utilities

Store various tools, scripts, and utilities that run on a host platform (e.g. Windows, Mac, Linux) that are intended to be used with IoT embedded applications. Go to https://github.com/SiliconLabs/application_examples
2
star
83

pta_controller

1
star
84

zap-vscode

ZAP VSCode extension
TypeScript
1
star
85

unify-sdk-flakes

Nix
1
star
86

wpts

Wireshark Packet Trace Server
Python
1
star
87

IEC60730_Libs

Platform codes for EFR32 series chips which complies to IEC60730 safety standard
1
star
88

automated-measurement-framework

Python
1
star
89

circuitpython_slc_cli_linux

Python
1
star
90

PSIRTWA

This repository contains workaround code for security vulnerabilities in Silicon Labs products. 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, is provided as-is and is suitable for evaluation purposes only. 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.
C
1
star
91

energy_harvesting_applications

1
star
92

unify-matter-pc

1
star