Skip to content

The firmware of the Butterfly OSKey ELF, Free from vendor lock-in, supporting hundreds of chips from multiple manufacturers. The minimum supported chip costs only $0.3.

License

Notifications You must be signed in to change notification settings

butterfly-communtiy/oskey-elf-firmware

Repository files navigation

中文点这里

What is OSKey?

OSKey (Open Source Key) is a fully open-source, non-commercial hardware wallet project. Our first mission is to help you create your own trustless hardware wallet and finally, it will be the key to verifying your identity in the digital world.

Unlike commercial hardware products, where open-source is used to drive sales of their commercial products, our focus is on building open-source infrastructure and creating a trustless open-source software and hardware system.

We don't restrict users to specific chip manufacturers or models. Users have the freedom to choose from over 200 chips from more than 10 manufacturers, and can work with over 3000 development boards made by chip manufacturers or third parties. For example, popular open hardware platforms like Arduino or Raspberry Pi.

Users can also create their own development boards based on our reference designs, which we will soon release.

The Open Hardware Wallet supports multiple hardware architectures and is optimized for resource-constrained devices with security built-in. The cheapest supported MCU costs only $0.3, with optional support for Bluetooth, WiFi, and display capabilities.

What can this product do?

We are building core infrastructure connecting digital world with real world. Not just a hardware wallet.

Guide

Firmware Flashing Guide

Quick Start Guide

Feature:

✅ Mnemonic Generation and Import on chip.

BIP39 All unit tests completed successfully.

✅ HD (Hierarchical Deterministic) Wallet and Path Derivation on chip.

BIP32 All unit tests completed successfully.

✅ secp256k1.

pubkey, signature and unit tests.

Demo Video:

Open Hardware Wallet - Task 3

How to Use the Firmware

Pre-compiled Firmware

We provide pre-compiled firmware for development boards we own. Please check the Releases section on the right or see below for our available development boards.

Self-compiled Firmware

If your development board is not included in pre-compiled firmware, please check the following links to set up the development environment and compile firmware for your board.

Getting Started

https://docs.zephyrproject.org/latest/develop/getting_started/index.html

esp32c3_devkitm is our recommended development board. For other boards, please check the Supported Boards.

If you have completed the steps in the link above, try compiling the example with this command.

west build -p always -b esp32c3_devkitm samples/hello_world

This project also requires additional Rust configuration. please refer here.

https://www.rust-lang.org/tools/install

zephyrproject-rtos/zephyr-lang-rust#11 (reply in thread)

Also refer to Dockerfile

Compile OSKey

  1. Clone source code

    git clone --recursive https://github.com/butterfly-communtiy/oskey-elf-firmware.git
  2. Set environment variables

    Please refer to here for the Windows environment.

    # Mac or Linux environment
    source ~/zephyrproject/zephyr/zephyr-env.sh
  3. Compile OSKey source code

    west build -p always -b esp32c3_devkitm
  4. Flash

    west flash

Development Boards

We carefully selected 5 development boards representing 3 different architectures from 5 different chip manufacturers as our officially supported boards. This demonstrates our vendor-independent capability. Our developers actively develop and test on these boards.

We also provide direct support for over 300 development boards without any modifications needed. For a complete list, please check our Supported Boards documentation.

Due to the wide variety of development board models available, only the chip price is listed here. Please select your preferred development board.

If you have a recommended development board, here's a quick guide to get started.


Name ESP32 C3 (Recommended)🔥🔥 Raspberry Pi Pico 🔥 Nucleo F401RE nRF52840-MDK NXP FRDM-K64F
Image esp32-c3-devkitm rpi-pico stm32f401 nrf52840-mdk frdm_k64f
Manufacturer Espressif Raspberry Pi STMicroelectronics Nordic Semiconductor NXP
Chip ESP32C3FH4 RP2040 STM32F401RET6 nRF52840 MK64FN1M0VLL12
Architecture RISC-V Arm Cortex-M0 ARM Cortex-M4 ARM Cortex-M4 ARM Cortex-M4
RAM 400 KB 264 KB 96 KB 256 KB 256 KB
ROM 384 KB + 4 M 16 KB + 2 M 512 KB 1 M 1 M
MCU Price $0.5 $0.8 $2 $3 $20

By default, the chip on the development board is not security-locked and has no security features enabled.

Each chip model has its own specific locking protocol that varies by manufacturer. Please refer to your chip's technical documentation.

We cannot assist with chip locking at this time. Please note that this matter requires special attention.

About

The firmware of the Butterfly OSKey ELF, Free from vendor lock-in, supporting hundreds of chips from multiple manufacturers. The minimum supported chip costs only $0.3.

Resources

License

Stars

Watchers

Forks

Packages

No packages published