Upgrade Firmware

Learn how to upgrade here >

Current Version of Coldcard Firmware — Version 3.1.9

2020-08-06T1722-v3.1.9-coldcard.dfu released Aug 6, 2020.

NOTE: Releases 3.1.0 and later are NOT COMPATIBLE with Mk1 hardware. They will brick Mk1 Coldcards.



Video: How to Upgrade Firmware

Version 3.1.8 and 3.1.9 - Aug 6, 2020

Version 3.1.7 - July 3, 2020

Version 3.1.3 - April 30, 2020

Older releases and their changes are listed here, the full source code, hardware details, and much more can be found in our repository on github.

Mark 1 Hardware (late 2017 / early 2018)

The Mk1 hardware is obsolete and no further updates will be made. The final version of firmware for the Mk1 is 3.0.6 (2019-12-19T1623-v3.0.6). Do not load any newer firmware version, as it will brick the device.


How To Upgrade

Upgrading Step By Step



Video: How to Verify COLDCARD's Firmware

  1. Download and verify the latest firmware release.
  2. Save the 20...-coldcard.dfu firmware file onto a SD card.
  3. Power up your ColdCard and unlock it with your PIN.
  4. Go to the Advanced > Upgrade menu and click on From SD Card.
  5. After the confirmation dialog, ColdCard will upgrade and reboot (slow).
  6. Type in your PIN again. Verify new version running with:
    Advanced > Upgrade > Show Version
  7. If you powered down during this process, to get a green light again, you may need to use: Bless Firmware in that menu.

Advanced: Verify Your Downloads

The release binaries may be verified using this clear-signed text file and GPG. The commands are:

curl https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA3A31BAD5A2A5B10 | gpg --import
gpg --verify signatures.txt

The first command imports the public key 4589779ADFC14F3327534EA8A3A31BAD5A2A5B10 and the second verifies the file's signature vs. file contents.

Don't forget to run SHA256 over the DFU files themselves, because that compares the actual file contents to what we have signed.

sha256sum 2019-12-19T1623-v3.0.6-coldcard.dfu

Github.com is also protecting us because it verifies on all commits against the developer's public keys, and keeps a history of changes.


Background

The upgrade menu allows you to load updated firmware onto the Coldcard.

advanced menu

The menu allows loading an upgrade file from a MicroSD card, but it can also be done using the command line tool, or from the Electrum plugin.

How to Upgrade

Show Version
Displays the version numbers that you have already.
From MicroSD
Select an upgrade file from MicroSD card and start the process.
Bless Firmware
Mark the contents of flash memory as "approved" and light the green "Genuine" light.

Upgrade Files

You need a DFU file for upgrades. It's about 690k in size and should have the extension .dfu.

The latest firmware will always be available in Github:

github.com/Coldcard/.../releases

All upgrade files must be signed by a Coinkite Inc. approved key, or the Coldcard will refuse to load and run them.

Bless Firmware

This command is not typically needed, but can be used to set the genuine/caution lights to green. Note that only the main PIN holder can do this. A normal firmware upgrade sequence does not require this action, but if the unit is powered down between installing the upgrade and the first successful login, then the light will be red, and will stay red until this command is used.

Downgrade Protection

In general, it may not be advisable to downgrade (return to an older release). Some releases will set a "high water mark" so the bootloader that will block any downgrade to earlier versions. We will do this if a bug or security problem with an obsolete release is identifed.

Need extra help?

Watch this Video: Secure Upgrade Firmware of ColdCard Mark 2 - Max Hillebrand

Help improve our docs on Github!