Decoding DER EE LCR Meter DE-5000 serial bitstream - Page 1
Forum section: electronics / testgear

author: AlfBaz
author_rank: Super Contributor
timestamp: November 30, 2014, 10:06:00 am
content: So, a bit annoyed by the fact that this LCR meter has serial data ouput whos bitstream can only be understood by the proprietry software, therby making it diffuclut to use in a mixed ATE environment and getting no responce from DER EE I decided to have a go at deciphering itHere's what I have so far and encorouge any and all who are into this sort of thing to add any further information they find.17 bytes are sent per reading.Please bare in mind that the info below is what the LCR software shows as a result of me sending data that the meter may not produceB0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16B1..0 First 2 bytes indicate start of packet and are always B0=0x00 and B1=0x0DB2 BIT7 Parrallel/Series Measurement1 = Parallel0 = SeriesBIT6 Auto1 = Auto on0 = Auto offBIT5 AutoLCR mode (device determines L, C or R mode)1 = Auto LCR on0 = Auto LCR offBIT4 SORT mode1 = SORT on0 = SORT offBIT3..0 NOT USED?? ALWAYS ZEROB3 BIT7..5 Frequency0 = 100Hz1 = 120Hz2 = 1kHz3 = 10kHz4 = 100kHzBIT4 UNKNOWN always 1?BIT3 Auto Power Off (APO)1 = OFF0 = ONBIT2-0 NOT USED?? ALWAYS ZEROB4 USED FOR SORT? NORMALLY ZEROB5 BIT7..0 MODE1 = Ls2 = Cs3 = Rs4 = DCRB6-7 ReadingB8 BIT7 When set, any changes to bits 6 to 3 (units) are ignored and the last Units are locked inBIT6..3 UNITS0 = none1 = ohm2 = Kohm3 = Mohm4 = none5 = uH6 = mH7 = H8 = KH9 = pFA = nFB = uFC = mFBIT2..0 Decimal point0 = reading / 11 = reading / 102 = reading / 1003 = reading / 10004 = reading / 10 0005 = 5 digit mode?B9 BIT7..0 NOT USED?? ALWAYS ZEROB10 BIT7..4 NOT USED?? ALWAYS ZEROBIT3..0 Secondary reading mode0 = No mode (not used?)1 = D2 = Q3 = ESR4 = ThetaB11..12 Secondary reading valueB13 Secondary Decimal point0 = reading / 1 (no decimal point eg 4566)1 = reading / 102 = reading / 1003 = reading / 10004 = reading / 10 0005 = reading / 1 (decimal point at end eg 4566. )B14 UNKNOWN always shows 0x80B15..16 Packet terminators always B15=0x0D B16=0x0AFor those that are interested in snooping here's my setupInititally I usedPortMonto look at the data going from the meter to the program. The meter simply dumps 17 bytes to the Virtual Com Port. It becomes visible when you hit play in the PC application.I then decided to send my own data to PC so I could enumerate the various valuesYou can use your own method here but a quick search gave me the following programs to usehttp://www.virtual-null-modem.com/download.htmCreate two virtual com ports that are null-modem connectedFeed data to one of the virtual ports with thishttp://www.aggsoft.com/com-port-emulator/download.htmand set the LCR program to listen to the other portThe second program needs a text file with a line of data to send to the meterHere's an example (copied coming from the meter)#00#0D#40#58#00#02#25#D8#52#00#01#00#D6#04#80#0D#0ASimply paste the above line into a text file and then use it with the com port emulatorIt yields the following on the LCR's PC programAutoCs1KHz96.88nFIn the GridD = 0.021Theta value -88.7741Q value 46.729D value 0.0214Z value 1642.8049

author: Muttley Snickers
author_rank: Unknown
timestamp: November 30, 2014, 10:24:19 am
content: G'Day AlfBaz,Were you using the optional USB to IR, or have you managed to find the onboard serial pin outs .Regards and Nice Work.Muttley

author: AlfBaz
author_rank: Super Contributor
timestamp: November 30, 2014, 10:32:01 am
content: Using the IR to usb adaptor here also.It has an FTDI232RL chip in it. Simply sniffed the appropriate VCP

author: biot
author_rank: Regular Contributor
timestamp: November 30, 2014, 03:44:47 pm
content: Quote from: AlfBaz on November 30, 2014, 10:06:00 amWe've actually got a fully reverse-engineered driver for this in sigrok, so consider the job done. Unfortunately we're running behind on getting docs up for it in the wiki, but the code contains everything needed, and quite a few comments on the protocol:http://sigrok.org/gitweb/?p=libsigrok.git;a=blob;f=src/lcr/es51919.c;hb=HEADIn this case the device is based on the Cyrustek ES51919 LCR chip, and the DER EE DE-5000 driver is just a little wrapper around the code for this chip.

author: AlfBaz
author_rank: Super Contributor
timestamp: November 30, 2014, 03:55:55 pm
content: Quote from: biot on November 30, 2014, 03:44:47 pmDamn itThere's a day wasted. I searched and searched (including Cyrustek ES51919) and found nothing. I knew I should of asked here firstPS I needed the data to drive it from labview, so thanks for the complete spec

author: 4x1md
author_rank: Regular Contributor
timestamp: September 16, 2017, 09:35:22 pm
content: Quote from: biot on November 30, 2014, 03:44:47 pmThanks for doing it. Today I used this information for creating my own Python library for this meter.The repository is here:https://github.com/4x1md/de5000_lcr_py

author: mendip_discovery
author_rank: Super Contributor
timestamp: January 01, 2023, 08:30:10 pm
content: So I refused to pay the £100 for the IR to USB accessory so for £15 I bought a RS232 to usb sparkfun board and a Vishay IR sensor.I plugged it into my Pi and tried the above script but it is giving me errors about the syntax first it was the print function now it doesn't like the part which is lcr.pretty so still not got it working but on my way.