I use coldcard and bitcoin core 0.20.1. I have checked how to do it with HWI at https://github.com/bitcoin-core/HWI/blob/master/docs/bitcoin-core-usage.md. It appears more complex than needed. With the core's GUI, I can create a PSBT, save it, and then sign it with an SD card and coldcard. The latter will create a TXN file with the finalized transaction, that I can just broadcast with core. No need for HWI and only 1 console command (sendrawtransaction) needed. I am afraid: am I missing something? Thank you for any suggestion.
That is a viable method for using a Coldcard with Bitcoin Core. HWI is intended for the case where the hardware wallet is plugged into the machine running your wallet software. For the Coldcard, it is just an alternate way to use it. However for other hardware wallets, the MicroSD card method is not available so HWI provides a way to use them with Core.
From the coldcard site there is a link (above) for using coldcard with bitcoin Core. The first sentence is the following: "As of Bitcoin Core v0.19.0+ the setup can be done fully airgapped, but spending needs a USB connection and additional software such as HWI." In the sense of Andrew's reply this make sense, however it is also possible to spend airgapped funds without an USB connection and without HWI. I will record my experience, I hope it helps those with my configuration (Core 20.1, Coldcard Firmware 3.1.9).
- Create a watch only walled in Core as in the link above
- Press "Send" in the Core toolbar
- Enter your transaction in the Core GUI
- Press the "Create Unsigned" button
- Paste the PSBT in your favorite text editor and save it on a MicroSD card as a file with a PSBT extension
- Insert the MicroSD in your Coldcard and hit "Ready To Sign". The Coldcard will sign the PSBT and create 2 files on the MicroSD card, a PSBT and a TXN file.
- Open the TXN, copy the content in the clipboard
- In the Core console hit "sendrawtransaction" and paste the copied TXN
- Hit enter, and your transaction will be broadcasted.