IoT Industrial Scale

Contributors: jenfoxbot
Favorited Favorite 8

Reading the Load Cells

Connect the OpenScale


One of the awesome features of the OpenScale program is that it outputs data to the Arduino IDE serial monitor (9600bps). That means all you need to do is plug in your OpenScale via USB, select the appropriate board (Arduino Uno) and port, and you can read the load cell data directly from the Arduino Serial Monitor or another preferred terminal program. More info on how to do this here.

Enter 'x' to bring up the OpenScale settings menu. Entering 'x' again leaves the menu and the OpenScale will start printing data!

serial monitor

Note: If you are connected to another microcontroller, the OpenScale does not send data when in the menu mode.


Before we gather any data, we need to calibrate the OpenScale to get accurate measurements. It's also recommended to re-calibrate the system every few weeks (or days) to avoid creep (slow change in reading over time).

To calibrate the scale:

  1. Remove all weights (except the platform).
  2. Open the OpenScale menu and select '2' to open the calibration setting.
  3. Place a (known) weight on the scale and adjust the calibration factor using '+' and '-' until the scale reads out the calibration weight within a reasonable margin in error.*

Also, the load cell output varies with temperature ('cause heat causes expansion), so we need to keep the system at a constant temperature. If you wanna get fancy, you can also use different calibration factors at different temperatures (or temperature ranges)..

**My experimental uncertainty was about +/- 5 lbs.*


Each time you power up the OpenScale, you'll need to tare it. This is an easy process, but it means you need to connect the OpenScale directly to a laptop and open the settings menu.

To tare the scale, remove all weights. Input '1' in the OpenScale menu, wait for it to finish taring, then exit the menu and check that the output is close to zero (+/- 5 lbs). If the reading is still off, taring again should fix the problem -- if not, check that the load cell grounding wires are properly connected to ground.

Remove Trigger

We also need to remove the serial trigger from the OpenScale. Do this by going to the menu, inputting 't', and turning the serial trigger to OFF.

Customizing the OpenScale

You can change various other settings on the OpenScale using the serial monitor, including units (lbs/kg), print rate, decimal places, etc. You can adjust, or peruse, the entire OpenScale program by downloading it from GitHub!