Author Topic: [Help][SOLVED] overheated PCB  (Read 972 times)

0 Members and 1 Guest are viewing this topic.

Offline child

  • Thread Starter
  • Posts: 101
[Help][SOLVED] overheated PCB
« on: Wed, 29 January 2020, 15:23:36 »
Hello

I own a CA66 keyboard. While desoldering the switches to fix a stabilizer I most likely overheated the PCB while trying to get out some of most stubborn switches.

What happens now is that for all columns some rows register multiple keys.
For example one column has the keys 6,y,h,b,space. If I press 6, b or space they work normally. If I press either y or h I get "6yhb " output (as if all the keys in the column were pressed).
This happens for all the keys in rows 2 and 3, eg. pressing r or f produces "4rfc".

As my knowledge of electronic circuits is very limited, I'd ask someone more experienced to explain what kind of damage occurred. Did the diodes overheat? For which rows? Could the problem be fixed?
« Last Edit: Thu, 13 February 2020, 15:44:01 by child »

Offline tp4tissue

  • * Destiny Supporter
  • Posts: 12691
  • Location: Official Geekhack Public Defender..
  • OmniExpert of: Rice, Top-Ramen, Ergodox, n Females
Re: [Help] overheated PCB
« Reply #1 on: Wed, 29 January 2020, 22:14:57 »
If you have a multimeter, you can test the diodes, there's a diode setting on the multimeter. It should beep when you put the prongs in one direction, but not beep when you reverse the prongs.

If you don't have one, you can still just replace all the diodes of the affected keys.

Offline yui

  • Posts: 203
  • Location: 127.0.0.1 (in azerty)
Re: [Help] overheated PCB
« Reply #2 on: Thu, 30 January 2020, 01:10:04 »
diodes are fairly sensible to heat, as are any semiconductors (think PC processor, you would not run it as 300C), so if you had to leave to heat on them for longer than 30 seconds i would expect that it could have damaged them, luckily diodes are dirt cheap, you can find them on e-bay in bags of 100 for 0,99usd (or less) or if you'd rather get them from more reputable suppliers you can go mouser or rs (more expensive but you know exactly what you get)
vi vi vi - the roman number of the beast (Plan9 fortune)

Offline child

  • Thread Starter
  • Posts: 101
Re: [Help] overheated PCB
« Reply #3 on: Thu, 30 January 2020, 13:00:37 »
Thanks for the tip - I checked all the diodes with a multimeter and they all work. I definitely did not apply the heat for as long as 30 seconds, I'd say 10s max. I did desolder a few times with the same desoldering tool and never had this problem.

Now the question is - what other element could be failing? I'm quite sure that - given the regular pattern across rows/columns - there is something specific that probably should be replaced or jumped over, I just lack the knowledge to figure out what this thing could be.

Offline tp4tissue

  • * Destiny Supporter
  • Posts: 12691
  • Location: Official Geekhack Public Defender..
  • OmniExpert of: Rice, Top-Ramen, Ergodox, n Females
Re: [Help] overheated PCB
« Reply #4 on: Thu, 30 January 2020, 20:40:42 »
on the keys that don't work, follow the trace on the board, look for anomalies, cracks, bridged traces, etc.

Near the controller, look for stray solder as well.

It's also possible that you corrupted the firmware , static, so see if you can reflash.

Offline child

  • Thread Starter
  • Posts: 101
Re: [Help] overheated PCB
« Reply #5 on: Fri, 31 January 2020, 08:59:31 »
After you suggested multimeter check of the diodes, I also checked continuity and found out rows 2 and 3 (the problematic ones) have the continuity between them, which is definitely wrong. Now the problem remains: how to find the point of continuity.

I cleaned up any stray solder I could find around the controller, also reflashed the firmward already - didn't help.

Offline gipetto

  • Posts: 60
Re: [Help] overheated PCB
« Reply #6 on: Fri, 31 January 2020, 16:50:56 »
I had the same problem finding a short a few days ago. What i did was cut the row trace in half that was shorted, then solder a jumper wire to where the trace was powered. Then probe the wire end against each trace half to identify where the shorted section is. then cut that half in half again (i mean a quarter) and repeat. eventually you'll have solder bridges everywhere but it does work.

