# Documentation - [Changelog](/changelog): All notable changes to the SimpleBLE project. - [Extras](/extras): Additional information and resources for SimpleBLE. - [Installation](/installation): Pick the right SimpleBLE package or source build path for your language and platform. - [Licensing](/licensing): Information about the Business Source License 1.1 (BUSL-1.1) and commercial use. - [SimpleBLE](/overview): Build Bluetooth once. Ship it everywhere. - [Quickstart](/quickstart): Get to a first successful BLE scan with SimpleBLE in your language. - [Bluetooth LE Basics](/fundamentals/ble_basics): A brief introduction to Bluetooth Low Energy concepts. - [CMake Primer](/fundamentals/cmake_primer): A quick primer on CMake for SimpleBLE. - [Concurrency within SimpleBLE](/fundamentals/concurrency): The threading and callback contract for SimpleBLE's synchronous API, including which threads run your callbacks and every timeout in the library. - [Error Handling](/fundamentals/error-handling): SimpleBLE's exception taxonomy, which errors are recoverable, timeout semantics, and what happens to in-flight operations on disconnect. - [Fundamentals](/fundamentals): Core concepts and foundational knowledge for using SimpleBLE. - [Bluetooth Permissions](/fundamentals/permissions): Understanding platform-specific permissions for Bluetooth. - [Migrating from Bleak](/migration/from-bleak): A side-by-side mapping between bleak's asyncio API and SimplePyBLE's synchronous API for Python developers. - [Migrating from noble (Node.js)](/migration/from-noble): Where to go after noble — mapping noble's event-driven Node API to SimpleBLE's C++, C, and Python bindings. - [Connect](/recipes/connect): Connect to a BLE peripheral and inspect its services, characteristics, and descriptors. - [Heart Rate Monitor](/recipes/heart-rate-monitor): An end-to-end walkthrough — scan for a heart rate monitor, subscribe to measurements, and parse them per the Bluetooth specification. - [Read, Write, Notify](/recipes/read-write-notify): Perform GATT operations after connecting to a BLE peripheral. - [Reconnect Loop](/recipes/reconnect-loop): A production-grade pattern for surviving BLE disconnections, with backoff and notification re-subscription. - [Scan](/recipes/scan): Discover nearby BLE peripherals and collect scan results across SimpleBLE bindings. - [HTTP Server](/simpleaible/http): Comprehensive documentation for the SimpleAIBLE HTTP server API. - [MCP Server](/simpleaible/mcp): Run and use the SimpleAIBLE MCP server. - [Agent Skills](/simpleaible/skills): Extend your AI agent's capabilities with SimpleAIBLE skills. - [Tutorial: Drive a BLE Device from an AI Agent](/simpleaible/tutorial): Set up the SimpleAIBLE MCP server and walk an AI agent through scanning, connecting, and streaming data from a real BLE device. - [API Reference](/simpleble/api): Architecture overview and API documentation for SimpleBLE. - [Examples](/simpleble/examples): Code examples for SimpleBLE. - [FAQ](/simpleble/faq): Frequently asked questions about SimpleBLE. - [Platform Notes](/simpleble/platform_notes): Specific behaviors and limitations for each supported operating system. - [Getting Started](/simpleble/tutorial): Build your first SimpleBLE app by scanning, connecting, and reading a characteristic. - [Usage](/simpleble/usage): Build and run SimpleBLE in your specific environment. - [Examples](/simplebluez/examples): Code examples for SimpleBluez. - [Usage](/simplebluez/usage): Build and run SimpleBluez in your specific environment. - [API Reference](/simplecble/api): Reference for the SimpleCBLE C API. - [Examples](/simplecble/examples): Example code for SimpleCBLE. - [FAQ](/simplecble/faq): Frequently asked questions about SimpleCBLE. - [Platform Notes](/simplecble/platform_notes): Platform-specific behaviors and limitations. - [Tutorial](/simplecble/tutorial): Step-by-step guide to using SimpleCBLE. - [Usage](/simplecble/usage): Build and include SimpleCBLE in your C project. - [Architecture](/simpledbus/architecture): Architecture overview of SimpleDBus library. - [Examples](/simpledbus/examples): Code examples for SimpleDBus. - [Usage](/simpledbus/usage): Build and run SimpleDBus in your specific environment. - [Examples](/simpledroidble/examples): Example Android app for SimpleDroidBLE. - [Usage](/simpledroidble/usage): Build and use SimpleDroidBLE in Android/Kotlin applications. - [Examples](/simplejavable/examples): Code examples for SimpleJavaBLE. - [Usage](/simplejavable/usage): Build and use the SimpleJavaBLE Java binding. - [Examples](/simplepyble/examples): Code examples for SimplePyBLE. - [Usage](/simplepyble/usage): Build and run SimplePyBLE in your specific environment. - [Examples](/simplersble/examples): Code examples for SimpleRsBLE. - [Usage](/simplersble/usage): Install and use the SimpleRsBLE Rust binding. - [Installation](/simpleunrealble/installation): Install and enable the SimpleBLE Unreal Engine plugin. - [Platform Notes](/simpleunrealble/platform_notes): Platform setup and troubleshooting notes for SimpleBLE for Unreal. - [Quickstart](/simpleunrealble/quickstart): Scan, connect, read, write, and subscribe with SimpleBLE for Unreal. - [Usage](/simpleunrealble/usage): Use SimpleBLE from Unreal Engine Blueprints and C++.