Skip to main content

Bluetooth Low Energy encyclopedia API client — look up BLE chips, GATT profiles, Bluetooth versions, beacon protocols, and IoT specifications from BLEFYI.

Project description

blefyi

PyPI version Python License: MIT

Bluetooth Low Energy encyclopedia API client for Python. Look up BLE chips from Nordic, Espressif, TI, Dialog, Silicon Labs, Qualcomm, and STMicroelectronics, GATT profiles and services, Bluetooth versions 4.0-5.4, beacon protocols (iBeacon, Eddystone, AltBeacon), and IoT specifications from BLEFYI -- the comprehensive BLE reference with 261 records covering every major BLE system-on-chip in commercial and industrial use.

Extracted from BLEFYI, a Bluetooth Low Energy platform with 261 records spanning chip specifications, GATT profile definitions, version history, beacon protocol details, and IoT deployment guides used by embedded firmware engineers, IoT architects, and wearable device developers worldwide.

Explore BLE at blefyi.com -- Chip Explorer | Profile Reference | Version History | Beacon Protocols

blefyi demo -- BLE chip lookup, GATT profile reference, and chip comparison in Python

Table of Contents

Install

pip install blefyi[api]     # API client (httpx)
pip install blefyi[cli]     # + CLI (typer, rich)
pip install blefyi[mcp]     # + MCP server
pip install blefyi[all]     # Everything

Quick Start

from blefyi.api import BLEFYI

with BLEFYI() as api:
    # Search chips, profiles, versions, beacons, glossary
    results = api.search("nordic")
    print(results)

    # Look up a specific BLE chip
    nrf = api.chip("nrf52840")
    print(nrf["name"], nrf["manufacturer"])  # nRF52840 Nordic Semiconductor

    # Compare two BLE chips side-by-side
    diff = api.compare("nrf52840", "esp32-c3")
    print(diff)

    # Discover a random BLE chip
    surprise = api.random()
    print(surprise["name"])

What You'll Find on BLEFYI

BLEFYI is a comprehensive Bluetooth Low Energy encyclopedia covering BLE chips, GATT profiles, Bluetooth versions, beacon protocols, manufacturers, and IoT use cases. Bluetooth Low Energy (BLE), introduced as part of the Bluetooth 4.0 Core Specification in 2010, is a wireless personal area network technology designed for short-range, low-power communication -- the foundation of wearable fitness trackers, medical devices, asset tracking, smart home automation, and industrial IoT worldwide.

BLE Chips and System-on-Chip (SoC)

BLE chips are the silicon at the heart of every Bluetooth Low Energy device. Each SoC integrates a radio transceiver, ARM Cortex-M processor, RAM, flash memory, and peripheral interfaces into a single package. Key selection criteria include Bluetooth version support, TX power range (dBm), receiver sensitivity, RAM/flash capacity, GPIO count, and multi-protocol support (BLE, Zigbee, Thread, Matter).

Manufacturer Key Chips Bluetooth Core Notable Feature
Nordic Semiconductor nRF52840, nRF52832, nRF5340 5.0-5.3 Cortex-M4F / M33+M16 Best-in-class SDK (nRF Connect), Zephyr RTOS
Espressif ESP32-C3, ESP32-C6, ESP32-H2 5.0-5.3 RISC-V Wi-Fi + BLE combo, open-source IDF
Texas Instruments CC2640R2F, CC2652R 5.0-5.1 Cortex-M4F Ultra-low power, medical-grade (IEC 60601)
Dialog Semiconductor DA14695, DA14531 5.1-5.2 Cortex-M33 / M0+ Smallest BLE SoC (DA14531: 2.0x1.7mm)
Silicon Labs EFR32BG22, EFR32BG24 5.2-5.3 Cortex-M33 Direction Finding (AoA/AoD), Bluetooth Mesh
Qualcomm QCC5144, QCC3056 5.2-5.3 Cortex-M4F LE Audio, LC3 codec, active noise cancellation
STMicroelectronics STM32WB55, BlueNRG-2 5.0-5.3 Cortex-M4+M0 STM32 ecosystem integration, dual-core

Nordic nRF52840 is the most widely used BLE 5.0 SoC, powering devices from Fitbit trackers to industrial sensors. It features a 64 MHz Cortex-M4F with FPU, 1 MB flash, 256 KB RAM, USB 2.0, NFC-A tag emulation, and support for BLE, Zigbee, Thread, and ANT protocols on a single chip.

Learn more: Chip Explorer | Glossary

GATT Profiles and Services

The Generic Attribute Profile (GATT) defines how BLE devices expose structured data through a hierarchy of services, characteristics, and descriptors. The Bluetooth SIG maintains adopted profiles that ensure interoperability across manufacturers.

