Skip to content

a6-a9-ai/nRF54-minimalist-BLE-sniffer-Zephyr

Repository files navigation

BLE Sniffer for nRF54L15

This project implements a high-efficiency, passive Bluetooth Low Energy (BLE) advertising packet sniffer on the Nordic nRF54L15-DK, powered by Zephyr RTOS. It is architected for a minimal memory footprint and zero-copy data pipelines to maximize throughput and minimize packet drops.

Please use nRF Connect SDK 2.9.2 and Toolchain v2.9.2 for better compatibility !

Features

  • Passive Continuous Scanning: Intercepts nearby BLE advertising packets without active scanning overhead or transmission footprints.
  • Dynamic Dual-Window Intervals: Alternates scan windows to optimize packet catch rates across varying advertising intervals.
  • Advanced GAP Payload Parsing: Extracts and decodes Flags, Local Names, TX Power, 16-bit/128-bit Service UUIDs, Service Data, and Manufacturer Data.
  • Embedded Hardware Lookups: Built-in zero-latency dictionary mapping for common Ecosystems (Apple Find My, Google Fast Pair, Samsung SmartThings) and hardware manufacturers.
  • Deferred Logging Architecture: Thread-isolated logging utilizing Zephyr's deferred logging mode via UART/RTT to eliminate timing jitter in critical sections.

System Architecture

The sniffer decouples the physical RF reception from the asynchronous processing and logging layers to guarantee that high-frequency packet bursts do not result in buffer overruns.

graph TD
    A[Radio] --> B[Zephyr BLE Stack]
    B -->|device_found| C[Application]
    C -->|Analyse TLV| D[Decoder]
    D -->|Buffer| E[Logger Engine]
    E -->|Asynchrone| F[Console RTT/UART]

Loading

About

minimalist bluetooth sniffer using nRF54 & Zephyr.

Topics

Resources

Stars

10 stars

Watchers

3 watching

Forks

Packages

 
 
 

Contributors