Learning Resources
Ready to get started with a highly versatile IoT platform? Read through the short tutorials we’ve assembled below to help you with your development on the Qualcomm® QCA4020/4024 platform. You’ll find basics, context, code snippets, step-by-step procedures, technology backgrounders and walk-throughs tied directly to the platform and reference apps we’ve made available.
Introduction to the QCA4020/4024 Platform
Developing an Android App with Bluetooth Low Energy (BLE)
Here are a few terms and concepts that can help as you develop an Android app with Bluetooth Low Energy (BLE) for the QCA402x board.Communicating over BLE — Basics
New to BLE communication and GATT profiles? Read this quick overview of BLE communication architecture, basic data transfer methods and properties — write, read, notify and indicate — with a code snippet from the QCA4020 Development Board Application.Communicating Between the QCA402x board and Smart Home Devices
Connect the Home Automation Android Application to the QCA402x board and manage devices like a door lock, a smoke detector and a light bulb. See which BLE properties apply to each device.Communicating Between the Home Automation Android Application and the QCA402x board
Follow these steps to connect the Home Automation Android Application to a QCA402x board over Bluetooth LE (BLE). Use these code snippets for scanning and connecting to BLE-supported devices and discovering services.Reviewing Material Design in Android App Development
Get up to speed on the elements and aspects of Material Design in the Home Automation Android Application.
Security
Enforcing Security Between BLE-Supported Devices
Learn about the authentication and encryption implemented in BLE to thwart passive eavesdropping and man-in-the-middle (MITM) attacks.Communicating Securely with a Passkey
Here’s background on connecting, pairing and bonding BLE-supported devices with a 6-digit passkey.Pairing in BLE
Authentication in the Home Automation Android Application provides a secure BLE channel to the QCA402x board. Explore the code that delivers the pairing request and checks the pairing state.BLE Legacy Pairing
Use Bluetooth legacy pairing to generate a 128-bit Short Term Key (STK) with the Just Works pairing mechanism.Building and Flashing an Image for Secure Boot on the QCA4020/4024 Platform
Secure boot is designed to protect the system against malicious code being loaded and executed early in the boot process, before loading the firmware. Here’s how to generate, hash and burn root keys into the CPU in a One Time Programmable (OTP) process.Signing, Building and Flashing an Image for Secure Boot on QCA4020/4024 Platform
A QCA402x board with secure boot supported will allow only images with secure credentials (pk_hash key). Learn how to build a signed image with those credentials and flash it to the board.
Power Saving
Improving Battery Life in BLE Communication
Here’s background on several factors in power consumption with BLE, including transmit power, advertising interval and advertising payload size.Using Persistent Storage to Optimize Power Consumption
Reduce power consumption by saving bonding information and service discovery information to non-volatile memory.Measuring and Optimizing Power Consumption in the Advertising State
Look at different parameters — advertising interval, data length and direct connection — for optimizing power consumption during the advertising state.Understanding the Generic Access Profile (GAP)
Read up on the roles, modes and procedures GAP uses to allow BLE devices to interoperate.