Snooping/Hacking Digital Scale display (RIBBON?)

This is the first time I’ve tried to hack a display. I want the output to be sent to my arduino so I can record the weight that the scale is reading.

I’m familiar with controlling a single 7 segment display, but not one of these. How can I hack this ribbon? I’m afraid to pull much more apart because I don’t want to damage anything.

Anyone have any thoughts?

Looks like the LCD segments are being driven directly by the chip under that black blob. Perhaps you can find a useful analog signal going INTO the blob rather than trying to see what the blob is displaying on the LCD. Check out the small chip to the left of the blob. Maybe that is a signal conditioning chip.

I would start by probing those test points marked with T4, T7 and T8. T5 looks like GND. If that chip is an LW24C02 its an EEPROM. It is probably used for storing the mode (g and oz) an the zero.

T4 may have an interesting value since it come from the "chip on blob" which is surely the LCD driver.

Where does the white and blue wire go? They also look interesting. Are there any other chips on that board?

T2 is GND, T5 is connected to pin 6 of the SOIC8 package (if you look closely, you can see the trace).

T8 is SDA, T5 is SCL. This is the I2C bus which connects the eeprom chip to the display driver.
(EEPROM chip: http://www.8051projects.net/e107_files/public/1339238201_38804_FT55741_24c02.pdf)

T4 would be interesting to know what they do.

At any rate, I recon the display itself shouldn't be difficult to integrate with. If you were to connect each of the 16 display pins to an arduino pin, and then cycle through each possible combination of pins, you could probably find out how all the pins relate to the segments of the display. Perhaps do it in a binary sequence.

Wow, thanks for all of the responses. Extremely helpful. I'm very new at reverse engineering (if that's what you want to call this) and I'm absolutely a blank slate when it comes to recognizing different chips.

Anyway, I'll do my best to respond/answer what you all asked/stated.

John, it seems like others have identified the black chip to the left of the blob as EEPROM. That makes me wonder... where is the conditioning chip at? It has to have one to go from analog to digital, doesn't it?
I'm also trying to avoid messing with the raw analog signal because I'd like to maintain the accuracy of the scale...I feel like if I messed with the analog signal, I would have to convert it "by hand" to get an actual number, which would be prone to inaccuracies... although if I'm wrong, please correct me (seriously, I'm trying to learn. If I say something stupid, call me out).

FM, I realize this is an incredible noob thing to say, but how do I probe them? Do I need a several hundred dollar oscilloscope (seen that mentioned on some blogs)? Regardless, how do I probe something that's so small? I'm very unfamiliar with traces, as the only electrical education I have is with breadboards and larger circuits. If you could send me a link or just some incite on how to get started with that, I'd love to probe everything on there even if I solve my issue before then.
Also, this is the only chip. The red and black wires go to batteries (as expected) and the blue/white wires go to the actual scale. That must be where it gets all of it's raw data from.