Profile Category Examples UUID Range
Health & Fitness Heart Rate (0x180D), Blood Pressure (0x1810), Glucose (0x1808) 0x180D-0x181F
HID & Input Human Interface Device (0x1812), Scan Parameters (0x1813) 0x1812-0x1813
Proximity & Location Immediate Alert (0x1802), Link Loss (0x1803), Indoor Positioning (0x1821) 0x1802-0x1821
Device Information Device Information (0x180A), Battery Service (0x180F) 0x180A-0x180F
Automation Automation IO (0x1815), Environmental Sensing (0x181A) 0x1815-0x181A
Audio (LE Audio) Common Audio, Media Control, Telephony and Media Audio Bluetooth 5.2+

GATT hierarchy: A GATT server exposes Services (collections of related data), each containing Characteristics (individual data values with read/write/notify properties), which may have Descriptors (metadata like format, range, or presentation). A heart rate monitor's Heart Rate Service (0x180D) contains a Heart Rate Measurement characteristic (0x2A37) that sends notifications at each heartbeat.

Learn more: Profile Reference | Use Cases

Bluetooth Versions (4.0-5.4)

Each Bluetooth version introduces significant protocol enhancements. Understanding version differences is critical for chip selection and firmware development:

Version Year Key Features Impact
4.0 2010 BLE introduction, GATT/ATT, 1 Mbps PHY Created the IoT ecosystem
4.1 2013 Dual-mode topology, L2CAP CoC, LTE coexistence Hub/spoke + mesh topologies
4.2 2014 LE Data Length Extension (251B), LE Secure Connections, IPv6 2.5x throughput, stronger encryption
5.0 2016 2 Mbps LE 2M PHY, LE Coded PHY (long range), 8x advertising Double speed or 4x range
5.1 2019 Direction Finding (AoA/AoD), GATT Caching Sub-meter indoor positioning
5.2 2020 LE Audio (LC3 codec), Isochronous Channels, EATT Hearing aids, Auracast broadcast
5.3 2021 Connection Subrating, Channel Classification Enhancement Dynamic power optimization
5.4 2023 PAwR (Periodic Advertising with Responses), Encrypted Advertising Electronic shelf labels

LE Coded PHY (Bluetooth 5.0): Trades data rate (125 kbps or 500 kbps) for dramatically increased range through Forward Error Correction (FEC). In open-air tests, LE Coded PHY achieves reliable communication at 1 km+ versus ~100 m for LE 1M PHY -- enabling agricultural sensors, campus-wide asset tracking, and rural IoT deployments.

Learn more: Version History | Glossary

Beacon Protocols

Beacons are BLE devices that broadcast advertising packets at regular intervals for proximity detection, indoor positioning, and context-aware applications:

Protocol Creator Advertising Format Identifier Range
iBeacon Apple Manufacturer-specific (0x004C) UUID + Major + Minor ~70m
Eddystone Google 4 frame types (UID, URL, TLM, EID) 10B namespace + 6B instance ~70m
AltBeacon Radius Networks Open specification 20-byte beacon ID ~70m

iBeacon dominates retail proximity marketing with a simple UUID/Major/Minor addressing scheme. A single UUID identifies the organization, Major identifies the store location, and Minor identifies the specific shelf or zone. iOS apps receive beacon region entry/exit events even when backgrounded.

BLE vs Bluetooth Classic

Feature Bluetooth Low Energy Bluetooth Classic
Power Consumption ~0.01-0.5W (coin cell for years) ~1W (regular charging)
Data Rate 1-2 Mbps (LE 1M/2M PHY) 1-3 Mbps (EDR)
Range 100m+ (Coded PHY: 1km+) ~100m
Latency ~3ms connection ~100ms connection
Topology Point-to-point, broadcast, mesh Point-to-point, piconet (7 active)
Audio LE Audio (LC3, Auracast broadcast) A2DP (SBC, AAC, aptX)
Use Cases Sensors, wearables, beacons, IoT Audio streaming, file transfer

Advertising Modes

BLE devices communicate their presence through advertising packets on three dedicated channels (37, 38, 39 at 2402, 2426, 2480 MHz):

Mode Connectable Scannable Use Case
ADV_IND Yes Yes Default -- discoverable and connectable
ADV_DIRECT_IND Yes (directed) No Fast reconnection to known central
ADV_NONCONN_IND No No Beacons, broadcast-only
ADV_SCAN_IND No Yes Additional data via scan response
Extended (BT 5.0+) Configurable Configurable 255 bytes/PDU, secondary channels

BLE Mesh Networking

Bluetooth Mesh (adopted 2017) enables many-to-many device communication using a managed flood relay architecture. Nodes publish/subscribe to addresses, relay nodes forward messages across the network, and proxy nodes bridge BLE Mesh to standard GATT clients. Key applications include commercial lighting control (up to 32,000 nodes), building automation, and industrial sensor networks.

Mesh Feature Specification
Max Nodes 32,767 per network
Topology Managed flood relay
Security Network key + Application key + Device key (AES-CCM)
Provisioning PB-ADV (advertising) or PB-GATT (connection)
Models Generic OnOff, Level, Lighting, Sensor

