https://github.com/suhteevah/bluetooth-nostd
no_std Bluetooth HCI/L2CAP/GATT/HID driver in Rust
https://github.com/suhteevah/bluetooth-nostd
bare-metal ble bluetooth driver embedded hci no-std operating-system osdev rust
Last synced: 9 days ago
JSON representation
no_std Bluetooth HCI/L2CAP/GATT/HID driver in Rust
- Host: GitHub
- URL: https://github.com/suhteevah/bluetooth-nostd
- Owner: suhteevah
- License: apache-2.0
- Created: 2026-04-03T13:28:33.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-06-13T08:01:54.000Z (10 days ago)
- Last Synced: 2026-06-13T10:06:32.411Z (10 days ago)
- Topics: bare-metal, ble, bluetooth, driver, embedded, hci, no-std, operating-system, osdev, rust
- Language: Rust
- Size: 53.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# bluetooth-nostd
`no_std` Bluetooth HCI/L2CAP/GATT/HID driver in Rust for bare-metal systems.
## Features
- **HCI**: Command/event packet building and parsing, BLE and Classic opcodes
- **L2CAP**: Connection-oriented channels, signaling, LE credit-based flow control
- **GATT**: Client with service/characteristic discovery, read/write, notifications
- **GAP**: Device discovery (inquiry + LE scan), connection management
- **HID**: Boot protocol keyboard/mouse report parsing, key event tracking
- **USB Transport**: Trait-based HCI-over-USB abstraction
## Architecture
```text
BluetoothController (driver.rs) -- top-level API
|
GAP (gap.rs) | GATT (gatt.rs) -- discovery, services
|
HID Profile (hid.rs) -- keyboard/mouse
|
L2CAP (l2cap.rs) -- channels, flow control
|
HCI (hci.rs) -- commands, events, data
|
USB Transport (usb_transport.rs) -- bulk/interrupt endpoints
```
## License
Licensed under either of Apache License 2.0 or MIT License at your option.