If you want to flash an Olimex STM32-H103, you don't actually need an expensive JTAG cable. The expensive JTAG cable was suggested by GNUK's README [(gnuk_readme)]. Well, I decided to buy a STM32-H103 to store my OpenPGP master key, using GNUK. This is possibly the cheapest option to obtain a OpenPGP smartcard. STM32-H103 is available on Amazon for £14 [(HEADER BOARD FOR STM32F103 STM32-H103 By OLIMEX)].

It might be possible to read the STM32-H103's ROM content back into the Raspberry Pi. I haven't personally tried it yet. I know the ROM is read-locked if you follow the flashing process above. However, the rumour says that is is fairly easy to do. So using a USB smartcard may not deter GCHQ / NSA from extracting your private key! I don't actually know if this is safer than storing your private key on an encrypted USB drive. However if you use a GNUK device, it is safer than storing your private key on the actual computer, and it is more convenient to use the private key than having to re-import it from a USB drive.