HP-25C Eumulator
01-05-2015, 12:56 PM
Post: #126
 Chris Chung Member Posts: 218 Joined: Aug 2014
RE: HP-25C Eumulator
Of the V3 1st batch, I received PM that one of the units have a digit gone blank. I believe it is a cold solder joint and if that is the case, it could be easily fixed w/ a soldering iron and some solder wires.

My 1st few builts had buttons stop working after a few weeks and I discovered that the soldering is weak. Afterwards the newer units I let my iron stay 1/2 second longer on each joint to make them more secure. Still it will happen and you can try and fix this.

If it is a lone tactile button, you could just re-heat the joint w/ a soldering iron, watch the solder melt and flow and sink / stick to the pad on PCB. You should "tin" your iron w/ a bit of fresh solder (new from your solder wire spool) before applying to the cold joint, otherwise it is difficult to melt the older solder on the joint. You can google "good / bad solder joints". This is a good visual..

Now if your failed tactile buttons are in a group of 3 or more, this means that the cold joint is on the IC side. And you need to follow the schematic / ic pinout (or ask me) to locate which IC pin corresponds to the failed buttons. And re-flow it to try and solve the problem.

The same applies to the LED display. If one digit / segment goes blank, and if at the same time you do not have button failures, it is likely that a joint on the LED modules went bad. And If it's digits not showing + some buttons fails, it is likely a joint on the MCU side, since a MCU I/O pin is shared.

The schematic w/ IC pinouts can be found in the source code (from my github repo). I am including the ascii schematic here; If one of the digits / segments failed, we can trace back which I/O port (digits are on MCU, segments are on 164 shift register) it is connected to, and find which pin is in question from the pinout diagrams.

It is easier for me as I would use a blank PCB and a DMM to trace the failed connections, and then re-flow the joints. In previous batches there are always a few cold solder joints and I need to re-flow after testing all the buttons and displays. For the latest batch, I had only 1 joint that I need to re-flow, so I guess I am getting better at them now.

Since the PCB design is components-on-both-sides, sometimes you cannot re-flow a join on the original size. In this case you should secure it on the other side (i.e. component side).

Code:
                MSP430G25x3              -----------------          /|\|                 |           | |                 |           --|RST  digit 0 P2.6|--\             |     digit 1 P1.0|--\       digits bus (12)             |     digit 2 P2.7|-----//--+---------+             |     digit 3 P1.1|--/      |         ~  3 units of 4 digits bubble led             |     digit 4 P1.2|--/      |         |             |     digit 5 P1.3|--/      |    +---------+ +---------+ +---------+             |     digit 6 P2.0|--/      |    | % % % % | | % % % % | | % % % % |----+             |     digit 7 P1.4|--/      ~    +---------+ +---------+ +---------+    |             |     digit 8 P1.5|--/      |                                           |             |     digit 9 P2.1|--/      | digits bus x 3 scan lines                 |             |     digit a P1.6|--/      +-----+-----+---/ ~~ /--+-----+-----+-----+ |             |     digit b P1.7|--/  _=_ | _=_ | _=_ | _/ ~~ /=_ | _=_ | _=_ | _=_ | |             |      scan X P2.5|-----o o-+-o o-+-o o-+-/ ~~ /o o-+-o o-+-o o-+-o o-+ |             |      scan Y P2.4|-----o o-+-o o-+-o o-+/ ~~ /-o o-+-o o-+-o o-+-o o-+ |             |      scan Z P2.3|-----o o-+-o o-+-o o-/ ~~ /+-o o-+-o o-+-o o-+-o o-+ |             |                 |                                                     ~             |                 |      (32 tactile button)                            |             |                 |                                                     |             |                 |        +--------+                                   |             |             P2.2|--+---->|CLK ~CLR|---+---- Vcc                       |             |                 |  |     |       B|---+                               |             |                 |  |     |  0(d)QA|-\                                 |             |                 |  |     |  1(f)QB|-\                segments bus (8) |             |                 |  -     |  2(b)QC|--------------//-------------------+             |                 | | |    |  3(a)QD|-/             |                 | | |1k  |  4(g)QE|-/  74hc164 segment driver             |                 |  -     |  5(e)QF|-/             |                 |  |     |  6(c)QG|-/             |                 |  +---->|A 7(h)QH|-/             |                 |  |     +--------+             |                 | === (102)    1 wire shift register via RC delay             |                 | ===  1nF     to shift 1, Hi-Low-Hi             +-----------------+  |           to shift 0, Hi-Looooooow-Hi (>20us Lo)                                 ___                                 ///                74hc164                o---------+                |A     Vcc|                |B      QH|                |QA     QG|                |QB     QF|                |QC     QE|                |QD   ~CLR|                |Gnd   CLK|                +---------+     4 digit bubble led from sparkfun     +--+--+--+--+--+    |a  b  2  f  d  g|    |1  e  c  3  h  4|     +--+--+--+--+--+     msp430g25x3 pinout (a=port1, b=port2)     +--+--+--+--+--+--+--+--+--+    |- b6 b7 CK IO a7 a6 b5 b4 b3|    |                            |    |+ a0 a1 a2 a3 a4 a5 b0 b1 b2|     o--+--+--+--+--+--+--+--+--+

For this failed unit's missing digit, it is the 4th digit (i.e. 1st LED module). From the pin-out, this would be pin 6 (i.e. bottom row, 6th pin). The solder side has been hidden, so the proper fix would be to solder on the component side.

From the schematic, this digit (digit 3) is connected to I/O port P1.1(a1) of the MCU, refer to the pinout this would be pin 3. A reflow can refresh the connection. If it is this joint that failed, it would have affected also 3 buttons. So my guess is that the cold joint is on the LED module.

There is also a chance that the LED module failed. I do not think it is likely as I had gone thru 100+ LED modules and never experience one that fails.

I hope this is helpful when you encounter a cold joint in your unit.
 « Next Oldest | Next Newest »