Author Topic: Soldering leads on a keyboard controller board  (Read 7875 times)

0 Members and 1 Guest are viewing this topic.

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Soldering leads on a keyboard controller board
« on: May 21, 2014, 07:48:48 pm »
Hello,
  This is my first post.  I have been viewing the EEVBlog on Youtube for about a year now.  Love It!  I am new to electronics but am very astute and interested.  I want to solder some leads on the pictured board attached.  Problem is, the solder is not taking.  There appears to be some sort of coating.  Does anyone have any ideas of how to clean the black coating off so I can solder the leads?  Any help would be great!  Thank You
 

Offline rexxar

  • Frequent Contributor
  • **
  • Posts: 439
  • Country: us
    • Forever Tinkering
Re: Soldering leads on a keyboard controller board
« Reply #1 on: May 22, 2014, 03:57:07 am »
They're coated in carbon. You're not meant to solder anything to them, you're supposed to compress a flat flex circuit against the contacts to connect the FFC to the controller board.

I don't know if you can remove the carbon coating without wrecking the entire pad (I've never tried), but you might be able to get away with scraping the solder mask off the traces running up to the pads and solder directly onto the trace. If you do go that route, I'd recommend using thin wire, and then hot gluing the wire down so you don't accidentally rip it and the trace off the board. Actually the traces look too fine to do that reliably.

I think what I'd do is tin some relatively thick wire, 22Ga or so, then use some sort of bracket (insulated, of course!) to compress the wires against the carbon contacts.

What are you doing, anyway? Building your own keyboard?
 

Online SeanB

  • Super Contributor
  • ***
  • Posts: 16283
  • Country: za
Re: Soldering leads on a keyboard controller board
« Reply #2 on: May 22, 2014, 04:46:15 am »
I just did this recently. Take some scouring powder from the kitchen, and use a small amount on a cloth to rub the coating off leaving a shiny copper layer. Then wash it clean and tin the contacts immediately.
 

Offline sachleen

  • Contributor
  • Posts: 39
  • Country: us
    • My Site
Re: Soldering leads on a keyboard controller board
« Reply #3 on: May 22, 2014, 05:25:10 am »
I did this recently as well. I was able to scrape it off gently with an x-acto blade and I was left with the thin trace below. Careful to not cut the trace, though.
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #4 on: May 22, 2014, 02:29:24 pm »
Thanks for the tips.  I will try the clamp idea first since it is the least invasive. 

As for my project, necessity is the mother of invention.  I have a KVM switch for my computers.  I purchased a new keyboard.  The KVM switch does not recognize the new keyboard so it won't allow me to use hotkeys to switch the computers.  The KVM is an IOGear 4 computer switch.  It does not have buttons built in to switch computers so the only option is a keyboard that reports itself as standard.  Right now I have two keyboards on my desk, one for typing and the other for switching the KVM.  I want my desk space back!  I like the price point of the current KVM So, changing that out is not an option.  Plus, I have been dying to do something useful with Arduino besides lighting up LED's in sequence.

My first attempt was to use an Arduino directly connected to the KVM using the keyboard libraries.  Unfortunately, the KVM does not recognize it as a standard keyboard either.  So, I hit the office supply store and picked up an eight dollar keyboard to tear down and re-work. 

My plan is to connect the relevant contacts for the combination of keystrokes that I need to transistors.  Then I will program the Arduino to activate the transistors to give the appropriate hot key sequences.

  If all goes well, I will have a minimal footprint KVM switch mechanism that will fit nicely next to my typing keyboard.

Thanks again for the tips.  And if you know of something that might help me solve this problem more efficiently, I am open to suggestions.
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: Soldering leads on a keyboard controller board
« Reply #5 on: May 22, 2014, 02:53:54 pm »
My first attempt was to use an Arduino directly connected to the KVM using the keyboard libraries.  Unfortunately, the KVM does not recognize it as a standard keyboard either.  So, I hit the office supply store and picked up an eight dollar keyboard to tear down and re-work.
This might sound like a stupid/obvious question, but have you tested that this keyboard works with the KVM first?

