[guide] How I fixed my mechanical keyboard (PCB problem) : MechanicalKeyboards

29 Nov.,2022


Keyboard PCB

I bought a defective Blackwidow Ultimate some time ago, thinking that I would replace some switches and it would be fine. However, it turned out that the switches were fine, and there was a deeper problem.

I searched the internet for my problem, and found some posts with similar cases, but no good solutions (just the usual baths in water and soap). A month or two ago, I started playing with it, and I was able to fix it.

Since I wasn't able to find anything on the internet, I wanted to write my experience with the problem and how I fixed it, hoping that it will help someone with the same problem. I know it is quite long, but I wanted to leave everything clear, and I don't know how to write short texts. I hope it's readable. :P

The Problem

The keyboard was malfunctioning because the previous owner spilled a drink on it. Besides some fairly stuck keys (which are better now, after some baths), the larger problem was that three keys ('T', 'J' and '7') didn't always work. I found that pushing the middle of the PCB up would help it, and sometimes the keyboard would work for 1 week without me doing anything, but eventually it started to be more and more problematic.

The important details were that either the three keys worked or none of them did, and the switches were fine. I knew this because when I shorted the contacts for the switch of one of the bad keys, the PC wouldn't recognize a keypress. Therefore, I concluded that the problem was with the PCB, and not the switches.

The Solution

Here is how the PCB looks like seen from underneath: http://imgur.com/9CJtzHE

And now I will give names to the pins: the left one is A and the right one is B, for each of the switches (http://imgur.com/Dd6qQFf)

First of all, I found out which pin was good and which was bad. To do this, I connected pin A on a bad key to a pin B elsewhere - nothing happened, and then connected pin B on a bad key to an A pin elsewhere - the PC registered a keypress. So I knew that pin A was bad and pin B was good.

NOTE: From here on, I will assume pin A is bad and pin B is good. If B is bad, just switch everything. If both are bad, read the extra section.

Now, due to how keyboards work, I knew I should be able to find some key such that connecting pin B on a bad key to pin A on that key would make the PC receive the keypress for the bad key. For instance, if I connected the pin B of any of my bad keys ('T', 'J', or '7') to pin A on the '4' key, the bad key would be "pressed", that is, a 'T', 'J', or '7' would appear on the screen. If there are only a few bad keys, there should always be a key like this left.

I knew that connecting pin B on 'T' to pin A on '4' registered a 'T', but I wanted to make it so that 'T' would be registered only when I pressed the corresponding key. To do that, I connected pin A on 'T' to pin A on '4'. Let us see what happens... If 'T' is not pressed, everything is fine (connecting two pins of the same type does not generate a keypress). If 'T' is pressed, since pins A on 'T' and '4' are connected, by pressing the key (and closing the switch), we connect pin B on 'T' to pin A on 'T' and therefore to pin A on '4' (and the key is correctly registered). In some way, pins A on 'T' and '4' are "equivalent".

So, to fix the keyboard, we just connect each bad pin to an "equivalent" pin, and the keyboard will work once again. As a quick note, when I first did this, I didn't have a soldering iron, so I fixed just one of the keys with some wire (http://imgur.com/olt8Zl4). When I did this, I noticed that all of the keys started working. However, I recommend that you still fix each pin, because doing so probably mimics the original PCB connections better.


This is just a text about my story and how I fixed my keyboard. I hope that by doing the same things, some people will be able to fix their keyboards. However, anything you do is your responsibility, and I cannot be held liable for anything that happens. Furthermore, my keyboard has been working for two months now, but the fix itself may be wearing the keyboard down, and it may cause a more serious problem in the long run. I don't have a problem with that, but think about that before following this post.

Questions (not frequently asked, but some I thought might come up)

Why does it work?

Keyboards use a matrix to detect keypresses using a low number of connections to the controller. Each specific key is assigned a "column" and a "row", where the column corresponds to pin A and the row to pin B (or the other way around). Now, several keys can share a row or a column, provided that either one of them is different. In my case, there is a bad column, where the bad keys are. However, the column is not entirely bad, but most likely the connection is broken somewhere. By connecting pins A on bad keys to good keys on the same column, the column is "restored" and the keyboard works once again.

What if I have a key where both pins are bad?

In that case you can try to find two pins that connected produce the bad key. For example, if '1' is not working and both pins are bad, and you find that connecting pin A on '2' to pin B on '3' types a '1', then just do the same as above for both pins: connect pins A on '1' and '2', and pins B on '2' and '3'.

What if I can't find a key so that the bad key is typed (the '4' in the described case)?

There is still one thing that may work, but I haven't tried it and it's (in my opinion) risky. You may be able to find a pin in the controller chip that works (that is, connecting the good pin on the bad key and that pin in the chip types the bad key). However, not only is it harder to solder to the pin of the controller, but there is also another problem. In my fix, current travels a similar path to the path it travelled in a good keyboard, even if there are some hidden components I don't know about. However, by soldering directly to the chip, you are completely bypassing the PCB for that pin, and so anything can happen: it may work or it may not work, but it is also possible that it damages the controller chip.