Author Topic: Need help fixing PCB  (Read 2482 times)

0 Members and 1 Guest are viewing this topic.

Offline dantan

  • Thread Starter
  • Posts: 288
Need help fixing PCB
« on: Mon, 28 November 2016, 07:36:05 »
Problem fixed

Thanks everyone! I fixed it on my own. Still didn't understand half of the stuff I read on this thread, but at least I now know that PCBs aren't always laid out the same way as the keys on top.

Following the traces was the weirdest and hardest part. If I didn't have another PCB handy I would have been screwed.
« Last Edit: Tue, 29 November 2016, 02:06:48 by dantan »

Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: Need help fixing PCB
« Reply #1 on: Mon, 28 November 2016, 12:36:21 »
I haven't seen that pattern used before. It's an interesting idea, and I think I may have a theory about why they did that. If you'll notice the keyboard doesn't have diodes to prevent ghosting. But by putting every other switch within a row on alternating "wire rows" you can still do > 2KRO without diodes in many situations.

I have a friend who likes to turn old non-mechanical apple keyboards into USB devices for use on modern machines. (Think powerbook keyboards, newton keyboards, etc.) These often have all the mods wired separately from the rest of the keyboard matrix so that the user can hold any number of mods while pressing other keys reliably. I think you've found another example of a technique that makes using a keyboard without anti-ghosting diodes nicer.

Think that the traces were broken for these two key switches I circled out. But no other keys are non-working. Isn't that strange? Isn't it supposed to be that if one key dies, all the keys in a row stop working? I am really confused.
  (Attachment Link)

The switches are connected in parallel, not series. One broken switch will not affect any other switches.
« Last Edit: Mon, 28 November 2016, 12:37:53 by skullydazed »

Offline a-c

  • Posts: 196
  • Location: USA
Re: Need help fixing PCB
« Reply #2 on: Mon, 28 November 2016, 12:56:04 »
Are you sure it is not disabled in the firmware? Some POS type keyboards have keycaps that cover multiple keys and then enable only one of the keys to respond. Are the any of the keys next to the ones that don't work "enter" or "space"? Those often use 2u keycaps.

Offline dantan

  • Thread Starter
  • Posts: 288
Re: Need help fixing PCB
« Reply #3 on: Mon, 28 November 2016, 13:50:36 »
fixed
« Last Edit: Tue, 29 November 2016, 02:07:00 by dantan »

Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: Need help fixing PCB
« Reply #4 on: Mon, 28 November 2016, 14:57:07 »
I think a lot of your problem is that you don't understand yet how the matrix works. Spend a few minutes to visualize it and think it through. Think for a moment about using the same firmware you're using now, only with a single switch. You'd have 2 wires connected to that switch. One wire would connect to the same pin on the MCU as the row. The other wire would connect to the same pin on the MCU as the column. If that wire got broke in the middle somewhere the connection would no longer happen, right? So you have to follow the wire (trace) from the switch to the MCU.

You can use a multimeter to find a break that isn't visible to the eye, by simply testing at different points. Start by placing one probe on the MCU pin and the other on the switch, see if there's a good connection. If not, you have to find points closer to the MCU that do work, and then bridge from the working point to the non-working point using a small wire.

Offline dantan

  • Thread Starter
  • Posts: 288
Re: Need help fixing PCB
« Reply #5 on: Mon, 28 November 2016, 23:24:35 »
fixed
« Last Edit: Tue, 29 November 2016, 02:07:32 by dantan »

Offline Tactile

  • Posts: 1434
  • Location: Portland, OR
Re: Need help fixing PCB
« Reply #6 on: Tue, 29 November 2016, 01:22:56 »
The problem is that when I follow traces and then use a multimeter set to continuity, I found the following joints as seen by the purple lines. So they form a weird loop. I didn't follow the traces past the red box at the top right because I have no problems with that switch.

Furthermore I found using a multimeter that both the leads on both my problemmatic switches have continuity with the other switches that lie along their traces.

Normally this should indicate that it is the switch itself that is flawed, right? But i've changed new switches twice. Maybe one new switch is also not working, but surely not two.

What happens when you short those two contacts with a pair of tweezers or whatever?

If you trust your continuity test you can just run wires between your purple line points. You don't need both sides of the lower  triangle, either one will do.
REΛLFORCE

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: Need help fixing PCB
« Reply #7 on: Tue, 29 November 2016, 01:53:50 »
Try figuring out which pins on the QFP chip and that SOIC package that are for the matrix. What part number does it say on that SOIC? Is it involved in the matrix operation?

After that make a list of which keys that connects to each of those QFP and SOIC pins. Then you'll have the full image of the matrix.

There are several reasons to have a different physical layout than the logical matrix. Total pin count is one. Keeping the total input pins to a single byte may help in firmware, and such.

Offline dantan

  • Thread Starter
  • Posts: 288
Re: Need help fixing PCB
« Reply #8 on: Tue, 29 November 2016, 02:11:12 »
Try figuring out which pins on the QFP chip and that SOIC package that are for the matrix. What part number does it say on that SOIC? Is it involved in the matrix operation?

After that make a list of which keys that connects to each of those QFP and SOIC pins. Then you'll have the full image of the matrix.

There are several reasons to have a different physical layout than the logical matrix. Total pin count is one. Keeping the total input pins to a single byte may help in firmware, and such.

I know you're trying to be helpful but I didn't understand a thing that you said.

But I solved it! Turns out the problem comes from another pin far, far away that was shorted out. I fixed that other pin.

The layout of this matrix is crazy. Some keys are alternately joined, and some are joined to very different keys all over the board. Now I don't even dare to start designing my own PCB.