Arduino Hx711 Digital Scale

Share on facebook
Share on google
Share on twitter
Share on linkedin
A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

After finding a broken scale in the trash at work, I decided to remove the load cell and build a digital scale with an Arduino. The output of the load cell is too minute for an Arduino to read on it’s own, so I picked up a <$5 amplifier module online to convert the reading into a signal the Arduino can read. The Hx711 module is a 24 bit ADC, which offers high resolution and amplification. It’s also designed for scale / load cell applications, so talking to it requires a minimum of code.

Connections are fairly simple. You will need a 4 wire load cell, and those typically have Green, White, Red, and Black wires.

Connect as follows:
Red: E +
White: A +
Green: A –
Black: E –

B- & B+ could be used for another load cell, but we are not using these.

If you get negative readings (-12g), reverse the A+ and A- wires.

On the other side of the module:

GND: Arduino GND
DT: Arduino A2 (can change this in code)
SCK: Arduino A3 (can change this in code)
VCC: Arduino +5

Library:

You will need to download the library files (the library files at dfrobot will not install properly using the add library function, these will).

Per the instructions at dfrobot, you may have to adjust a value in the Hx711.h file in the library to zero your scale. Mine did not need that.

Code:

/* sample for digital weight scale of hx711
 * library design: Weihong Guan (@aguegu)
 * library host on
 *https://github.com/aguegu/ardulibs/tree/3cdb78f3727d9682f7fd22156604fc1e4edd75d1/hx711
 */

// Hx711.DOUT - pin #A2
// Hx711.SCK - pin #A3

#include <Hx711.h>
Hx711 scale(A2, A3);

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.print(scale.getGram(), 1);
  Serial.println(" g");
  delay(200);
}

To put the measured value into a variable for further processing, replace the code in void loop with:

float value = scale.getGram();
Serial.print(value);
Serial.println(” g”);
delay(200);


Steve Spence

Steve Spence

Leave a Reply

30 thoughts on “Arduino Hx711 Digital Scale”

  1. Can't find link for part list can u link it?. Im trying to make automatic gunpowder scale, so can I make it that I set a weight and when the scale reaches it, it will open motor relay.. Sorry my bad english…

  2. Hi sir, can i have the full names of equipments used for this project? And can i add two leds, so that when weight detected, one led lights up, if no weight detected, another led lights up. Need it urgent. Please. Thank you.

  3. hi, it seems that i got an error as follows

    arduino_Load:14: error: 'scale' was not declared in this scope

    Serial.print(scale.getGram(), 1);

    ^

    exit status 1
    'scale' was not declared in this scope

    please advise, thank you

  4. Check your connections and your code. I assume you downloaded the library, and have all 4 wires connected properly. Does your hx711 module function on a different load cell?

  5. I need some help with my program! i need to have a relay powered string tension motor is start from 0 pound and if reached at 55 pound, motor stop.

  6. Hey, I’m trying to connect a lp7515 scale (http://www.global-measurement.com/en/products/lp7515) to an Arduino Nano. the scale outputs it’s readings thru a full duplex rs232 serial port. do i need the Hx711 or could i read right off the rs232? if so how do i figure out the pin out? explain it as you would to a child, i’m new to this 🙂 If you email me a reply i can get you more info, picutres, etc. Also I’ll give you the back story on what and more importantly why i’m trying to do this, it’s an awesome story.

Leave a Comment

Your email address will not be published. Required fields are marked *