Author Topic: XD96 Column Not Working  (Read 968 times)

0 Members and 1 Guest are viewing this topic.

Offline hcoopos

  • Thread Starter
  • Posts: 7
XD96 Column Not Working
« on: Thu, 19 July 2018, 11:39:24 »
Hey guys, (hope this is the right place)

I've been building an XD96, and after soldering most of the switches I noticed that an entire column isn't working. More specifically, when I plug the keyboard into my computer it spams 'jnu7' until I press another key, which then it functions as a normal keyboard except the keys j, n, u, 7, and F7 don't work. I'm fairly certain this is not a manufacturing defect, since the board worked fine before I soldered the switches (it still worked after I soldered the function keys only, including F7). I'm having a hard time finding if there's a short anywhere.

Anyone know the board well enough to point me to an area where such a short could occur? Any tips for debugging using a multimeter would also be appreciated.

Thanks!

(PS I already emailed KPRepublic about this, but I probably won't get a response until tonight because timezones)

Offline the-slunk

  • Posts: 39
  • Location: Florida
Re: XD96 Column Not Working
« Reply #1 on: Thu, 19 July 2018, 12:12:53 »
I just had this issue but with a row instead of a column. It took me three weeks to diagnose it. Do you have a multimeter?

Sent from my Pixel XL using Tapatalk


Offline hcoopos

  • Thread Starter
  • Posts: 7
Re: XD96 Column Not Working
« Reply #2 on: Thu, 19 July 2018, 12:31:45 »
I do have a multimeter! I don't have access to it until I get home from work though  :p

Offline hcoopos

  • Thread Starter
  • Posts: 7
Re: XD96 Column Not Working
« Reply #3 on: Thu, 19 July 2018, 17:25:19 »
How were you able to diagnose/fix your issue?

Offline the-slunk

  • Posts: 39
  • Location: Florida
Re: XD96 Column Not Working
« Reply #4 on: Thu, 19 July 2018, 18:06:49 »
How were you able to diagnose/fix your issue?
Sorry, I didn't see your original reply because I was at work.

So first step was making sure everything was soldered in correctly like the diodes, controller pins, etc. Second step was checking which pins on the switches were not connected. I initially did it the lazy way by trying to bridge the pins (POS to POS, ground to ground) from Switches that I knew worked to ones on the bottom row which did not. Pressing the switches activated different switches on the matrix but in the same column, so I knew it wasn't gonna be something obvious and the easy work was out of the way. Now onto the multimeter and the part that you will probably have to do.

I knew nothing about how a keyboard matrix worked prior to this so I had to look a ton of it up, this site helped:
http://blog.komar.be/how-to-make-a-keyboard-the-matrix/

So in order to hone in on the issue I started by checking which side of the PCB traces were faulty. I don't know what your PCB looks like, but mine was a Varmilo VA87MR which had the vertical (positive) traces on one side, and the Horizontal (ground) traces on the other side. The article I linked explained that one pin should be fed power (5v) and the other should pull ground. That is how the switch is activated by closing the loop and sending the signal back to the controller.

I used my multimeter to check the 5V from my USB connection (with the board plugged in) with one prong, and touching the positive pin of the switch with the other. I tested the ground by finding a ground to put one prong on and the other prong on the ground pin of my switch. None of the switches were reading the 5V going through but they were all connected to the ground trace, so I knew that the problem was somewhere on the positive coming in, and because it was the ENTIRE bottom row I knew it had to be on the main switch where the 5V lead in and subsequently ran to the other POS pins.

Here is where I had to rely on some dumb luck. I had to figure out which trace ran the power to that switch, as well as which of those switches it was. Again, I don't know what your PCB looks like, and it might help if you took some pictures of the main column that's not working. The way my PCB was designed it was a complete crapshoot to pinpoint the trace, but I happened to find it by chance.

It was a small trace running to the LEFT arrow key and it was adjacent to like 8 other traces so unless you looked really close it just looked like a giant block that was colored differently than the rest of the board. The trace actually on the opposite side of where my positive traces ran, but it was connected via a tiny throughhole which was thinner than a needle. I used my multimeter to confirm that it was a positive traces, and it showed 5V. I bridged it to the left arrow key actually using my multimeter, grabbed a paperclip, and went to http://www.keyboardtester.com/ to see if it would  read the keys now. I checked the entire bottom row to be sure and everything registered.

Turns out when I pulled the old switches from the Varmilo, I just so happened to pull a tiny bit of the pad on the side of the through-hole that connected the positive pin to the 5V trace.

Basically, figure out which side of your switches isn't working, then figure out where that part of the trace starts. If they are new switches (as in you did not de-solder anything) it could be a cold joint which isn't making a connection. If both pins read fine it may be the connection on the controller, but since it is the entire column that isn't registering that doesn't seem too likely.

There are some videos on how to test the signal back to the controller using your multimeter in diode mode but I'd have to look for them. Let me know if both pins on your switches test fine and I will try to find it for you.

Good luck, and I hope it doesn't take you three weeks to diagnose the issue like it did me - . -

Sent from my Pixel XL using Tapatalk
« Last Edit: Thu, 19 July 2018, 18:08:20 by the-slunk »

Offline the-slunk

  • Posts: 39
  • Location: Florida
Re: XD96 Column Not Working
« Reply #5 on: Thu, 19 July 2018, 18:06:49 »
How were you able to diagnose/fix your issue?
Sorry, I didn't see your original reply because I was at work.

So first step was making sure everything was soldered in correctly like the diodes, controller pins, etc. Second step was checking which pins on the switches were not connected. I initially did it the lazy way by trying to bridge the pins (POS to POS, ground to ground) from Switches that I knew worked to ones on the bottom row which did not. Pressing the switches activated  different switches on the matrix but in the same row, so I knew it wasn't gonna be something obvious and the easy work was out of the way. Now onto the multimeter and the part that you will probably have to do.

I knew nothing about how a keyboard matrix worked prior to this so I had to look a ton of it up, this site helped:
http://blog.komar.be/how-to-make-a-keyboard-the-matrix/

So in order to hone in on the issue I started by checking which side of the PCB traces were faulty. I don't know what your PCB looks like, but mine was a Varmilo VA87MR which had the vertical (positive) traces on one side, and the Horizontal (ground) traces on the other side. The article I linked explained that one pin should be fed power (5v) and the other should pull ground. That is how the switch is activated by closing the loop and sending the signal back to the controller.

I used my multimeter to check the 5V from my USB connection (with the board plugged in) with one prong, and touching the positive pin of the switch with the other. I tested the ground by finding a ground to put one prong on and the other prong on the ground pin of my switch. None of the switches were reading the 5V going through but they were all connected to the ground trace, so I knew that the problem was somewhere on the positive coming in, and because it was the ENTIRE bottom row I knew it had to be on the main switch where the 5V lead in and subsequently ran to the other POS pins.

Here is where I had to rely on some dumb luck. I had to figure out which trace ran the power to that switch, as well as which of those switches it was. Again, I don't know what your PCB looks like, and it might help if you took some pictures of the main column that's not working. The way my PCB was designed it was a complete crapshoot to pinpoint the trace, but I happened to find it by chance.

It was a small trace running to the LEFT arrow key and it was adjacent to like 8 other traces so unless you looked really close it just looked like a giant block that was colored differently than the rest of the board. The trace actually on the opposite side of where my positive traces ran, but it was connected via a tiny throughhole which was thinner than a needle. I used my multimeter to confirm that it was a positive traces, and it showed 5V. I bridged it to the left arrow key actually using my multimeter, grabbed a paperclip, and went to http://www.keyboardtester.com/ to see if it would  read the keys now. I checked the entire bottom row to be sure and everything registered.

Turns out when I pulled the old switches from the Varmilo, I just so happened to pull a tiny bit of the pad on the side of the through-hole that connected the positive pin to the 5V trace.

Basically, figure out which side of your switches isn't working, then figure out where that part of the trace starts. If they are new switches (as in you did not de-solder anything) it could be a cold joint which isn't making a connection. If both pins read fine it may be the connection on the controller, but since it is the entire column that isn't registering that doesn't seem too likely.

There are some videos on how to test the signal back to the controller using your multimeter in diode mode but I'd have to look for them. Let me know if both pins on your switches test fine and I will try to find it for you.

Good luck, and I hope it doesn't take you three weeks to diagnose the issue like it did me - . -

Sent from my Pixel XL using Tapatalk


Offline hcoopos

  • Thread Starter
  • Posts: 7
Re: XD96 Column Not Working
« Reply #6 on: Thu, 19 July 2018, 18:47:36 »
Thank you for the detailed reply! I'll test and upload some pictures when I get home in a few hours.

Offline the-slunk

  • Posts: 39
  • Location: Florida
Re: XD96 Column Not Working
« Reply #7 on: Thu, 19 July 2018, 18:58:33 »
No worries, just hoping to help you in less time than it took me to figure out -.- did extensive searches for related issues and the closest one I could find was a Reddit post from 2016. Good luck!

Sent from my Pixel XL using Tapatalk


Offline hcoopos

  • Thread Starter
  • Posts: 7
Re: XD96 Column Not Working
« Reply #8 on: Thu, 19 July 2018, 21:46:12 »
Thanks :D
So I've done some probing with the multimeter, and found that something might be shorting the problematic column to ground on the input side (maybe?). I think the pcb here is different from yours, since it doesn't seem like any of the switches are directly connected to 5V (including working ones), so all my probing is between the side of the switch without the diode and ground. On the working switches, whenever I probe the non-diode pin and ground the whole column triggers on the keyboard tester and the multimeter occasionally beeps, which I guess indicates the microcontroller scanning that column. On the other hand, when I probe any of the switches in the problematic column I hear a constant beep on the multimeter.

I guess I'll reflow the solder and see how that goes, but I'm still baffled on how something can short the column to ground on this PCB. It's also kind of difficult to see the traces too :(

The diodes are presoldered; all I needed to do was add the switches (no desoldering here). My current multimeter has a diode mode, but I can have access to one over the weekend.

I've attached three pictures below; the first one is the problematic column with red tape to the left of the switches, the second one is of the Kimera Core controller (dunno how useful that would be), and the third is of the entire circuit board.

Offline the-slunk

  • Posts: 39
  • Location: Florida
Re: XD96 Column Not Working
« Reply #9 on: Thu, 19 July 2018, 21:52:07 »
Did you test to make sure you have the multimeter on the power source to check voltage? I used the 5V wire coming Right from the USB to check voltage on the positive pins/pads for the Switches.

My switches are also mounted backwards (LEDs forward facing) so my PCB would be a bit different.

Sent from my Pixel XL using Tapatalk


Offline hcoopos

  • Thread Starter
  • Posts: 7
Re: XD96 Column Not Working
« Reply #10 on: Thu, 19 July 2018, 21:55:50 »
Yep, I tried with the power source as well but it doesn't seem like the switches are directly connected to it? I tried both pins on various switches and got no connectivity on the meter.

Offline hcoopos

  • Thread Starter
  • Posts: 7
Re: XD96 Column Not Working
« Reply #11 on: Sat, 21 July 2018, 23:01:29 »
Ugh finally got it working. Turns out the 'solution' is to desolder everything :P

Offline the-slunk

  • Posts: 39
  • Location: Florida
Re: XD96 Column Not Working
« Reply #12 on: Thu, 26 July 2018, 05:47:16 »
Just saw this, glad you got it working! Maybe you had a cold joint somewhere?  Re-soldering 96 switches is a pain, but less of one than heaving a new board that doesn't work. Congrats!

Sent from my Pixel XL using Tapatalk