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
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.
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
Install the system requirements listed in the repository README.
Clone the repository recursively and create and activate a Python virtual environment.
Install the Python requirements and the listed Ubuntu SDL dependency.
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.
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
Check out the specific firmware source version.
Obtain the corresponding binary from the Coldcard downloads page and place it in the releases directory as directed.
From the stm32 directory, run the make repro target using the Makefile for the relevant device family.
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.
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

