A Quick Fix for the PinePhone Keyboard's Top Row

posted January 12th, 2022

In my last post, I wrote up my first impressions of the PinePhone keyboard. Overall I’m really happy with it, but one issue I had was that the top row of keys (escape, backspace, numbers) is a lot more difficult to press than the other keys. Once I’ve pressed the key enough for it to bottom out (once you feel it click, or go down past a “bump”), I still have to apply extra pressure to make it register a key press.

I was hoping this was just a defect with my unit, but now that more people are receiving the keyboard, it seems like it’s a very common issue.

Fortunately, there’s a very simple fix, and all you need is a sheet of standard printer paper and a pair of scissors (or a 3D printer - more on that later) to make your own shim.

The back of three PinePhone keyboard key caps. The leftmost one has a paper square around the stem. The middle one has a 3D printed square around the stem. The rightmost one has a 3D printed circle around the stem.

The three fixes that I attempted, from left to right: paper, 3D printed square, 3D printed ring

The key caps on the keyboard can be easily lifted up and removed with your finger nail. To make the top keys easier to press, we have to pad the back of the key cap, specifically the area outside the circle around the stem. This is the part that presses down on the membrane, so padding this part will make the key easier to press.

Paper Shim

The simplest fix is to cut up a small piece of printer paper into a square, then cut a smaller square out of the middle. The inner square should fit around the circle on the back of the key cap, and the outer square should fit within the back of the key cap (it’s fine if the outer square is a bit larger, but it might stick out behind the key cap).

You don’t have to make the squares super accurate - since it’s paper you can press it into the back of the key cap and let it bend around the circle. Still, the squares are small enough that I found it annoying to cut them out. I also found it quite finicky trying to get them all aligned, and getting the same feel for all the keys. The inconsistency means you have to keep making small adjustments until you get it right.

For these reasons, I decided to try 3D printing a fix. Although if you don’t have a 3D printer, I still recommend you try the paper method! I didn’t test it very much, but it seems to work just as well as the 3D printed fix once you have it all correctly aligned and adjusted.

Update: If you don’t have a 3D printer, a community member has offered to send out some 3D printed shims to affected users, see this post on /r/PINE64Official

3D Printed Shim

Creating the 3D model was fairly simple. I measured the back of a key cap with calipers, created an initial model, then printed it and made small adjustments a few times until it fit on the key caps. When printing your own shims, you might have to make adjustments (to your slicer settings and the model) for your specific printer, material, environment, etc.

When making these with paper, I made them square since that’s the easiest shape to cut. Initially, I also made the 3D printed version square, but later moved to rings since they fit better on the key caps. It’s also easier to line them up - I found the easiest way is to put the ring down on the keyboard, centre it on the membrane, then snap the key cap in on top of it.

These should be printed one layer thick. I tried with layer heights of 0.16 mm and 0.2 mm and both worked fine, but the flexibility of the thinner layer height helps it fit in better.

A key cap with the 3D printed shim installed

A key cap with the 3D printed shim installed

My 3D printer isn’t very well calibrated right now, so I ended up printing more than I needed, choosing the best ones, and cleaning them up a little bit by snipping off any little edges jutting out. You might have better results depending on your printer and print settings.

I made the model using SolveSpace. You can download the STL file to print here, or download the SolveSpace file to make your own modifications from this repo.

I ended up with a diameter of 6.25 mm for the inner circle, and 8.50 mm for the outer circle, but like I said before, you may have to adjust these dimensions.

The 3D model made in SolveSpace. The diameters of the two circles are labelled as 6.25 mm and 8.50 mm.


The top row works great now, just like all the other keys! Going back to how they were before feels unusable, especially for backspace or typing symbols. The keys also remain flush with the rest of the keyboard.

This isn’t a perfect fix though. You have to fiddle with it a bit to get all the keys to have the same feel, and I’ve only tested this for a few hours, so I don’t know if it’s a decent long term fix. Only time will tell if this is an actual solution.

I’m a bit disappointed that this has been a common issue with the keyboard. I’m really happy with the keyboard otherwise, so I’m hoping that they fix this in future batches, and provide a solution for those who already purchased it. The fix seems quite simple (assuming it holds up long term), maybe they could just sell updated key caps to existing owners.

I hope this post helps you if you’re affected by this! If you happen to find a better solution, I encourage you to share it with the community blobcatthumbsup emoji