Project tutorial

The Dragon Weigher - Arduino Uno Controlled HX711 © GPL3+

Arduino and HX711 Load Cell weight scale to keep track of our Bearded Dragon's weight. He's too long for typical kitchen scale.

  • 1,094 views
  • 2 comments
  • 1 respect

Components and supplies

Apps and online services

About this project

Need to weigh anything? A Bearded Dragon perhaps?

So... the latest member of our family, a bearded dragon named DaVinci had a stomach bug which was really messing with his appetite, etc. We needed a scale with a resolution in the grams/oz. range but with a big enough base to hold him in his entirety so we could make sure he was on the rebound to health with his diet. Gotta eat those BUGS BUDDY BOY! Arduino and HX711 Load Cell weight scale to the rescue. Read on to build one for your reptile family members, or for whatever you need to weigh.

1. Parts Needed:

Any reference to merchants and particular parts is just that, reference. Caveat Emptor.

  • 5kg Load Cell and HX711 Combo Pack Kit - Amazon
  • NOTE for the kit above: One side both holes tapped M4 thread, the other side both holes tapped M5 thread.
  • Precision Steel Scale Calibration Weight Kit - Amazon
  • For Parts: 4 wheel 2 layer Robot Smart Car Chassis Kit Amazon (I used the acrylic bases and standoffs from a previous project I had built, so parts were already present for me)
  • LCD 1602 w/I2C Serial Backpack - Amazon
  • Jumpers, USB Cable

2. Software Needed:

Assumptions:

  • Knowledge of Arduino IDE.
  • Knowledge on installing and utilizing Arduino libraries.
  • Knowledge of obtaining libraries from GITHub.

Libraries:

Final Arduino Sketch:

  • See attached.

YouTube Resource I Used:

  • Ralph Bacon's Videos and Downloads I used for this project. Ralph Bacon

3: Hardware Setup:

This is where YOU need to get creative based on what you have on hand for building the scale frame. Whether it's like mine or if you just want to use some Popsicle sticks and 2X4's... it's your call.

Regardless of how you assemble it, just pay close attention to connection locations and jumper cable lengths you'll be using.

Power Up and TEST your connections once, or twice, before you put it all together.

IMPORTANT NOTE: Make sure all solder joints are completely and solidly soldered on the HX711. It is very sensitive to external EMF. One of my connections was off just a little and the numbers went haywire! I would wave my hand 3 foot above the rig and it would stop dead in it's tracks. Crazy!

Wiring:

Arduino LCD HX711 LOAD CELL

  • Arduino 5v--------------------5v LCD
  • Arduino 3v--------------------3v HX711
  • Arduino Grnd----------------Grnd LCD
  • Arduino Grnd----------------Grnd HX711
  • Arduino 10--------------------Clck HX711
  • Arduino 11-------------------- Data HX711
  • Arduino A4--------------------Data LCD
  • Arduino A5--------------------Clck LCD
  • HX711 E+-----------------------LOAD CELL RED
  • HX711 E- -----------------------LOAD CELL BLACK
  • HX711 A- -----------------------LOAD CELL GREEN
  • HX711 A+-----------------------LOAD CELL WHITE

DO NOT CONNECT B+ B-

4: Final Step - Home Stretch:

This final step of steps may seem a little chaotic, so jump around at your own pace.

  • In the Arduino sketch, if you are you using I2C for the LCD, you may need to change it's address to match your device. If you don't know it's address, you can download the I2C Scanning Tool from here to track it down. It is named ESP32_Wemos_I2C_Scanner but will work on any Arduino compatible with the Wire.h library.
  • Head to Ralph Bacon's page now for additional tips on calibration.
  • Refer to the Bogde GIT page for tips in the Readme.
  • Calibration Time!! Once you have tested all, and assembled, calibrate your scale....even if you calibrated earlier, do it again now.
  • The HX711 will work on other controllers like the ESP8266 and ESP32. You may need to adjust processor speed though. Refer to Andreas Speiss's page for tips on that.

Code

Arduino Uno powered HX711 w/1602LCD-I2C Serial BackpackArduino
#include "Arduino.h"
#include "HX711.h"

//#define RST 4
#define DOUT  11
#define CLK  10
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);

// Create our LoadCell object
HX711 scale(DOUT, CLK);

void setup() {
	Serial.begin(9600);
 lcd.init();
  // Print a message to the LCD.
  lcd.backlight();

	scale.set_scale();
	scale.tare();  //Reset the scale to 0
}

void loop() {
	//Adjust to this calibration factor
	scale.set_scale(-376.0);

	// Read an average of X readings
	Serial.println("Reading weight");
	float grams = scale.get_units(5);
  float ounce = (grams*(0.035274));
  float pound = (grams*(0.00220462));
  

	Serial.print(grams);
	Serial.println(" g");

 lcd.setCursor(0,0);
  lcd.print("Gram:");
  lcd.print(grams);
  
  lcd.setCursor(0,1);
  lcd.print("Oz:");
  lcd.print(ounce,2);

  lcd.setCursor(9,1);
  lcd.print("LB:");
  lcd.print(pound,2);

  

  
}

Comments

Similar projects you might like

A Microwave Interface for the IKEA Duktig Kids Kitchen

Project showcase by Myles Eftos

  • 1,308 views
  • 8 comments
  • 7 respects

Servo Signals and Characterization

by 3 developers

  • 1,030 views
  • 4 comments
  • 13 respects

Music Adaptive RGB LED with Arduino and Processing

Project in progress by ounane mohamed elfarouk

  • 997 views
  • 6 comments
  • 10 respects

Cellular IoT with Blynk & Hologram

by Moheeb Zara

  • 5,027 views
  • 9 comments
  • 18 respects

Monitoring Temperature Remotely with Blynk for Dummies

Project in progress by Cmtelesann

  • 1,224 views
  • 2 comments
  • 4 respects

How to Make a Customizable Punchable Keyboard Button

Project tutorial by Amal Mathew

  • 1,528 views
  • 4 comments
  • 4 respects
Add projectSign up / Login