Help troubleshooting PM6303 LCD display issue - Page 1
Forum section: electronics / repair

author: giosif
author_rank: Frequent Contributor
timestamp: December 09, 2017, 09:49:27 pm
content: Hi all,I've recently scored a Philips PM6303 LCR that was dead.After some investigation, it looked like the CPU had died and, upon replacing that, I got signs of life from the meter.However, the content displayed on the LCD didn't make much sense so, I thought maybe the display driver IC was damaged too (after all, it does have three lines coming from the CPU via some resistors).So, I ordered a replacement LCD driver IC but, when testing the new one, I got the same display issues.To see what I'm talking about, please see the attached pictures:the first one is supposed to have all segments turned onthe second one is supposed to show a "6303" number plus some symbols and measurement unitsNow, interesting thing that Dave has just decided to make some nice videos exactly on LCD's.However, this one seems to be a multiplexed LCD and Dave is yet to cover that.So, with not much understanding, I tried to troubleshoot this issue, but all seems to check out (i.e. BP1 and BP2 signals look like they should and there is data coming in from the CPU: CLB, DLEN and DATA lines have life in them).What I wasn't able to confirm is what data is being received from the CPU (i.e. the value) or if there may be some data line syncrhonization issues.Other than that, I did check the few passive components on the display board (some resistors and a couple of capacitors) and they appeared good.Anyone has any suggestions what to check next, please?Thanks!

author: giosif
author_rank: Frequent Contributor
timestamp: December 12, 2017, 11:48:23 pm
content: Bump!Anybody willing to take a guess, please?

author: SaabFAN
author_rank: Frequent Contributor
timestamp: December 13, 2017, 12:32:32 am
content: The only thing I can think of right now is data-corruption in the ROM. Have you tried burning a fresh ROM-Image?If you have a datasheet for the chip handy and a Scope with serial Decoding capability, you can check if the data that is supposed to arrive at the LCD is correct.

author: Lolucoca
author_rank: Contributor
timestamp: December 13, 2017, 06:39:56 am
content: I'd try to isolate the issue and test the PCF2111P, it's an LCD driver IC. I'd try feeding valid data into the chip and see if the right things happen. If not, replace the chip. If the chip is dead that's not such a great issue, they're still available for 7.98eur each on Kessler electronic.

author: anachrocomputer
author_rank: Regular Contributor
timestamp: December 13, 2017, 10:38:06 am
content: Can you confirm that you only changed the PCF2111 driver chip? How does the LCD connect to the PCB? Is it an elastomeric connector, like the Fluke multimeters, or is it a DIP-style connector? Is the connection good? One of your photos looks like a Fluke with a bad LCD connection.

author: giosif
author_rank: Frequent Contributor
timestamp: December 16, 2017, 08:30:17 pm
content: Quote from: SaabFAN on December 13, 2017, 12:32:32 amChecked the ROM contents before and it was identical to the one I could find online.But you may be onto something here: between the CPU and the ROM IC, at a logic level, there is a 74LS363N IC.Looking up the datasheet for this latter IC, it seems to be some kind of latch, whose role and way of working I am yet to understand.But I can guess it must have something to do with relaying the adressing from the CPU to the ROM.So, if this latch IC is partially working (or not working at all), the CPU might get data from the wrong address in the ROM.I've ordered a replacement IC and will test this theory when it arrives.Thanks!

author: giosif
author_rank: Frequent Contributor
timestamp: December 16, 2017, 08:35:24 pm
content: Quote from: Lolucoca on December 13, 2017, 06:39:56 amThat would be good to do as a learning exercise, but I honestly doubt it is the LCD driver IC.Reason being I had the same result with the original PCF2111P and a replacement I ordered from eBay.Of course, there is still a chance the replacement IC is also broken, but the likelihood of the chip to have failed the same way as the original IC is remote.

