HX711, 5kg Load Cell, Arduino Uno showing constant -1 reading

I have a 5kg load cell connected to an HX711 and Arduino Uno using Bogde’s HX711 library with the Basic Example. I’ve stripped down my project to where I’m now just trying to get the change in signal when the weight changes without calibration, nothing else connected. I’ve reviewed the other related threads, but still can’t get this very basic thing to work. The Load cell is showing a -1 reading no matter what weight I put on the load cell. I would be grateful for any guidance.

06:10:09.524 -> HX711 reading: -1

Load Cell
I took the load cell from a previously functional 5kg kitchen scale. https://www.amazon.com/gp/product/B07R3B36GW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

The accuracy should be .1g to 5kg. I have no data sheet for the load cell.
To test the load cell itself, I measured 1001 ohms (1001 on the 2000 ohm multimeter setting) across E+ and E- (red and black) and across the signal wires (green and white). It appears to be a balanced wheatstone bridge.

Supplying 5V DC on E+ and E-, I measured the mV signal across green and white signal wires and showed 0mV. A lightweight object showed 10mV (.1 on the “200mV” setting) and heavier objects showed different mV values. I think that indicates the load cell is probably okay.

Wiring -
I soldered the wires from the load cell to the wires that are plugged into the breadboard and used wire shrink wrap. After reading the tips, I re-soldered them to be as short as possible to try to eliminate issues. I think this part is okay, given the readings above.

HX711 chip
I pulled the HX711 chip out of this set that came with a load cell (that I didn’t use).

I’m not sure how to troubleshoot the chip itself, but the specs are:
Features Two selectable differential input channels On-chip active low noise PGA with selectable gain of 3264 and 128 On-chip power supply regulator for load-cell and ADC analog power supply On-chip oscillator requiring no external component with optional external crystal On-chip power-on-reset Simple digital control and serial interface: pin-driven controlsno programming needed Selectable 10SPS or 80SPS output data rate Simultaneous 50 and 60Hz supply rejection Current consumption including on-chip analog power supply regulator: normal operation < 1.5mApower down < 1uA Operation supply voltage range: 2.6 ~ 5.5V Operating Temperature Range:-20 degree ~ +85 degree Connection: Red to E+ Black to E- Green to A+ White to A-

Code

I’m using Bogde’s HX711 library in github: GitHub - bogde/HX711: An Arduino library to interface the Avia Semiconductor HX711 24-Bit Analog-to-Digital Converter (ADC) for Weight Scales. and his basic example.

#include "HX711.h"
// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 3;
const int LOADCELL_SCK_PIN = 2;

HX711 scale;
void setup() {
  Serial.begin(9600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}
void loop() {
  if (scale.is_ready()) {
    long reading = scale.read();
    Serial.print("HX711 reading: ");
    Serial.println(reading);
  } else {
    Serial.println("HX711 not found.");
  }
  delay(1000);
}

That means the HX711's DOUT pin is active and does react on the changes of the PD_SCK pin (it goes from LOW to HIGH).

Check your HX711 board. Is the XI pin pulled LOW or HIGH? Where is the RATE pin connected to?

Thanks, pylon. I used the diagram for the HX711 chip on Page 6 here.

(see the image also attached) to try to answer your questions below.

Using that, I visually inspected the XI pin on the board and it looks like it (Pin 14) is connected to ground there. On the breadboard, I had connected that to the “-” strip and connected the “-” strip to GND on the Arduino Uno. Pulled Low. If you meant for me to check in some other way, please let me know.

The RATE pin looks like it’s Pin 15, also connected to ground. I’ve attached a closeup of the board, as I’m not confident about any thing at this point.

I also thought I might be able to look at the wave forms on the oscilloscope to see what’s happening with the HIGH/LOW. Please see attached. I’m not seeing any changes or responses to pressure on the load cell plate on either DOUT or SCK. Yellow (top) is connected to DOUT with ground on the probe connected to the oscilloscope. Purple is connected to SCK with the ground on the probe connected to GND on the Arduino. Probes are on 10x.

Thank you for trying to help!

IMG_3723.JPG

IMG_3725.JPG

Solved! I’m posting this embarrassing truth for any new person who may be running into the same issue. If you look at the original picture, I had the pin strips that came with my HX711 on wrong.

Attached is a snip from How to connect and use a Weight Sensor + HX711 with an Arduino - Tutorial - YouTube. The video shows a closeup of the HX711 on the breadboard similar to how I had it except that they had the strip inserted from the bottom and the pin strip is soldered on.

I can’t tell you how many different things I’ve tried over the last several days–replacing load cell twice, resoldering the wires to the load cell, different HX711 libraries, switching out the Arduino Uno, different PC (hah), different tutorials, etc. etc. Learned a lot!

Thanks for posting :slight_smile:
If may can be helpful to someone, I’ve considered this library the best for arduino GitHub - olkal/HX711_ADC: Arduino library for the HX711 24-bit ADC for weight scales cause it can also save calibration on EEPROM (and not only for that)
I’ve solved my zero read by wiring differently the sensor, red and green cable from sensor were crossed/wrongly colored (do a measure with tester and be sure the load of the resistive bridge is balanced)

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.