git404hub

what is firmware fr?

maggo83/firmware — explained in plain English

Analysis updated 2026-07-24

0Audience · developerComplexity · 4/5Setup · hard

tl;dr

Firmware and desktop simulator for Coldcard, a physical Bitcoin hardware wallet. Keeps Bitcoin keys offline and lets anyone verify the device's software by compiling it themselves.

vibe map

mindmap
  root((repo))
    What it does
      Stores Bitcoin keys offline
      Desktop simulator for testing
      Reproducible builds
    Project structure
      Shared code folder
      Simulator for Mac and Linux
      Firmware for physical device
    Use cases
      Verify device software
      Test wallet features without device
      Develop new Bitcoin features
    Audience
      Bitcoin security developers
      Hardware wallet users
      Open source contributors
    Tech stack
      MicroPython
      Python
      Docker

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Run a virtual Coldcard on your computer to test Bitcoin wallet features without the physical device.

VIBE 2

Download and compile the firmware yourself to verify it matches the official release exactly.

VIBE 3

Inspect the open-source code to audit the security of your hardware wallet.

VIBE 4

Experiment with upcoming Bitcoin features like Taproot on the edge branch.

what's the stack?

PythonMicroPythonDockerC

how it stacks up fr

maggo83/firmware00kaku/gallery-slider-block04amanrajj/netwatch
Stars00
LanguageJavaScriptRust
Last pushed2021-05-19
MaintenanceDormant
Setup difficultyhardeasymoderate
Complexity4/52/53/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1h+

Requires installing system dependencies, setting up an isolated Python environment, and compiling MicroPython from source.

in plain english

This repository contains the firmware and a desktop simulator for the Coldcard, a hardware wallet designed for storing Bitcoin securely. The Coldcard is a physical device that keeps your Bitcoin private keys offline, reducing the risk of theft from online attacks. The project's code allows developers to inspect the software running on the device, verify its integrity, and run a simulated version on a personal computer for testing and development. A central feature of this project is its support for reproducible builds. This means that anyone can download the source code, compile it, and verify that the resulting software matches the official release byte for byte. This process has been automated using a tool called Docker, and the repository provides step-by-step instructions for performing this verification. If the rebuild produces a different result, the system shows the differences, allowing users to confirm exactly what software is on their hardware wallet. The code is organized into several distinct directories. A shared folder contains code common to both the simulator and the physical product. The unix directory holds a simulator for macOS and Linux systems, allowing rapid testing without the physical device. The stm32 directory contains the files needed to build the final binary for the actual hardware. There are also folders for test cases, external libraries, graphics, and the bootloader, which is factory-set code that cannot be changed by the user but can be inspected for verification. The project maintains two main branches of development. The master branch covers the latest hardware versions, known as Mk and Q. The edge branch contains experimental features that may not be ready for general release, such as Taproot or Miniscript support. This allows developers to iterate more quickly on new Bitcoin advancements. Older hardware versions, like Mk3 and earlier, are supported on a separate legacy branch. Setting up the simulator requires installing several system dependencies on macOS or Linux. The process involves creating an isolated Python environment, installing required packages, and compiling a version of MicroPython. After setup, a developer can run the simulator to interact with a virtual Coldcard on their screen. Building the actual firmware for the physical device follows a similar path, producing a file that can be loaded onto a Coldcard using a command-line tool. The full README is longer than what was shown.

prompts (copy fr)

prompt 1
How do I set up and run the Coldcard simulator on my Mac or Linux machine using this repository?
prompt 2
Walk me through the steps to perform a reproducible build of the Coldcard firmware using Docker to verify the official release.
prompt 3
Explain the difference between the master, edge, and legacy branches in this Coldcard firmware repository.
prompt 4
How do I compile the firmware binary from source and load it onto a physical Coldcard device using the command line?

Frequently asked questions

what is firmware fr?

Firmware and desktop simulator for Coldcard, a physical Bitcoin hardware wallet. Keeps Bitcoin keys offline and lets anyone verify the device's software by compiling it themselves.

How hard is firmware to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is firmware for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.