author: giosif
author_rank: Frequent Contributor
timestamp: December 16, 2017, 08:40:41 pm
content: Quote from: anachrocomputer on December 13, 2017, 10:38:06 amOn the display board, yes, only the LCD driver chip.LCD connects to PCB via DIP-style connector.I've checked connectivity between LCD connector socket and the rest of the display board and all seems to be in order.I've also re-seated the LCD into the connector socket.Finally, I wiggled the LCD a bit when experiencing the issue, but I saw no change in what was being displayed.So, I think it is unlikely it's a connection/contact issue.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 17, 2017, 07:42:13 pm
content: on ko4bb websitehttp://webmaail.ko4bb.com/manuals/104.157.228.70/Philips_PM6303_LCR_meter_Service_Manual.pdf------------ note there is an 6303a version tooorhttps://elektrotanya.com/philips_pm6303_lcr_meter_op_1990_sm.pdf/download.htmlcheck the voltages supplies, on display board 0 and 5v, on the cpu section ...maybe someone with the same lcr could give you an rom dump

author: giosif
author_rank: Frequent Contributor
timestamp: December 18, 2017, 12:14:09 am
content: Quote from: coromonadalix on December 17, 2017, 07:42:13 pmThank you for that!I really suck at searching for manuals!The only place I found the SM was Artek Manuals and bought it from there.Now, I admit, the manual I bought is better quality, it's more recent and it didn't cost that much.In any case, I've already checked voltages and they are all good.The Ko4bb site also has a ROM backup and checked it against my ROM contents and they were identical.

author: giosif
author_rank: Frequent Contributor
timestamp: December 27, 2017, 05:29:33 pm
content: Quote from: giosif on December 16, 2017, 08:30:17 pmAn update on this: I replaced ICs I311, I312 and I313 (pulled some traces in the process, etc.) and, after all this, I ended up with the same behaviour.I then decided to take the LCD out of its socket once more to do some checks and... I managed to break the LCD.Now, I am doing some research if I could use an Arduino to decode the (C-BUS?) serial data straight from the CPU, so I can hopefully display it on an OLED or something.Anyone any hints on how to do this, please?Thanks!

author: giosif
author_rank: Frequent Contributor
timestamp: January 09, 2018, 11:41:20 pm
content: Another update on this: slowly, I've been making some progress decoding the serial data with an Arduino nano board.However, I have some problems with decoding some readings (below is output via the serial pins of the Arduino):RsL 0.0 7 6 Ohm |RsL 0.0 7 6 Ohm |RsL 0.0 7 6 Ohm |RsL 0.0 7 6 Ohm |RsL 0.0 7 6 Ohm |RsL 7 7 7 6 |RsL 6 6 6 6 |RsL 6 6 6 6 |RsL 6 6 6.6 | uHRsL 6 6 0.4 | uHRsL 6 6 0.D| uHRsL 6 6 0.5 | uHRsL 6 6 0.5 | uHRsL6 60.4 | uHRsL 6 6 0.D | uHRsL 6 6 0.5 | uHRsL 6 6 0.5 | uH-problem #1(bold red text above): occasionally, one of the digits displays letter "D" instead of an actual digit (the Arduino sketch I wrote does have code to output letters A to F, in addition to numbers, but that is supposed to be displayed only when running the LCR meter in debugging mode - i.e. link D on the board is bridged)I did check and confirm that for that given digit position, all values from 0 to 9 are eventually displayed, so it's not like "D" is replacing some numerical digit (in which case, the problem would be the Arduino code).-problem #2(bold blue text above): it appears that, for some ranges, instead of "0", some of the digits are displaying "6".The reading highlighted is supposed to display something like "0.4 uH" (I shorted the terminals).I tested this with inductors of different values and, if the reading is high enough to use the two most signficant digits, it will display them properly.Example - a 16 uH inductor reads as:RsL 6 1 6.0 | uHRsL 6 1 6.0 | uHRsL 6 1 6.0 | uHRsL 6 1 6.0 | uHAlso, for the resistance reading above (for a short on the terminals), you can see that "0" does get displayed correctly.Can anyone please help me understand any of these issues?Attached, you can find the Arduino sketch I wrote (ok, I admit it that I've been lazy and the code is not the most efficient and elegant).Thank you!