My approach would be to check with a logic analyser/oscilloscope to see what exactly it is about the keyboard that the KVM doesn't like. Since you already have one that works and one that doesn't, you can compare the two traces and see what's different. That looks like a PS/2 keyboard controller and that reminded me of this thread where missing pullup resistors was causing some odd compatibility issues.
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #6 on: May 22, 2014, 03:13:27 pm »
amyk, you are on the right path.  But according to the documentation for the KVM (I paraphrase) IOGear is only licensed for standard windows keyboard and mac keyboard.  The keyboard that I disassembled did affect the KVM as desired prior to disassembly.

The Arduino is actually a programmable microcontroller board.  It does work well sending keyboard strokes directly to the PC. 

The KVM looks for a couple of particular identifier codes from the USB keyboard and rejects all others.

Thanks for the feedback.
 

Offline rexxar

  • Frequent Contributor
  • **
  • Posts: 439
  • Country: us
    • Forever Tinkering
Re: Soldering leads on a keyboard controller board
« Reply #7 on: May 23, 2014, 02:05:45 am »
My plan is to connect the relevant contacts for the combination of keystrokes that I need to transistors.  Then I will program the Arduino to activate the transistors to give the appropriate hot key sequences.

That seems a bit unnecessarily complicated. The combination is what, two, three keys? I'd just stick some buttons there instead. Plus, it frees your Arduino to do other interesting experiments with.

You could use one of these cheapo switches, or put one of these nicer panel mount ones on a project box.

Also, it's BS that the KVM switch doesn't accept standard HID keyboards.
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #8 on: May 23, 2014, 02:59:49 am »
Thanks rexxar,
  It is a bit unnecessarily complicated and expensive compared to hooking up the necessary buttons to that keyboard controller.  However, the idea of a single button push to switch computers is very attractive to me.  And the most important reason: Its a fun little project.

  I was also thinking about adding some feedback like a 7 segment LED to indicate the currently selected computer or something like that. 

  With that said, I wonder if I could tap into the USB cable for the keyboard controller to also power the Arduino.  That might be a bit of a drain on the main computer USB though since it provides the power for all the devices in that chain (KVM, Keyboard Controller, Arduino with LEDs).

  I can't tell you how disappointed I was that it did not work after preparing the Arduino and doing the programming.  I also thought about finding out if I could tweak the Arduino to send the code for windows or Mac keyboard that the KVM expects.  But I think that is on the chip and non-changeable.

  I am open to more ideas.
 

Offline rexxar

  • Frequent Contributor
  • **
  • Posts: 439
  • Country: us
    • Forever Tinkering
Re: Soldering leads on a keyboard controller board
« Reply #9 on: May 23, 2014, 03:24:11 am »
  It is a bit unnecessarily complicated and expensive compared to hooking up the necessary buttons to that keyboard controller.  However, the idea of a single button push to switch computers is very attractive to me.  And the most important reason: Its a fun little project.

That's why I linked in those switches, you could wire four individual "keys" on there and activate them all at the same time. But still, there's nothing wrong with making your project more complicated than it needs to be if you have fun or learn from it  :-+

Quote
  I was also thinking about adding some feedback like a 7 segment LED to indicate the currently selected computer or something like that. 

  With that said, I wonder if I could tap into the USB cable for the keyboard controller to also power the Arduino.  That might be a bit of a drain on the main computer USB though since it provides the power for all the devices in that chain (KVM, Keyboard Controller, Arduino with LEDs).

Powering the Arduino from the USB line shouldn't be an issue. USB2.0 is rated for 500mA.

I'm assuming you have a Leonardo, since you tried to use it as a keyboard. If you bypass the linear regulator, and connect directly to the 5V pin, it will draw something like 6mA idle, and 15mA running full-tilt. You're not in any danger of overloading a USB port with that ;)

Quote
  I can't tell you how disappointed I was that it did not work after preparing the Arduino and doing the programming.  I also thought about finding out if I could tweak the Arduino to send the code for windows or Mac keyboard that the KVM expects.  But I think that is on the chip and non-changeable.

I think the problem is that the Arduino as a keyboard enumerates as a generic HID device. I guess your KVM is expecting something... else. I dunno, it's kind of bizarre.

The HID library is just a hunk of code someone's wrote and released to the public. It's not implemented in hardware. You can program the Leonardo to do just about whatever you want with USB, but that's probably a bit over your head.
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #10 on: May 23, 2014, 04:18:05 am »
rexxar wrote:
Quote
But still, there's nothing wrong with making your project more complicated than it needs to be if you have fun or learn from it

