IBM M5-1 (PS/2) Trackball dead? - Page 1
Forum section: electronics / repair

author: Campus
author_rank: Contributor
timestamp: February 23, 2019, 03:39:42 pm
content: Hi,I got 1993 Lexmark Model M5-1 keyboard that also has a trackball which is using PS/2 to connect. Unfortunately the trackball does not respond when being connected to a computer. I extracted the trackball pcb and connected it to an Arduino to test the communication directly.As far as I can tell (as a noob) the clock line is always low, even when trying to pull it high from the Arduino. I've read several tutorials for PS/2 and my understanding so far is, that in idle state both CLOCK and DATA should be high but when measuring they are always low.I've also tried several pre-existing PS/2 libs and they all stall in the initialization phase waiting for the device to pull the clock line high.The board itself contains standard HC05 and 74HC14 and both get Vcc and the outputs look good to me. The 74HC14 responds to movements and the HC05 seems to invert the inputs as expected. There is also another big chip which seems to be custom (it reads 1398154 and 528801A, manufacted 3293). Pressing a button pulls the according input from Vcc to GND so the basic processing for movement and clicking seems to work.Any idea how to tackle this?

author: magic
author_rank: Super Contributor
timestamp: February 23, 2019, 09:38:35 pm
content: Quote from: Campus on February 23, 2019, 03:39:42 pmThat's a bad idea, you can fry the Arduino or the HC05 or whatever else is driving this line low.The line should be pulled high by a resistor and chips should only ever drive it low. Check if the resistor isn't disconnected.Quote from: Campus on February 23, 2019, 03:39:42 pmYep, they should be if this is PS/2. Does the cable from that trackball board go directly to the computer or is there any chance it is some internal interconnect between two boards and it may not be PS/2?

author: Campus
author_rank: Contributor
timestamp: February 23, 2019, 11:40:59 pm
content: Quote from: magic on February 23, 2019, 09:38:35 pmWould you mind explaining why this is dangerous? All PS/2 libs for the Arduino do this.Quote from: magic on February 23, 2019, 09:38:35 pmI traced the connections on the keyboards main pcb and clock and data go directly to the ps/2 plug.The pull-up resistors on the device end have 4.7kOhm to Vcc for both clock and data. The built-in pull-up resistors on the Arduino should be 10k afaik.Anything else I could check?

author: magic
author_rank: Super Contributor
timestamp: February 24, 2019, 10:40:12 am
content: Quote from: Campus on February 23, 2019, 11:40:59 pmOkay, pulling with the built-in 10k pullup of the AVR is OK. Setting DDR=1 and driving high isn't. Sorry, people do all sorts of stupid things all the time and I assumed the worstDitch the Arduino and probe directly with a scope or DMM. In idle state, both lines should be at Vcc due to the 4k7 resistors. If they aren't, something must be driving them low or otherwise shorting them to ground - find out what it is. I think each line should be connected to one input and one output of some inverter and then, from the other side of the inverter, to the main MCU.If it turns out that the 74HC05 is driving a line low because its input is driven high by the main chip, something must be wrong with that chip. Does it even give any signs of life at all? Maybe replace all electrolytics.

author: Campus
author_rank: Contributor
timestamp: February 24, 2019, 03:02:52 pm
content: Quote from: magic on February 24, 2019, 10:40:12 amThat's exactly what I can see. The moment the board is powered, the main chip pulls down the clock line. The single aluminium cap looks and measures fine and all remaining caps are standard ceramic ones.So I guess I've lost hereI am wondering what can kill such a chip... the keyboard looks like it never was in use.

author: magic
author_rank: Super Contributor
timestamp: February 24, 2019, 04:49:29 pm
content: Not sure what could it be that wouldn't also kill everything else. Do you have a pic of that board?

author: Campus
author_rank: Contributor
timestamp: February 24, 2019, 05:38:30 pm
content: I hope the pic quality is good enough:http://jbap.de/511.jpghttp://jbap.de/512.jpg

author: Nusa
author_rank: Super Contributor
timestamp: February 24, 2019, 07:55:56 pm
content: C2 does NOT look fine to me. The pad is corroded, which likely means it's been leaking. I'd remove, clean up/repair the pcb and replace it with new.Also, what's that crud on the through-hole pins under the trackball?

author: Campus
author_rank: Contributor
timestamp: February 24, 2019, 08:22:49 pm
content: Quote from: Nusa on February 24, 2019, 07:55:56 pmHmm, I could try to exchange that one. I just hope I can scratch the paint enough to see the printed label for the specs.Quote from: Nusa on February 24, 2019, 07:55:56 pmThere are some brown components which are a part of the trackball holder (visible on the top) which look like through hole where the plastic end was then heated to melt into the hole.

