Skip to Main Content
The Ultimate Guide for Android Bluetooth Low Energy

The Ultimate Guide to Android Bluetooth Low Energy

Originally published on May 15, 2020, and updated on April 17, 2024. What's been updated: This ultimate guide and its companion code repository now support compileSdkVersion and targetSdkVersion 34 (Android 14). The APIs used in this guide are from the android.bluetooth package, and not from the very similarly-named androidx.bluetooth package which is still in alpha as of the time of writing. The approaches detailed in this guide…

Mastering all 5 Kotlin Scope Functions

It should come as no surprise that our Android team here at Punch Through loves Kotlin, and that we strive to write idiomatic Kotlin, taking advantage of its unique language features whenever possible. Some common questions we get from newer team…
Punch Through Office where engineers use rx and delegate programming on iOS

Using Rx vs Delegates with CoreBluetooth

Reactive (or “Rx”) style programming is quickly becoming a popular design pattern in mobile development. What is it, and how does it compare to the tried-and-true delegation pattern? Should you be using Rx on your next mobile project? Follow…
Ultimate Guide to Apple's Core Bluetooth library

The Ultimate Guide to Apple’s Core Bluetooth

This article assumes you know the very basics of Bluetooth Low Energy (BLE) and iOS programming (including the delegation pattern for asynchronous calls common to many iOS native APIs), and is meant as a comprehensive guide to the ins and outs of…
BLE Firmware Engineering office

Creating a BLE Peripheral with BlueZ

While I’m fairly well-versed in working with BLE on an embedded device, I have so far had little experience with using BLE at a higher level. To help remedy this, I underwent the task of creating a BLE peripheral running a GATT server on a…
Engineers meeting about Kotlin language features

Our 5 Favorite Kotlin Features

When Swift was released by Apple for iOS developers, Android developers were in awe and envious of this modern programming language that provides null-safety and an expressive yet concise syntax. Thankfully, the Android Studio 3.0 release in 2017…
Computer coding with Android and Bluetooth symbol - Android BLE tips

4 Tips to Make Android BLE Actually Work

Android development is hard, and it's no thanks to its relatively fragmented ecosystem and having a million OEM’s out there. Throw BLE—which is extremely hardware and Bluetooth spec. dependent!—into the mix and the platform's behavior becomes…
apple-device-electronics-1682821

Testing Bluetooth Low Energy Devices

Bluetooth Low Energy is a new Bluetooth standard that is exciting for a couple reasons- it enables very low power battery applications, and it further opens the smartphone accessory market. LightBlue allows you to test and simulate Bluetooth Low…