mini-hsm
Open-source USB-HID hardware security module on RP2040 + ATECC608B.
This site is the generated rustdoc for the mini-hsm workspace, including private items so that internal helpers and pub(crate) APIs are visible. Third-party dependencies are not included; refer to docs.rs for those.
The workspace compiles to two distinct targets, so the documentation is split into two trees.
Documentation trees
Host crates
x86_64-unknown-linux-gnu
Everything that runs on a developer's machine and on the firmware-shared no_std crates.
- atecc608b : no_std driver
- hsm_crypto_service : business logic
- hsm_usb_protocol : HID wire format
- hsm_firmware_logic : host-testable firmware parts
- hsm_host : CLI client
- config_generator : ATECC config blob builder
Firmware
thumbv6m-none-eabi
The RP2040 binary. Cross-compiled because it depends on embassy-rp and cortex-m.
- hsm_firmware : main binary, tasks, HAL impl
Items annotated
pub(crate) or kept module-private
are visible here because the doc was built with
--document-private-items. Anything not marked
pub is internal and may change without notice.
Project links
- Source repository on GitHub
- Design documents (architecture, bring-up procedure, USB-HID protocol, ATECC config zone layout, CheckMac validation)
- README