Hacking the LCD on a device is a really nice, non-invasive way to get a device’s information. Once you’ve done one LCD, all other LCDs are easy to do, with some adjustments. I use this technique a lot. I like it because it does not interfere with the device’s own designed behavior or circuitry, so that it can continue to function properly, while still allowing for data output that can then be used to turn a non-connected device into a connected one. Mine connects to my wireless Reactron network.
With the kitchen scale, you can get very precise readings (1 gram resolution) over a range up to 5 kg. This exact same hack can be applied to jewelers scales, which will have a tighter resolution (0.1 g or even 0.01g - advertised, but maybe not real) and will have a smaller range, typically < 1kg. A shipping scale may have resolutions in the 5 to 10 gram range, and a max capacity between 15 and 50 kg. Bathroom scales may have 20 gram precision and > 100 kg range. You can use this one hack to read them all, and choose the scale according to your application. In my case, I do a lot in the kitchen scale range, so this project will focus on that.
This scale originally took two AA batteries, but I put in a 3.7V LiPo so I could recharge it. I am keeping it awake a lot, and overriding its one minute idle timeout, so that it stays on and gives me continuous readings. Consequently I wanted a rechargeable setup, otherwise it would have resulted in a large number of spent batteries. The Arduino clone and the Hope RF radio both run at 3.3V, so that’s all an easy match.
I have three of these units currently operating. They are used for two purposes, but I have plans for more.
The first purpose was to measure the amount of water distillate precipitating from a Graham condenser. The distillate enters a beaker that has a limited capacity. I wanted the system to shut itself off before any overflow condition occurred. Ultimately I decided that this was important enough to add a second scale to weigh not only the beaker with the distilled water, but the first scale as well. That is, one scale on top of the other. Since I know the weight of the scale, it is just a constant, an offset. If either scale fails, a reading is available from the other. Just a little redundancy for something important.
The second purpose was to detect a cup for my coffeemaker, and determine if it was already filled or not. This prevents my coffeemaker from initiating an action resulting in overflow.
A further purpose, to be implemented in the future, is to detect the presence of cargo on material movers I am building, to increase the success rate of generalized product handoff from material processor (such as distiller or coffeemaker) to mover, and from mover to destination. It is important that my coffee gets to me - the machines must know when they have it securely, and detect emergency conditions like a spill.
I will put details of the build and the LCD hack itself in the project logs.