author: giosif
author_rank: Frequent Contributor
timestamp: January 13, 2018, 12:13:37 pm
content: Success!!!Turns out problem #1 happens when CPU is sending garbage instead of real digit info.Problem #2 was due to my assumption the meter should be trying to display 0's instead of the 6's; instead, it meant to display nothing (i.e. empty digit).Picture below shows the meter measuring a 16 uH inductor, with the Arduino sketch updated to output to an LCD instead of the initial serial pins.I've also included the latest version of the Arduino sketch, in case someone might find it useful for their project.As before, it's lazy programming and I'm not too proud of code quality, but it does the job (I might look to clean it up some day).Now, to look at options for LCD (the current one is a standard 16x2, but would prefer something a bit wider).BTW, does anyone know if there is such a thing as a 32x1 LCD or similar, but with comparable vertical dimensions as the typical 16x2 (i.e. the 32x1 should have larger characters)?Or any ideas what I could use the 2nd row in the LCD for?Then comes the part of putting everything together and close up the unit...

author: coromonadalix
author_rank: Super Contributor
timestamp: January 13, 2018, 07:10:02 pm
content: maybe using the second row to double size the displayThere was an serial single line lcd but "doubled in characters size" who looked like your failed lcr display. Will try to find a link...Great work to reverse the protocol and revive your LCR ...

author: texaspyro
author_rank: Super Contributor
timestamp: January 14, 2018, 04:32:26 am
content: I'd look into using a graphic LCD instead of a character LCD. The code would be more complicated. but you would have a lot more flexibility to generate a nice, large display.

author: giosif
author_rank: Frequent Contributor
timestamp: January 14, 2018, 09:19:40 pm
content: Quote from: coromonadalix on January 13, 2018, 07:10:02 pmActually, I thought of the same before asking the question here, but couldn't find any reference to such topic on the Internet.Technically, I don't see why this would not be possible, but someone would need to write the library for it, for use with Arduino (maybe it already exists?).From another perspective, the LCD does support custom characters, but no more than 7 or so such characters, so I couldn't replicate all digits, if I am to use 2 custom characters per digit (i.e. half the digit on the upper row, the other half on the lower row).If you could please locate the link to that single line LCD, that would be great!Thanks! This was my first delve into the "C-BUS" serial protocol, driving LCD's (both the initial LCD and the replacement), and Arduino.Quite a few things I'm not really proud of (e.g. Arduino sketch code quality, cabling and mounting of LCD on the display board), but I am quite happy that I now have a working unit, rather than a dead device gathering dust somewhere.

author: giosif
author_rank: Frequent Contributor
timestamp: January 14, 2018, 09:28:33 pm
content: Quote from: texaspyro on January 14, 2018, 04:32:26 amIn fact, I was thinking of OLED at first, then moved to graphic LCD, then settled on the character LCD.The reasons for going for the character LCD were multiple:1. I already had such LCD's sitting in my boxes with components.2. I ordered additional character LCD's with more characters per row, but I was anxious to test the unit and just couldn't wait until the parts arrived.3. Going the graphic LCD route would have meant additional cost, more time (waiting for the unit to arrive) and more work on figuring out how to drive it with the Arduino.That said, I might still go for something else rather than a character LCD, but not anytime soon.

author: giosif
author_rank: Frequent Contributor
timestamp: January 14, 2018, 09:36:12 pm
content: And a final picture with the unit assembled and measuring my decade resistance board configured for 750.03 kOhm.Not exactly "professional quality", but it should do the job.

author: TSCOLAN
author_rank: Contributor
timestamp: March 24, 2018, 04:26:46 pm
content: Thank you for sharing your work, i scored a PM6303 with a dead display, your code worked nice !I modified it to display the component value without spaces between numbers, and added custom char for Ohm and µ.