My thoughts exactly.  Every time I do a little project or tutorial I feel a bit more empowered over my electronic world.

rexxar wrote:
Quote
I'm assuming you have a Leonardo, since you tried to use it as a keyboard. If you bypass the linear regulator, and connect directly to the 5V pin, it will draw something like 6mA idle, and 15mA running full-tilt. You're not in any danger of overloading a USB port with that

I actually have the Micro, it's amazing how much computing power can be put in such a small space.  Thanks for the info on USB.

rexar wrote:
Quote
You can program the Leonardo to do just about whatever you want with USB, but that's probably a bit over your head.

Well, I hold a degree in computer science so I don't think it is conceptually over my head.  The challenge is getting back into a lower level language since I have been doing high level database work for the past 20 years.  That is why I picked up this hobby.  It's the low level stuff that is really rewarding.

Thanks for all the guidance rexxar!
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: Soldering leads on a keyboard controller board
« Reply #11 on: May 23, 2014, 11:53:03 am »
It's USB? Sorry I thought it was PS/2 (which is a much simpler protocol).

In any case you should be able to use it to capture the sequence of packets coming from the keyboard/KVM that you need for it to detect the keyboard and switch (using it like a logic analyser - low-speed USB is 1.5MHz, which is slow enough for that to work), then reprogram it to send out those same packets via its USB hardware. It doesn't really need to do any of the complex negotiation of a "real" USB device, just hardcode the enumeration and KVM switching packets and send them out at the right time.

As for making things too complex, I agree that it's fine if you want to learn but it could also be more fun to make it as simple as possible - I'd say it's doable with a single 8-pin MCU and software USB. You could probably fit everything, including a pushbutton for switching the KVM, right on the USB plug itself. (And you'd still have 3 pins left over! :D)
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #12 on: May 23, 2014, 03:19:29 pm »
Hello Amyk,
  Thanks for the post.  So, from a user interface perspective, the KVM requires the following sequence to change computers:

CTL, CTL, #, Enter. 

Where # is the selected computer number 1-4.

From what I gather reading the KVM docs, when a usb device is plugged in, the KVM receives some sort of identifier of the device to determine if it will work or not.  If the correct identifier is not present then communication is shut off.  As of right now that is a black box to me.  And that is fine.  I am really interested to get a first pass done so I can see what features I overlooked in my design.  This kvm supports switching sound independent of KVM as well.  That will have to be in 1.1

Ideally, I could create this to be a generic programmable keystroke generator.  That way, I could program it to do other interesting things too.

  Thanks again for the advice.  I will look into the MCU.
 

Offline fluxcapacitor

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: gb
Re: Soldering leads on a keyboard controller board
« Reply #13 on: May 23, 2014, 04:38:17 pm »
Are you using a multimedia keyboard .This is from the iogear KVM faq`s  :

The GCS102U and GCS104U are the only KVMs without emulation and are able to support multibutton mice and multimedia keyboards.

http://iogear.custhelp.com/app/answers/detail/a_id/2420/~/iogear-kvm-faqs
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: Soldering leads on a keyboard controller board
« Reply #14 on: May 24, 2014, 03:20:54 pm »
Yes, it's probably failing to be recognised by the KVM during USB enumeration due to something in the device descriptors that the KVM doesn't like.

Ideally, I could create this to be a generic programmable keystroke generator.  That way, I could program it to do other interesting things too.
You're not the first to think of this: https://github.com/hak5darren/USB-Rubber-Ducky/wiki
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #15 on: May 24, 2014, 07:47:50 pm »
amyk,
  Thanks for the link.  That is interesting indeed.  And I am going to buy one just for fun.  However, I do need to have a way to trigger unique events at will from my desk chair via some kind of a button or something.
 

Offline fluxcapacitor

  • Frequent Contributor
  • **
  • Posts: 345
  • Country: gb
 

Offline penczoilTopic starter

  • Newbie
  • Posts: 8
Re: Soldering leads on a keyboard controller board
« Reply #17 on: May 25, 2014, 06:13:17 pm »
Great link flux!  I guess I will dive into the USB code for my Arduino Micro before messing with the keyboard controller anymore.  It would make a much more elegant solution.  After the last comment about the code the OP didn't respond about his success.

I will come back with my results.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf