How to hack a digital postal / kitchen scale to work with Arduino? This tutorial shows how to take a cheap $6 digital scale and have Arduino read the weight.
There are many cool projects you can then do.
Arduino Digital Scale Hack
Technical Overview
a digital scale has something called a load cell to measure weigh. Load cell is a metal bar that gets stretched when weight is put on top. When the metal gets stretched it changes its electrical resistance. You can make a relation ship between amount of stretch and resistance change. That is what how we get the weight.
The issue is that the streatch is very very tiny, so is the resistance change, very very tiny. So inorder to read that small electrical resistance change, we need an amplifier. The operational amplifier that was designed just for that function is called Instrumentation Amplifier.
An Instrumentation amplifier can take tiny reistance changes an scale into 0v to 5v range that any microcontroller can read.
One last note, a technique to measure that tiny electrical resistance variation is called Wheatstone bridge. You’ll that nomenclature used through this turorial
Material needed
- Arduino Uno
- Digital Scale (from eBay)
- Instrumentation amplifier: INA122P or similar
- Wires (eBay)
How to get the scale: Do a search for “5kg digital scale” on eBay and you should find the same scale as the one below.
Project Objective:
Have a Arduino (or other microcontroller) reading the the load cell that I removed from a kitchen scale.
Approach:
Read the load cell’s 4 wires and use an Instrumentation Amplifier to get the signal in the voltage range the microcontroller can read. My microcontroller has a 10 bit analog to digital converter mapped 0-5v.
Load Cell Interface Circuit
Intermediate Results
Why not working?
Removing the off-set: balancing the bridge
Updated Results
By adding a trim circuit to remove the voltage offset, we now read the value encompasses the full weight range, that the load cell is capable of.
Have a question? Leave a comment and I’ll respond.