author: giosif
author_rank: Frequent Contributor
timestamp: March 24, 2018, 07:08:28 pm
content: Hi,Glad this was of help.In fact, my initial code was not that tidy and also contained an error (I hadn't realised digit 9 was represented as a 7-segment display without the bottom segment turned on).Attached is a (supposedly) improved version of the code, with the following changes: detect digit 9 correctly use long variables and bit operations to store & manipulate data create and use a custom character for Ohm to get it close to the size of other measurement characters use the LCD bult-in chacter for µ remove the space between digits for an easier read display "x" instead of a digit if the digit data provided by the CPU is corrupt/garbageEDIT handle the displaying of "-" for digits when the CPU wants to indicate measurement/reading erroror overrange modify the layout of the data being displayed for a better read of the information add an "activity" indicator - a pulsating dot in the bottom-right corner change the way "serial" and "parallel" are represented: "--" and "//", respectively moved to a 24x2 LCD display, which is closer to the size of the original LCD and gives more space to display infoThe 24x2 LCD I am using is found here (please make sure you get the 5V variant of the LCD, as I think there is a 3.3V version as well):http://r.ebay.com/Wm69sy.I've also bought a short mini USB to USB type A cable which I've installed on the Arduino board, so I can upload new code on it without having to take the entire display board out:http://r.ebay.com/dfpUwe.In hindsight, that short cable is not the best option, as I had to cut out a small bit of the display board to allow for the thick cable to pass through from the front of the board (where the Arduino board is installed) to the back of the board (where the type A female connector is supposed to be located, for easy access).I suggest looking for a similar mini USB to USB type A adapter, but one of those with a flat cable.Please feel free to take the new code and improve it further, if you want.Also, attached, is a picture with the new LCD and new display layout (measuring a 1 Ohm resistor).

author: HighVoltage
author_rank: Super Contributor
timestamp: March 24, 2018, 07:28:12 pm
content: Nice work on the display for the PM6303.I used to have a few of these LCR meters with bad displays and repaired them with original displays.But by now have replaced them with a few PM6303A LCR meters.But I am teased to get a PM6303 again, just to make this modification.Thanks for sharing.

author: giosif
author_rank: Frequent Contributor
timestamp: March 24, 2018, 08:02:38 pm
content: Thanks, HighVoltage!The code still needs work and refining, but it should be 80-90% there for its main purpose.I was also pondering using a longer USB adapter cable to bring the USB port outside of the case somehow.This way, I wouldn't even need to open the case to update the Arduino code.This would also allow adding logging capabilities to the LCR meter, if that is of any use.

author: Shock
author_rank: Super Contributor
timestamp: March 25, 2018, 01:32:29 am
content: Congrats on the conversion.What are the two banana plug/clips being used in the decade box photo, are they spring loaded and do you have a part number?

author: giosif
author_rank: Frequent Contributor
timestamp: March 25, 2018, 08:17:19 pm
content: Quote from: Shock on March 25, 2018, 01:32:29 amThanks!Yes, they are spring loaded and they normally come as one piece.Some examples from the Internet (www.machinepartsforreuse.com, in this case):Mine came with the unit, but separate from each other (i.e. the plastic piece holding them together had/was broken off).According to the manual, the PN is/was 5322 265 24026, but don't think that has any relevane nowadays (i.e. if you are looking to get a pair, eBay search is probably your best bet).

author: Shock
author_rank: Super Contributor
timestamp: March 26, 2018, 02:47:57 am
content: Ah thanks I was wondering where I had seen those before.

author: Turbinedave2003@yahoo.com
author_rank: Newbie
timestamp: April 27, 2021, 07:53:19 pm
content: Is the LCD display behind a protective glass or plastic screen ? I have a chance at a pm6303 and the photo shows a cracked screen, but Im hoping its a plastic lcd screen protector. Anyone know ?Thanks in advanceDave

author: TSCOLAN
author_rank: Contributor
timestamp: April 27, 2021, 08:07:14 pm
content: Quote from: Turbinedave2003@yahoo.com on April 27, 2021, 07:53:19 pmOn mine there wasn't any protection to the LCD. It was broken and looked like the attached picture.Thomas

author: Turbinedave2003@yahoo.com
author_rank: Newbie
timestamp: April 27, 2021, 09:55:40 pm
content: This is an A version screen. Its much larger. I failed to mention that. I attached a pic. Hope it comes thru.

author: coromonadalix
author_rank: Super Contributor
timestamp: April 28, 2021, 02:35:01 pm
content: these are different beasts internals and externalsthe pm6303 shematics maybe is on k40bb ??the pm6304 schematics is on k4obb website, had one of these in the past, had done a pcb project for the dc biais board.the pm6306 never had any leaked schematics