OpenViSTAI · Agents · Blockchain · Crypto
Menu
Wallets

Firmware

Firmware is the public Python source repository for Coldcard Bitcoin hardware-wallet firmware, with a desktop simulator, device build code, tests and reproducible-build instructions.

Independent OpenViST project profile, based on linked sources.

Firmware — OpenViST project profile in Wallets.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use the repository when you need source-level access to Coldcard firmware, a documented simulator setup, a device build workflow, or the project’s reproducible-build and security-advisory information.

Who it is for

  • Developers working on or inspecting Coldcard firmware and simulator code
  • Coldcard users who want to compare a source build with a device firmware binary
  • Technically experienced users reviewing the repository's firmware security advisory

Documented uses

  • Run a desktop simulator for Coldcard wallet behavior
  • Build firmware intended for Coldcard hardware
  • Compare a firmware binary with a reproducible build from a selected source version
  • Inspect device-family code organization and firmware security guidance
Before you choose

Requirements & limits

The source repository is public. The README links separately to firmware binaries on the Coldcard downloads page.

  • The repository includes both a desktop simulator and embedded firmware build code; these are separate targets.
  • Simulator setup instructions are platform-specific and list substantial development dependencies.
  • The README says Makefiles do not handle paths containing spaces.
  • The repository advisory identifies affected firmware versions and remediation guidance; users should consult it directly when assessing generated secrets.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Set up the Coldcard desktop simulator on Ubuntu

Prepare the documented Ubuntu environment, build the simulator, and launch it.

Before you start

  • Ubuntu system with the listed system packages and development tools
  • Python 3, Git, and a path for the repository without spaces

Steps

  1. Install the system requirements listed in the repository README.

  2. Clone the repository recursively and create and activate a Python virtual environment.

  3. Install the Python requirements and the listed Ubuntu SDL dependency.

  4. Build the bundled MicroPython cross-compiler, run the Unix setup targets, then launch ./simulator.py from the unix directory.

Expected outcome

The README's documented setup ends with the Coldcard desktop simulator running from the active virtual environment.

Guide limitations

  • The README gives separate platform-specific setup instructions; these steps are for Ubuntu.
  • The README notes that Makefiles do not handle repository paths containing spaces.
  • The guide reflects repository instructions and is not a compatibility or execution test.
Source-based practical guide

Compare a Coldcard firmware binary with a reproducible build

Use the documented Docker-based process to compare a selected source version with its corresponding firmware binary.

Before you start

  • Docker installed and running
  • GNU Make
  • A specific source version and its corresponding firmware binary

Steps

  1. Check out the specific firmware source version.

  2. Obtain the corresponding binary from the Coldcard downloads page and place it in the releases directory as directed.

  3. From the stm32 directory, run the make repro target using the Makefile for the relevant device family.

  4. Review the process output for its confirmation message or reported differences.

Expected outcome

The documented process reports whether the rebuilt bytes match the selected binary or differ.

Guide limitations

  • The README provides distinct make targets for MK4 and Q1 firmware.
  • The example binary and source tag are version-specific; use matching source and binary inputs.
  • The repository points readers to docs/notes-on-repro.md if they do not trust the make repro results.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
Coldcard/firmware · Official homepage title · retained in its source language