the sorcery of copper

User Tools

Site Tools


This project is about interfacing a bathroom weight scale with the computer. The goal is to be able to connect the scale to the computer and have it sent the weight it measures.

the scale

The scale used is a Korona KFW-55. This scale was simply around when the project started.

Here the scale:

A closer look:

the board

Following components are used:

  • pin headers to connected the 4 strain gauges, 4 metal plates, 2 buttons
  • 1 switch to set the displayed weight unit (kg, lb, st)
  • 3 buttons to set individual profiles
  • an LCD connected using a zebra cable
  • a 3.3 V voltage regulator: 7133
  • a quad op-amp: Texas Instrument LM324
  • a I²C EEPROM memory: Fairchild 24C02

The scale has a JP1 header on the board. Pin 1 is the one near the switch. The pinout is the following:

  1. ground
  2. low
  3. high on power on
  4. high on power on
  5. PWM
  6. high on power on

I soldered a pin header and some cables on it.

the micro-controller

The scale's IC provides a Pulse Width Modulated (PWM) signal. This encodes the weight measures. It's frequency is around 3 Hz (it's not exact). The high and low duty cycle encode the current weight measured. The high duty cycle decreases when the weight increases. The low duty cycle increases when the weight increases. The low duty cycly is linearly proprotional to the weight. It still needs a minimum weight to start measuring correctly. The origin of this linear curve is not at 0.

The micro-controller code is written in C. It reads the state of the scale using pin 3. It reads the weight on the scale using pin 5. The code is available in the git

By programming the curve parameters in the code it can calculate the weight. These parameters have been experimentally identify, using the measured values in scale.ods.

Instead of the two CR2032 coin cell batteries, a 9 V block battery is used. I integrated the Arduino Nano clone board in the scale. Using the USB port in the front it is possible to connect to the serial interface and read the measured weight.

scale_korona.txt · Last modified: 2016/03/31 19:56 by kingkevin