LNBits released a DIY FOSS Nostr signing device created using ubitcoin, for use with Horse. Hardware is also available directly on LNBits store.
This very cheap off the shelf nostr signing device is designed to work with Lilygos Tdisplay, but you can easily make work with any ESP32.
Data is sent to/from the Signing Device over webdev Serial, not the most secure data transmission method, but x1000 better than storing the private key on a computer. Clients could support sending to the device directly, but using is Nos2X is far more convenient.
Flash here https://lnbits.github.io/nostr-signing-device.
For use with https://github.com/fiatjaf/horse.
Web-installer is configured for the ESP32 based TTGO T-display, although other ESP32 boards could be used if compiling from source.
Installation and configuring
Use a compatible browser such as Chrome or Edge. Connect the Tdsiplay, click Flash, select Erase.
Once flashed, to enable USB config mode press buttonn on startup.
Connect to device, select `nostrDevice` template, add privatekey, `Save to device`.
Flash the hardware-wallet firmware directly from the browser using the installer
Buy a Lilygo Tdisplay (although with a little tinkering any ESP32 will do)Install Arduino IDE 1.8.19Install ESP32 boards, using boards managerDownload this repoCopy these libraries into your Arduino install “libraries” folderOpen this wallet.ino file in the Arduino IDESelect “TTGO-LoRa32-OLED-V1” from tools>boardUpload to device
How to use
// Guide to go here
Note: If using MacOS, you will need the CP210x USB to UART Bridge VCP Drivers available here https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers If you are using MacOS Big Sur or an Mac with M1 chip, you might encounter the issue A fatal error occurred: Failed to write to target RAM (result was 0107), this is related to the chipsest used by TTGO, you can find the correct driver and more info in this GitHub issue