I saw you are cooking and preparing something for a while but I forgot to post updates in this topic.
Yes, I was waiting for the code to become more stable before I posted an update here. Unfortunately that took longer than I originally anticipated. Anyway, I appreciate everything you've done in here already.
One of the changes I made in response to a comment here was adding support for airgapped firmware updates via microSD. Although Krux doesn't store keys, I still didn't like that any firmware upgrade would require plugging the device in to flash the latest code. So, now, after you've initially flashed the firmware, any subsequent upgrades can be done by placing the new firmware and a corresponding signature file on a microSD card and plugging that into the device. On boot, Krux will verify the signature and prompt you to install the upgrade.
I've also been working on some more fun features to come, including support for "printing" your QR codes by streaming gcode to a CNC machine so you can mill them out of wood or metal.
This looks much better and cleaner in github and I will finally have to power up my M5Stick device that is collecting dust and waiting for better times.
Instructions on website will help a lot in this process, and I will try to report in forum how everything tuned out in my case.
Sounds good, hope you like it!
Interesting thing that I found out is that Krux will be able to work with Sipeed Maix Amigo devices soon, and they are based on RISC-V chips!
Yes, odudex on Github has been doing great work to port Krux over to the Maix Amigo and Maix Bit devices. See here for recent progress:
https://github.com/selfcustody/krux/discussions/108I think this would be first a RISC-V based bitcoin signing device... but can you say more about this?
The short version: Krux will run on any device that has a Kendryte K210 SoC. The K210 does indeed have 2 RISC-V cores. Here's some more info on it:
https://github.com/kendryte/kendryte-doc-datasheet/blob/master/en/001.mdThe longer version:
Krux is primarily written in Python and is a [Micro]python project. However, it uses a wrapper around Micropython, called MaixPy (that I had to fork to add some more features for Krux to utilize), which was created by Sipeed to add support for the K210 and add additional, non-standard features to Micropython including OpenMV support, with drivers for interfacing with various camera sensors found in their devices.
So, for now, Krux can only run on K210 devices*. However, I hope for it to support other Micropython platforms in the future.
*or simulated ones. I did add a simulator recently so that Krux can be run on Linux and Mac, but I obviously don't recommend using it for real:
https://github.com/selfcustody/krux/tree/main/simulator