This commit is contained in:
Laan Tungir
2026-05-02 12:31:26 -04:00
commit 268b33b6d3
37 changed files with 7947 additions and 0 deletions

22
firmware/README.md Normal file
View File

@@ -0,0 +1,22 @@
# Firmware Scaffolding
This directory is the placeholder for the future microcontroller variant of `nsigner`.
## Current direction
Initial MCU work should reuse platform abstractions that already exist in [`nostr_core_lib`](../nostr_core_lib/README.md), especially the ESP32 platform files under [`nostr_core_lib/platform/esp32/`](../nostr_core_lib/platform/esp32):
- [`nostr_platform_esp32.c`](../nostr_core_lib/platform/esp32/nostr_platform_esp32.c)
- [`nostr_http_esp32.c`](../nostr_core_lib/platform/esp32/nostr_http_esp32.c)
- [`nostr_websocket_esp32.c`](../nostr_core_lib/platform/esp32/nostr_websocket_esp32.c)
## Intended purpose
This firmware target is for a USB signer and constrained-device signer profile, with `nsigner` protocol compatibility and transport adaptation (USB-CDC first, then other embedded transport options as needed).
## Next milestones
1. Add MCU-specific build system (ESP-IDF/CMake or equivalent).
2. Add a minimal signer main loop with version reporting compatible with desktop `nsigner` semantics.
3. Implement transport bridge framing compatible with host-side `nsigner-bridge` plans.
4. Add hardware confirmation UX hooks (button + tiny display flow).