author: magic
author_rank: Super Contributor
timestamp: February 24, 2019, 10:30:21 pm
content: Okay, I hoped to see an RC reset generator for the MCU - these things can fail and prevent the chip from booting properly. But it seems there is none here.C3, C4 are in parallel between 5V and GND, aren't they? Boring stuff.C8, C9 seem to be load capacitors for that white tube crystal/resonator, whatever it is. Speaking of which, if you have a scope, you know what to do. In fact, even if you don't, at least check what voltages are on each end.If C2 is also between 5V and GND, don't bother with it. Its value isn't very critical. It does no harm unless it's shorted. Temporarily solder any cap of at least 47uF/10V in parallel with it and try again.I think C2 is 47uF/16V, by the way. Looking at similar caps on the main board may help in identification.Inputs to the HC05 are pulled up by 10k resistors to 5V. Which means, maybe the big chip drives them high or maybe it doesn't even drive them at all (like because its firmware doesn't boot and the pins are high impedance by default). See if connecting a 2k2 resistor from HC05 input to ground pulls it down to 1V and flips the inverter or if the input still stays hard at 5V.Check if those HC05 inputs aren't permanently shorted to 5V. Check if there is continuity from them to some pin on the MCU. But really, I doubt that anything is wrong here.

author: Nusa
author_rank: Super Contributor
timestamp: February 25, 2019, 03:20:11 am
content: C2's value to the circuit is almost secondary in my mind. Stopping and fixing the corrosion is the more serious concern, so that cap needs to be removed anyway. If it's taken out any nearby vias, fixing them might even require removing the relatively large IC on the other side.

author: Campus
author_rank: Contributor
timestamp: February 25, 2019, 05:46:27 pm
content: I could remove C2 and it looked quite bad below it. Luckily nothing got damaged when removing the cap and cleaning the board.After cleaning I tried to scrap of the color from the top to read the codes but I'm not sure how to interpret them:j41016VThe last one is pretty obvious, and I guess the second one is 10uF? Would it be ok to use a modern ceramic cap instead or does it have to be an alu cap?

author: magic
author_rank: Super Contributor
timestamp: February 25, 2019, 09:00:21 pm
content: Yes, 10uF/16V. If the cap goes between 5V and ground it doesn't matter what you use - can be larger, can be ceramic. Mount anything and see if it helps. If it isn't 5V, see what it is.So you are sure that traces passing near that cap didn't corrode and have continuity to wherever they go to? And that the electrolyte didn't get anywhere close to vias which could pass it to the other side?

author: Campus
author_rank: Contributor
timestamp: February 25, 2019, 09:24:11 pm
content: OK, I will try some 10u ceramic I have around.The traces look still ok to me and I successfully tested them for continuity. The electrolyte was mainly below the cap and nowhere near a via. I tried to scratch the pads as clean as possible but I would really appreciate if you could take a quick look:http://jbap.de/m51c-1.jpghttp://jbap.de/m51c-2.jpgThanks!

author: magic
author_rank: Super Contributor
timestamp: February 25, 2019, 09:36:33 pm
content: I have no experience with electrolytic corrosion but I would say the vias look clean. At any rate, you aren't going to block access to them or anything so go ahead and solder that cap.And cover all exposed copper with tin or it may slowly corrode on air.

author: Campus
author_rank: Contributor
timestamp: February 25, 2019, 09:56:41 pm
content: IT'S WORKING(sorry for the shouting)but this is so cool. After soldering some ordinary 10u cap the board got immediately recognized and I could move the cursor and click with the different buttons. It's so awesome to see this great piece of hardware coming back to life.Thanks so much to you guys for showing me the problem and answering my noob'ish questions.Lesson learned: never ignore the slightest indication of a leaking cap.

author: magic
author_rank: Super Contributor
timestamp: February 25, 2019, 10:37:49 pm
content: Quote from: Campus on February 25, 2019, 09:56:41 pmNice.So I'll add that there are two things you may not know about ceramic capacitors yet - their capacitance is less than nominal when they are charged with DC and it decreases a bit over long time. Depending on how marginal the 10uF value is, you may have some issues in the future. It probably is a good idea to either use a cap rated for much more than 5V - I would try at least 16, like the original one, or simply use larger value or two of them.Also, I think it's a reset timing capacitor and not a 5V rail filter cap. There is a 8k2 resistor from its negative terminal to what I think is ground. In such case, its value isn't completely unimportant. Too much - the MCU will take a fraction of a second longer to start. Too low - the chip won't reset properly and won't work at all.

author: Nusa
author_rank: Super Contributor
timestamp: February 25, 2019, 10:44:06 pm
content: Good job!While you've got the keyboard apart, eyeball any other electrolytic caps you can find, if any. They're presumably just as old.

author: Campus
author_rank: Contributor
timestamp: February 25, 2019, 10:59:08 pm
content: Thanks for the hint. I will check the main board and tin the connections where the copper is visible from cleaning the electrolyte.