Offline tp4tissue

  • * Destiny Supporter
  • Posts: 12691
  • Location: Official Geekhack Public Defender..
  • OmniExpert of: Rice, Top-Ramen, Ergodox, n Females
Re: [Help] overheated PCB
« Reply #7 on: Fri, 31 January 2020, 17:42:16 »
After you suggested multimeter check of the diodes, I also checked continuity and found out rows 2 and 3 (the problematic ones) have the continuity between them, which is definitely wrong. Now the problem remains: how to find the point of continuity.

I cleaned up any stray solder I could find around the controller, also reflashed the firmward already - didn't help.

They may naturally have continuity depending on matrixing.

Look at the traces, but also closely around the vias / throughholes.

Offline child

  • Thread Starter
  • Posts: 101
I finally fixed it  ;D

I took me several attempts, but here is a brief summary (as I noticed there are several threads on the subject, but only few of them present any solutions) that may help someone in the future.

* I tested some more for continuity and noticed both offending rows are shorted to ground
* this led me to thinking that maybe continuity between the rows is not the root of the problem, but maybe they just have the same issue
* I found some information about using multimeter set to resistance with range as low as possible to measure different continuity points and - by looking at the slight differences of resistance - figuring out possible short circuited area
* I only have a simple multimeter with lowest resistance range of 200Ohm, but it turned out to be enough. On row 2 there were 3 switch pads with 0.1Ohm resistance to the ground, on row 3 there were 4 such pads. The other pads had higher resistances (up to 0.7 Ohm, generally increasing the futher they were from the lowest-resistance pads)
* I examined the offending pads carefully and found out the cause of the problem. You see, I have a self-heating desoldering tool, which is very handy, because you just press it against the pad and press the "suck" button after the solder is melted (much faster than trying to do this with soldering iron and separate desoldering tool, the latter never having room to suck the whole solder at once). However, this self-heating desoldering tool has the "sucking hole diameter" slightly larger than the pad diameter, which means I melt the soldermask around the pad a little when I use it. Now, my PCB (not sure about others) has a copper mesh everywhere under the soldermask, probably serving as shielding. So when I melted the soldermask, it was enough to get very little solder between the pad and the shielding to short the row. To make things worse, in some places I damaged the soldermask so close to the pad it looked as if the pad was touching the shielding directly
* I took a small sharp knife and started creating "round" (not really) "borders" around the pads (see the photo at the end of the post). Once I did some of it and measured the continuity again, the short circuit was still there, but the lowest resistance value raised to 0.2-0.3 Ohm. I knew I was on the right path
* some time passed and I scratched around most of the pads with lowest initial resistance and the continuity disappeared  :)
* almost there, but when I soldered just a few switches back, the keyboard become starting in bootloader mode and didn't go out of it. To make things worse, it didn't fix once I desoldered all the keys again
* after some debugging I figured out it must be Escape key, because it puts the keyboard into bootloader mode if it's pressed when attaching the keyboard
* I made several continuity tests and only after 5th or 6th attempt I found continuity between Escape column pad and the ground
* even though I couldn't see significant damage of the soldermask in that area, I did my usual scratching routine around that pad (somewhat more difficult, as column pads had paths attached on soldering side, unlike rows pads, so I had to be careful to not damage those)
* now the keyboard finally booted properly, I soldered everything carefully making sure the solder did not touch my scratches and now I can write this post on my fixed CA66  ;D

Thank you everyone who shared helpful info, indeed it turned into it was just damage, solder and shorts. I don't know how much time I lost trying to find the problem with the controller (I was assuming row 2 and 3 must have continuity via the uC).

Offline tp4tissue

  • * Destiny Supporter
  • Posts: 12691
  • Location: Official Geekhack Public Defender..
  • OmniExpert of: Rice, Top-Ramen, Ergodox, n Females
Re: [Help][SOLVED] overheated PCB
« Reply #9 on: Thu, 13 February 2020, 16:22:53 »
I guess set the desoldering temperature lower next time.

Offline child

  • Thread Starter
  • Posts: 101
Re: [Help][SOLVED] overheated PCB
« Reply #10 on: Thu, 13 February 2020, 16:24:49 »
There is no way to set  the temperature, I can only plug the tool in or out. I guess I'll look for the one with smaller hole.