Learn more: Beacon Protocols | Use Cases

API Endpoints

Free, no authentication required. JSON responses with CORS enabled.

Method Endpoint Description
GET /api/chip/{slug}/ BLE chip detail with specs
GET /api/profile/{slug}/ GATT profile with characteristics
GET /api/version/{slug}/ Bluetooth version detail
GET /api/beacon/{slug}/ Beacon protocol detail
GET /api/usecase/{slug}/ Use case with related chips
GET /api/manufacturer/{slug}/ Manufacturer with chip lineup
GET /api/term/{slug}/ Glossary term definition
GET /api/search/?q={query} Search across all content types
GET /api/compare/?a={slug}&b={slug} Compare two chips
GET /api/random/ Random chip discovery
GET /api/openapi.json OpenAPI 3.1.0 specification

Example

# Search for Nordic BLE chips
curl -s "https://blefyi.com/api/search/?q=nordic" | python -m json.tool

Full API documentation at blefyi.com/api/. OpenAPI 3.1.0 spec: blefyi.com/api/openapi.json.

Command-Line Interface

blefyi search "nrf52"                 # Search all content
blefyi chip nrf52840                  # Chip detail
blefyi compare nrf52840 esp32-c3      # Side-by-side comparison
blefyi random                         # Discover a random chip

MCP Server (Claude, Cursor, Windsurf)

{
    "mcpServers": {
        "blefyi": {
            "command": "uvx",
            "args": ["--from", "blefyi[mcp]", "python", "-m", "blefyi.mcp_server"]
        }
    }
}

Tools: ble_search, ble_lookup, ble_compare

REST API Client

from blefyi.api import BLEFYI

with BLEFYI() as api:
    api.search("nordic")                       # Full-text search
    api.chip("nrf52840")                       # Chip detail
    api.profile("heart-rate")                  # GATT profile
    api.version("5-0")                         # Bluetooth version
    api.beacon("ibeacon")                      # Beacon protocol
    api.usecase("asset-tracking")              # Use case
    api.manufacturer("nordic-semiconductor")   # Manufacturer
    api.glossary_term("gatt")                  # Glossary term
    api.compare("nrf52840", "esp32-c3")        # Compare two chips
    api.random()                               # Random discovery
    api.openapi()                              # OpenAPI 3.1.0 spec

Learn More About BLE

Also Available

Platform Install Link
npm npm install blefyi npm
Go go get github.com/fyipedia/blefyi-go pkg.go.dev
Rust cargo add blefyi crates.io
Ruby gem install blefyi rubygems.org
MCP uvx --from "blefyi[mcp]" python -m blefyi.mcp_server Config

Tag FYI Family

Part of the FYIPedia open-source developer tools ecosystem -- automatic identification and data capture technologies.

Site Domain Focus
BarcodeFYI barcodefyi.com 518 records -- barcode symbologies, standards, GS1 prefixes
QRCodeFYI qrcodefyi.com 425 records -- QR code types, versions, encoding modes
NFCFYI nfcfyi.com 288 records -- NFC chips, NDEF records, standards
BLEFYI blefyi.com 261 records -- BLE chips, GATT profiles, beacons
RFIDFYI rfidfyi.com 318 records -- RFID tags, frequency bands, EPC schemes
SmartCardFYI smartcardfyi.com 280 records -- smart cards, EMV, Java Card, platforms

FYIPedia Developer Tools

Package PyPI npm Description
barcodefyi PyPI npm Barcode symbologies, standards -- barcodefyi.com
qrcodefyi PyPI npm QR code types, versions, encoding -- qrcodefyi.com
nfcfyi PyPI npm NFC chips, NDEF, standards -- nfcfyi.com
blefyi PyPI npm BLE profiles, beacons, chips -- blefyi.com
rfidfyi PyPI npm RFID tags, readers, frequencies -- rfidfyi.com
smartcardfyi PyPI npm Smart cards, EMV, platforms -- smartcardfyi.com

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blefyi-0.1.1.tar.gz (670.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blefyi-0.1.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file blefyi-0.1.1.tar.gz.

File metadata

  • Download URL: blefyi-0.1.1.tar.gz
  • Upload date:
  • Size: 670.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for blefyi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 296f23185baf2781819d27b268676c35da83869b3a927e07483c81c054f2478a
MD5 a2e9c6283d5cd9d3905180348ca0f55a
BLAKE2b-256 a2bf7ad699a21278d82046feef562d9351bfc399ddf7cde655139fa95c0cf3f4

See more details on using hashes here.

File details

Details for the file blefyi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: blefyi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for blefyi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 336aaa00d3ac21d21f27e7e60c9edd6ee9a063ccb0490ce189131f6f46a35ccf
MD5 1b592c8b182671a19cc53291a3978eb2
BLAKE2b-256 58dc3c95c1ab83d8eb1be814cba2f83579bf707de74590c7ea09e62a0205a92b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page