How I built a YubiKey Expansion Card for the frame.work laptop.

I use a YubiKey as a PGP Card but the biggest downside is how much it sticks out, so I can't leave it in, and so can easily forget it. They do make a Nano that would be mostly hidden, but not entirely, and that's $60 I might not need to spend. I wanted a nice integrated YubiKey, and my new ryzen frame.work 13 had these nice modules where one could maybe fit. I searched and found some prior art but it didn't look that great and still stuck out some. So I built one:

module installed

The YubiKey touch sensor can be easily triggered by touching the silver wire. So now the how... I took apart one of my USB-C expansion cards to see how much room was in there, turns out, plenty. I had an extra YubiKey and pictures of a teardown of an older version gave me confidence nothing important was in the back (looks like only NFC antennas to me). So, after measuring how long the YubiKey would have to be to fit in the expansion card shell, I put a high-speed cut-off wheel in the dremel and chopped the back of the YubiKey off. I booted an old laptop to plug the card in to see if it still worked (didn't want to risk burning out my frame.work :)), it did!

cut-in-half

I put some electrical tape over the cut end since there are some exposed traces there, and did a test fit in the module, problem #1 was that the USB-C plug didn't come out quite far enough to stay firmly plugged in, comparing to the USB-C module, it was maybe 1/8th inch too short. So, using my knife, I scored around it and pushed hard on each side and it kind of cracked off perfectly. The black around the YubiKey looks like plastic but it's more like ceramic.

plug-trim

Now... I don't really need touch ability to use it as a GPG key, but it would be nice if it worked... Wonder if it'd work if I soldered a wire to the pad? Turns out, yes!

soldered

For my first try I just skinned a tiny hole in the wire, and it worked ok but I ended up having to push really hard to make contact. I ended up skinning the entire wire and now any light touch works perfectly.

pre-install

One more problem to solve... Suddenly my yubikey was being pressed without me touching it, I had checked if the aluminum-looking body of the laptop or the modules were conductive with a multimeter before and could measure no conductivity, but turns out when you push a wire really hard into it, it's enough to trigger the yubikey sensor. That's why in the pic of it installed in the laptop up top, you can see only the middle is exposed, I put 2 bits of electrical tape on each side where it touches the body of the expansion card.

Overall, I'm very happy with this. For questions/comments, please reply to the fediverse post or the frame.work forum post.