whatisgithub

What is stm32wb-hci?

dirbaio/stm32wb-hci — explained in plain English

Analysis updated 2026-08-07 · repo last pushed 2023-12-21

Audience · developerComplexity · 3/5DormantSetup · moderate

In one sentence

A Rust library that lets STM32WB microcontrollers talk to their Bluetooth radio hardware, so developers can add wireless connectivity to small embedded devices without implementing the full Bluetooth protocol themselves.

Mindmap

mindmap
  root((repo))
    What it does
      Bluetooth HCI protocol
      Sends commands to radio
      Receives events from radio
    Tech stack
      Rust
      STM32WB
      Bluetooth 4.1 4.2 5.0
    Use cases
      Smart sensors
      Wearables
      IoT gadgets
    Audience
      Embedded engineers
      Rust hobbyists
    Limitations
      Partial implementation
      BlueNRG chip scope
      Fork of earlier library

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a Bluetooth-enabled smart sensor using an STM32WB chip programmed in Rust.

USE CASE 2

Create a low-power wearable device that communicates over BLE.

USE CASE 3

Develop a custom smart-home gadget with wireless connectivity on STM32WB hardware.

USE CASE 4

Add Bluetooth support to an existing Rust embedded project targeting STM32WB microcontrollers.

What is it built with?

RustSTM32WBBluetooth HCIBLE

How does it compare?

dirbaio/stm32wb-hci000madz000/rfid-attendance00kaku/gallery-slider-block
LanguageTypeScriptJavaScript
Last pushed2023-12-212024-07-222021-05-19
MaintenanceDormantDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Rust embedded toolchain and STM32WB hardware to implement the low-level read and write transport functions.

No license information is provided in the project documentation, so usage rights are unclear.

So what is it?

This project provides a way for embedded devices built with STM32WB microcontrollers to communicate over Bluetooth. Specifically, it handles the "Host-Controller Interface", the protocol that lets a microcontroller's software talk to its Bluetooth radio hardware. It's written in Rust and is designed for developers building small, low-power devices that need wireless connectivity, like smart sensors, wearables, or IoT gadgets. At its core, the library defines a set of standard Bluetooth commands and events based on the official Bluetooth specification. It supports Bluetooth versions 4.1, 4.2, and 5.0, with 4.1 being the default. The way it works is that a developer implements two basic functions for their specific hardware: one to write data to the Bluetooth chip and one to read data from it. Once those low-level input and output functions are in place, this library handles the rest of the Bluetooth communication logic on top of them. The target audience is embedded hardware engineers and hobbyists programming STM32WB chips in Rust. For example, if you're building a custom BLE-enabled thermometer or a small smart-home device and you want to write the firmware in Rust, this library gives you the building blocks to send and receive Bluetooth commands without having to implement the entire Bluetooth protocol from scratch. One notable aspect is that the implementation is currently partial. The README notes that it only covers the commands and events used by the BlueNRG Bluetooth chip as of September 2018, and it's unclear whether certain data packet types are fully supported yet. This means it may not cover every Bluetooth use case, but it provides a foundation that aligns with the official specification and can be extended over time. The project is also a fork of an earlier Rust Bluetooth library, adapted specifically for the STM32WB family.

Copy-paste prompts

Prompt 1
I'm building a BLE-enabled thermometer with an STM32WB microcontroller in Rust. Using the stm32wb-hci crate, show me how to implement the read and write transport functions and send a basic Bluetooth command to initialize the radio.
Prompt 2
Help me set up an stm32wb-hci project in Rust where I define the hardware read and write callbacks for my STM32WB board and then listen for Bluetooth connection events.
Prompt 3
Using stm32wb-hci in Rust, write code that implements the Transport trait for my custom STM32WB hardware so I can start sending HCI commands to the Bluetooth radio.
Prompt 4
I want to extend stm32wb-hci to support a Bluetooth command not yet covered by the BlueNRG implementation. Show me how to add a new HCI command struct based on the Bluetooth specification.

Frequently asked questions

What is stm32wb-hci?

A Rust library that lets STM32WB microcontrollers talk to their Bluetooth radio hardware, so developers can add wireless connectivity to small embedded devices without implementing the full Bluetooth protocol themselves.

Is stm32wb-hci actively maintained?

Dormant — no commits in 2+ years (last push 2023-12-21).

What license does stm32wb-hci use?

No license information is provided in the project documentation, so usage rights are unclear.

How hard is stm32wb-hci to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is stm32wb-hci for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.