About The Author
Punch Through
We’re a team of engineers who obsess over making connected things actually work — reliably, securely, and without the handwaving. From BLE to backend, we build the software and systems behind connected medical devices and custom connected products that can’t afford to fail.

Explore Articles by Punch Through

When to Disconnect on BLE (and When to Stay Connected)
Staying connected is the default most BLE designs back into, and it usually costs more than it looks. This piece works from one question, who owns the decision to move data, to when your device should hold a connection and when it should drop it.
Read More
How to Test BLE Pairing and Security Flows with LightBlue
Security and pairing are the tests that get pushed to the end of the cycle, right up until a device fails in the field on one specific phone at one specific point in the connection. These six LightBlue workflows surface the preventable failures early, from the same vantage point your…
Read More
BLE Connection Interval and Battery Life: How to Configure for Power
The connection interval is firmware's biggest lever on how long a BLE device lasts between charges. This piece breaks down how it works with peripheral latency, and how to tune both for idle power savings without the lag.
Read More
How to Use Android BLE Scan Filter
Android's ScanFilter API lets you narrow BLE scan results to the devices that matter most. Learn how to filter by service UUID, device name, manufacturer data, and more while optimizing scan behavior for faster, more reliable discovery.
Read More
How to Perform a BLE Scan on Android
Learn how to perform a BLE scan on Android using Kotlin, from configuring permissions and BluetoothLeScanner to displaying nearby devices and managing scan results across Android versions.
Read More
How to Subscribe to Notifications and Indications in iOS Core Bluetooth
Learn how to subscribe to notifications and indications in iOS Core Bluetooth using setNotifyValue, handle notification state changes, and receive characteristic updates from BLE peripherals without polling.
Read More
How to Discover Services and Characteristics on iOS Core Bluetooth
A successful BLE connection is only the beginning. Learn how to discover services and characteristics on iOS Core Bluetooth, navigate a peripheral's GATT table, and prepare for reading, writing, and subscribing to characteristic values.
Read More
How to Verify BLE Advertisement Data Using LightBlue
BLE issues often trace back to the advertising packet, but it's hard to diagnose what you can't see. Learn how to verify BLE advertisement data with LightBlue and confirm that your device is broadcasting the service UUIDs, manufacturer data, and connection settings your app expects.
Read More
How to Use the centralManager didDiscover Delegate in iOS Core Bluetooth
The centralManager didDiscover delegate is where BLE scanning results become actionable. Learn what Core Bluetooth provides through CBPeripheral, advertisementData, and RSSI, and how to use that information to identify and manage devices before connecting.
Read More
How to Use LightBlue to Debug Your Firmware
When integration testing breaks down, it’s not always obvious whether the problem lives in your firmware or somewhere else. This guide shows you how to debug BLE firmware with LightBlue step by step, from advertising and connections to GATT discovery, notifications, writes, and pairing.
Read More