I got one of these cheap IR thermometers (edit updated the link to something that works…)
http://www.aliexpress.com/item/1-Pcs-Laser-LCD-Digital-IR-Infrared-Thermometer-GM320-Temperature-Meter-Gun-Point-50-330-Degree/32374063240.html
Great tool for the money.
I thought it would be good to be able to control it and log to a PC for a couple of uses in the workshop.
I did the obvious and pulled it apart to see if there was a serial bus I could tap. No such luck that I could find, with the controller under a epoxy blob. That didn’t leave many options other than reading off the LCD, either directly or via a webcam. I don’t find the webcam option all that practical for what I wanted.
So I went about reverse engineering the LCD drive, and reading it off using an Arduino. The process goes along the lines of:
- Disassemble and expose the LCD drive traces by scraping off the solder mask
- Using a scope, find the common drive lines (LCD are driven using a matrix arrangement with common lines and segment drive lines)
- Cut the traces to common drive lines, then use a function generator to excite each of the LCD common lines and all the segments lines to build a complete matrix for what combination drives what segments.
At that point, having captured the drive voltages and frequency combined with the drive matrix, you have everything needed to develop either a capture solution or a new LCD drive if re-purposing the LCD.
I then repaired the common drive traces, attached the wires to go to the Arduino (using wire-wrap wire), replaced the scrapped off solder mask with a UV cure paste and reassembled.
In this case the LCD drive scheme uses 4 voltage states, so to read the state required scanning the segment drive lines with the ADC. Fortunately I was able to get the info I wanted using only 8 of the segment drive lines, but ideally a controller with a wider ADC mux would have allowed more of the LCD functions to be monitored.
Below are some pictures of the process, but if anyone is interested in more detail I’m happy to answer questions or have a chat at the space on how to go about it.
Code will be put into GITHUB.
Scope capture of what the common drive signals (in this case the first two common lines is channels one and two.)
Disassembled, after the common lines on the right have been repaired.
Connecting wires attached.
Solder mask repaired and wires hot glued down.
Lens assembly and display all reassembled prior to closing up.
How it fits in the case.
Almost reassembled.