Krux v24.03.0: Performance Optimizations, Reproducible Builds & More

Krux is open-source firmware that enables anyone to build their own Bitcoin signing device via off-the-shelf parts. It runs on Kendryte K210 devices such as the M5StickV and Maix Amigo, converting them into airgapped devices that can sign transactions for multisignature and single-signature wallets.

Krux v24.03.0: Performance Optimizations, Reproducible Builds & More
  • "This release focuses on internal optimizations to enhance the firmware's performance, making it lighter, faster, and more reliable. These improvements not only result in a better user experience but also lay the groundwork for seamlessly integrating future features."
  • DISCLAIMER: This software has not yet been audited by a third party. Use at your own risk!

What's new

  • Wipe Device. "Option on tools to wipe the device, permanently removing settings and stored encrypted mnemonics by erasing every single bit of user's flash space."
  • Better Deletion of Mnemonics Stored on SD card. "When deleting an encrypted mnemonic from an SD card, Krux will now overwrite the memory area making it impossible to recover the previously stored data."
  • Save and Load Wallet Output Descriptor from SD card. "Create or load from a wallet output descriptor file on an SD card. The backup file format is compatible with most coordinators."
  • Sign Messages at a Derived Bitcoin address. "Sign messages from Sparrow and Specter, via QR code, also attesting a Bitcoin address belongs to you."
  • Reproducible Builds. "To enhance the reproducibility of firmware builds, random variables such as file write timestamps have been removed from the build process. As a result, builds from developers' computers, those built within GitHub Actions from published code, and those you compile locally are more likely to be identical and have the same hash checksum as the official and beta releases. This change ensures greater consistency and traceability across all builds."
  • Add Entropy Quality Estimation for Mnemonic Creation. "Entropy quality estimators, like Shannon's entropy, were added to mnemonic generation through dice rolls and camera snapshot."
  • IRQ Interfaces. "Button and touch presses are now detected by the application through IO interrupts. Meaning inputs events will be registered and handled even if they happened when other tasks were being executed by the processor, resulting in a better UX."
  • Restore Default Settings. "Option to restore the device's settings to its factory state."
  • Optimized Settings Storage. "Device's storage is now used more efficiently, data is stored less frequently, only in case a setting is changed from defaults."
  • Amigo's Power Manager Enhancements. "The power management behavior for the Amigo device has been standardized. Previously, some devices would not wake up from shutdown or sleep mode. Now, these devices will fully shut down when the shutdown option is selected from the menu, and they will always power on when the power button is pressed for 1 second."
  • GUI Enhancements. "Icons, information text boxes, and rounded shapes are now present at the GUI."
  • Mnemonic Numbers. "To match the input options, export mnemonics as decimal, hexadecimal, or octal numbers. When loading from numbers, a new numbers confirmation screen was added."
  • Optimized QR codes. "QR codes rendering is faster and uses less RAM."
  • Export QR Codes as Images to SD Card. "Some QR codes can be exported as images to SD card."
  • Screensaver. "Optional screensaver to reduce pixels' burn-in and grab the attention of the user when the device is left powered on."
  • Addresses Exploring. "More receive and change addresses per page are shown on bigger screens."
  • Update Embit to version 0.7. "Use the latest Embit release."
  • Maix Dock Simulator. "Now Krux PC simulator can also run in Maix Dock mode, mimicking appearance and characteristics of the most DIY Krux device."
  • Join Amigo IPS and Amigo TFT firmwares. "Users will be able to flash a single firmware and change display settings if their device was shipped with a display different from standard TFT."
  • Other Small Fixes and Code Optimizations. "Many other small fixes and optimizations under the hood."

GitHub Repo