Tom, FM had suggested that perhaps T5 is GND. After looking at the chip datasheet that you found (clearly the correct chip, I didn't think to look up the serial number thing), it's obvious that T5 is SCL and T* is SDA, however, how did you know that T2 is GND when the EEPROM chip doesn't actual have a trace to it? I noticed that there's a faint trace going around the entire chip that touches T2. Is that how you knew?
Here's the most obvious question that will absolutely solve my problem, but how do I connect those 16 display pins to an arduino pin? I assume I have to solder things at this point, which I'm excited about (just bought a kit) but how do I actually go about doing that? Do I intercept the signal before it hits the ribbon (To the right of the black blob)? After that I'm very familiar with testing for the sequence, and I should be able to handle that.

Thank you all so much for the responses, you were incredibly helpful. I feel 100x more confident now, and if any of you have book recommendations/websites for the extreme amateurs that can help get me started with this hobby, please feel free to post them.

The conditioning chip as you put it is that big black blob. It is basically a microcontroller. In order to save money and space, the silicon itself is soldered directly to the board (rather than a seperate IC). It is then covered with a blob of epoxy to protect it.

I can tell T2 is GND because it is part of the ground plane (the large filled region). If you look at the second photo, you can see there is no gap around the edge of it, meaning that it must be connected to GND.
I can also tell that T5 is Not GND because if you look to the 'south-west' of the test point (assuming 'north' is up), you can see a trace coming from it and joining the trace to pin 6 of the EEPROM.

You have two options for joining it up. The first is to look under the screen and underneath you should find a series of solder joints - these could be desoldered and then have wires attached which go to the Arduino (i would suggest a 100Ohm resistor in series with each of the 16 wires until more is known about the display - just a precaution).
If it is not soldered on, but rather attached by a rubbery looking pink and black strip, then things get a little more interesting. You would in that case likely have to cut the traces going to the blob and scrape of the solder mask (using the back of a knife) and solder your wires to the cleaned PCB traces.

As for probing stuff, an oscilloscope is handy if you have access to one, but is not a requirement by any means. You can do some probing work with just an ordinary digital multimeter (even a cheap £5 one is a handy tool to have).
For digital signals, you can use an Arduino as a digital probe - I found a great site which has an arduino sketch and computer software which works well - I will have to find the link.

It is the pink/black strip… I’ve been referring to it as a ribbon, sorry about that. Why do I need to cut the traces going to the blob though? I’m imagining [signals → blob → display]. When you say cut traces going to the blob, do you mean between the display and the blob? (That’s what I assume, I just want to make sure I’m not doing something stupid). And in this case, are you referring to the white plastic-y piece that the ribbon/pink and black strip is connected to as the solder mask, or are you referring to the black blob as the solder mask?
Sorry for 100 questions, the way that I’m looking at it either way should work though, assuming that regardless of the technique, the original display will never work again.

EDIT: The white plastic-y piece that I’m talking about is an LED sitting behind the display. Wasn’t sure if it was working as a solder mask as well or something though.

One more EDIT: There isn’t any soldering on the bottom of this chip… is that going to be problematic? I’m not entirely sure how to connect to the PCB when there’s nothing on it that has been previously soldered.

Be aware that if you are directly interfacing with the LCD itself, it likely requires an AC signal - DC signals will ruin “bare” LCD displays; likely the blob chip either has an integrated LCD driver, or was generating the AC signal in some other manner. If you do want to go down this route, you would be best to stick a scope on those lines to the LCD to determine the frequency and voltage levels for the signals…

cr0sh, I appreciate the warning... for this project I think I'm just going to remove the LCD altogether. I don't need it for my project, I just need the scale's precise measurements. I'll keep in mind that the signals are probably AC though. My only tool is a cheap multimeter though and there aren't any test points for the traces from the blob to the LCD. Can I just stick a multimeter probe on the traces and one on T2 (GND)?

My plan right now is to cut off the LCD altogether and wire the 16 traces that had originally been going to the LCD to my arduino instead. My biggest issue right now is that I don't know how to solder something to those 1/2 millimeter thin traces that are so close to each other. If anyone can shed any light on that I think that's the route I'd like to take.

Also, just took another look at the "blob". Tare (zeroes the scale), Mode (switches from grams to oz's or something) and on/off all trace into the blob. There are 16 traces into the blob, and 16 traces out of the blob. Is it possible that not all of those 16 traces are relevant for me to get my data? For instance, I plan on "zero-ing" the scale manually with the arduino. Because you won't actually see the display, I'm just going to subtract an initial measurement from a final measurement to get the same result as if you had "zeroed". If there were actually only 4 inputs or something that I had to worry about that'd be nice, haha. The scale goes up to 500g so maybe there's only 8 or 9 inputs that actually matter to me...

Before to tear the LCD appart, measure the voltages on T4 and see if they change when applying a weight, also measure the voltage across the blue and white wires. It is probably easier to get the weight from an analog voltage than from the LCD control lines.

Based on that picture the pink foam is just there to rest the display on to stop it bouncing around and scraping against the board. If you remove that, you will probably find solder joints underneath it - that would make life easier.

Soldermask is what makes the board green. It is essentially a layer of high temperature paint under which are the copper traces. If you scrape off the paint, you reveal bare copper that you can solder too - but that is a last resort if you can't find solder joints under that pink block of foam.

As for setting to 0, you could probably wire an arduino pin directly to the tare button and then use that to trigger the scale to reset.

It is possible that the display could be DC. It looks a similar design (clear transistors sandwhiched between two layers of glass) as the one in my alarm clock. That one is connected directly to the outputs of a what appears to be a PIC microcontroller.
If you can find solder joints, I would suggest turning the scale on, setting it to 0, and then using the multimeter between each pin of the display and ground to see what it looks like. (You can use T2 testpoint as the GND terminal of the multimeter).

I just tore apart my scale for the heck of it and it’s very similar to yours inside. It has the same black, red, green, and white wires coming from the sensor itself. After some messing around I came up with this schematic (see image) where the two potentiometers are the flex sensors used to measure the weight (one is compressed and the other is stretched). If you measure the voltage between the green or white wire and ground you will see that it changes a little bit when you weigh down the scale. You can hook up these wire to analog pins on the arduino and with a bit of software and calibration you should be able to get the weight.

Are the values proportional? How big are those variations? Is it calling for a differential amp or instrumentation amp?

I get about 25mV of change from unloaded to fully loaded, so 0 - 50mV between green and white. On second thought that would only be 10 values using the arduinos ADC, so you would indeed have to amplify it. I don't know what the difference between a differential and an instrumentation amp is, but I don't see why a simple differential amp between the green and white wires wouldn't work. I didn't test how the voltages correspond to weight applied but I'm guessing it's non-linear.

An instrumentation amplifier is a type of differential amplifier which has buffered inputs.
Lower drift, lower DC offset, lower noise, higher common mode rejection better accuracy. You can buy them in a package with all resistors laser trimmed.

My real question at this point is why people think it would be beneficial to try to mess with the analog signals. I understand that it's possible, but I truly doubt I'd be able to get it to read with the 0.1gram precision that it can right now, which is really important. All the information was great though, I really appreciate the responses and I learned a lot. The only thing that I'm stuck on now is how to solder wires to the board when there aren't any holes predrilled in it and the wires are about a half millimeter apart from each other.
If anyone has any guidance on that I'm ready to go for it. I'm taking the display-hack route. Going to attempt to read the information after it passes through the blob and before it reaches the display (unless someone explains explicitly why that's stupid, but from the responses I feel like that's the way to go).
Thanks again to everyone, I wouldn't feel comfortable finishing this project without you.

If anyone has any last minute ideas on how to get those wires connected, please let me know.

Have you looked under the pink foam? What is under there.
I suspect that the ribbon cable is a much wider pitch than 0.5mm, and if there are solder pads underneath the foam, you would find it much easier.

Both of these photos are from under that foam. It looks much easier to try to pick up on the signals here. the foam doubled as a cushion and an LED backlight for the glass display.
Would there be any way to cut off the glass piece and just tape wires to the black strips on the ribbon to get the currents?
The second picture helps show how small this whole thing is. Would be very difficult to attempt soldering to that.

If you do decide to connect wires directly to the display then how are you planning to hook them up to your arduino? LCD's don't use 5v logic signals as far as I know.