Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use HX711: Examples, Pinouts, and Specs

Image of HX711
Cirkit Designer LogoDesign with HX711 in Cirkit Designer

Introduction

The HX711 is a precision 24-bit analog-to-digital converter (ADC) designed for high-accuracy weight measurement and industrial control applications. Manufactured by Arduino under the part ID HX711-Module, this component integrates a low-noise programmable gain amplifier (PGA) to interface directly with load cells, making it ideal for building digital weighing scales. Its compact design and high resolution make it a popular choice for applications requiring precise weight measurements.

Explore Projects Built with HX711

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi and ESP8266-Based Smart Weighing System with Camera Integration
Image of CAPSTONE HARDWARE: A project utilizing HX711 in a practical application
This circuit integrates multiple HX711 weighing sensor modules connected to load cells for weight measurement, an OV7725 camera module interfaced with a Raspberry Pi 4B for image capture, and a WeMOS ESP8266 for wireless communication. Additionally, it includes an Adafruit 24-Channel PWM LED driver for controlling LEDs and a buzzer module for audio alerts.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560-Based Smart Weighing System with Bluetooth Connectivity
Image of SMART BRIDGE CIRCUIT DIAGRAM: A project utilizing HX711 in a practical application
This circuit is a weighing system that uses two load cells connected to HX711 modules for weight measurement, interfaced with an Arduino Mega 2560. The system includes an LCD for displaying weight, a Bluetooth module for wireless communication, and LEDs for status indication, with a micro servo for additional mechanical control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Smart Weighing System with ESP8266 and HX711 - Battery Powered and Wi-Fi Enabled
Image of gggg: A project utilizing HX711 in a practical application
This circuit is a multi-sensor data acquisition system powered by a 18650 battery and managed by an ESP8266 microcontroller. It includes a load sensor interfaced with an HX711 module for weight measurement, an IR sensor, an ADXL345 accelerometer, a VL53L0X distance sensor, and a Neo 6M GPS module for location tracking. The system is designed for wireless data transmission and is supported by a TP4056 module for battery charging.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi 5-Based OCR and Weighing System with Wi-Fi Connectivity
Image of OCR Project: A project utilizing HX711 in a practical application
This circuit integrates a Raspberry Pi 5 with an OV2640 camera module, an ILI9488 TFT screen, an infrared proximity sensor, and a load cell with an HX711 sensor module. The system captures images and performs OCR to extract text from documents, displays the text and weight measurements on the TFT screen, and allows data export via WiFi.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with HX711

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of CAPSTONE HARDWARE: A project utilizing HX711 in a practical application
Raspberry Pi and ESP8266-Based Smart Weighing System with Camera Integration
This circuit integrates multiple HX711 weighing sensor modules connected to load cells for weight measurement, an OV7725 camera module interfaced with a Raspberry Pi 4B for image capture, and a WeMOS ESP8266 for wireless communication. Additionally, it includes an Adafruit 24-Channel PWM LED driver for controlling LEDs and a buzzer module for audio alerts.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SMART BRIDGE CIRCUIT DIAGRAM: A project utilizing HX711 in a practical application
Arduino Mega 2560-Based Smart Weighing System with Bluetooth Connectivity
This circuit is a weighing system that uses two load cells connected to HX711 modules for weight measurement, interfaced with an Arduino Mega 2560. The system includes an LCD for displaying weight, a Bluetooth module for wireless communication, and LEDs for status indication, with a micro servo for additional mechanical control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of gggg: A project utilizing HX711 in a practical application
Smart Weighing System with ESP8266 and HX711 - Battery Powered and Wi-Fi Enabled
This circuit is a multi-sensor data acquisition system powered by a 18650 battery and managed by an ESP8266 microcontroller. It includes a load sensor interfaced with an HX711 module for weight measurement, an IR sensor, an ADXL345 accelerometer, a VL53L0X distance sensor, and a Neo 6M GPS module for location tracking. The system is designed for wireless data transmission and is supported by a TP4056 module for battery charging.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of OCR Project: A project utilizing HX711 in a practical application
Raspberry Pi 5-Based OCR and Weighing System with Wi-Fi Connectivity
This circuit integrates a Raspberry Pi 5 with an OV2640 camera module, an ILI9488 TFT screen, an infrared proximity sensor, and a load cell with an HX711 sensor module. The system captures images and performs OCR to extract text from documents, displays the text and weight measurements on the TFT screen, and allows data export via WiFi.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Digital weighing scales
  • Industrial process control systems
  • Force measurement systems
  • IoT-based weight monitoring
  • Laboratory equipment

Technical Specifications

The HX711 is optimized for high precision and low noise, making it suitable for sensitive measurements. Below are its key technical details:

Parameter Value
Supply Voltage 2.6V to 5.5V
Operating Current ~1.5mA
Standby Current <1µA
ADC Resolution 24-bit
Input Channels 2 (Channel A and Channel B)
PGA Gain 32, 64, or 128 (programmable)
Input Voltage Range ±40mV (at Gain = 128)
Data Output Rate 10Hz or 80Hz (selectable)
Communication Interface Serial (2-wire: Data and Clock)
Operating Temperature Range -40°C to +85°C

Pin Configuration and Descriptions

The HX711 module has a total of 4 pins for power and communication. Below is the pinout:

Pin Name Description
VCC Power supply input (2.6V to 5.5V). Connect to the 5V pin of the Arduino.
GND Ground connection. Connect to the GND pin of the Arduino.
DT (Data) Serial data output. Connect to a digital input pin on the Arduino.
SCK (Clock) Serial clock input. Connect to a digital output pin on the Arduino.

Usage Instructions

The HX711 is straightforward to use with microcontrollers like the Arduino UNO. Below are the steps to integrate it into a circuit and use it effectively:

Circuit Connection

  1. Power Supply: Connect the VCC pin of the HX711 module to the 5V pin of the Arduino and the GND pin to the Arduino's GND.
  2. Data and Clock Pins: Connect the DT pin to a digital input pin (e.g., D3) and the SCK pin to a digital output pin (e.g., D2) on the Arduino.
  3. Load Cell Connection: Connect the load cell's wires to the HX711 module's input terminals (E+, E-, A+, A-, or B+ depending on the channel used).

Arduino Code Example

Below is an example Arduino sketch to read data from the HX711 module using the popular HX711 library:

#include "HX711.h" // Include the HX711 library

// Define HX711 pins
#define DT_PIN 3  // Data pin connected to Arduino digital pin 3
#define SCK_PIN 2 // Clock pin connected to Arduino digital pin 2

// Create an HX711 object
HX711 scale;

void setup() {
  Serial.begin(9600); // Initialize serial communication
  scale.begin(DT_PIN, SCK_PIN); // Initialize the HX711 with the defined pins

  // Wait for the scale to stabilize
  Serial.println("Initializing scale...");
  delay(2000);

  // Set the scale to zero
  scale.set_scale(); // You can set a calibration factor here if known
  scale.tare();      // Reset the scale to zero
  Serial.println("Scale initialized.");
}

void loop() {
  // Read weight from the HX711
  if (scale.is_ready()) {
    float weight = scale.get_units(10); // Average 10 readings for stability
    Serial.print("Weight: ");
    Serial.print(weight);
    Serial.println(" grams");
  } else {
    Serial.println("HX711 not ready. Check connections.");
  }

  delay(500); // Wait 500ms before the next reading
}

Important Considerations

  • Calibration: The HX711 requires calibration to provide accurate weight readings. Use a known weight to determine the calibration factor.
  • Noise Reduction: Minimize electrical noise by using short wires and proper grounding.
  • Power Supply: Ensure a stable power supply to avoid fluctuations in readings.
  • Data Rate: The HX711 supports two data rates (10Hz and 80Hz). Use the slower rate for higher accuracy.

Troubleshooting and FAQs

Common Issues and Solutions

Issue Possible Cause Solution
No data output from the HX711 Loose or incorrect wiring Verify all connections and ensure proper pin mapping.
Unstable or fluctuating weight readings Electrical noise or unstable power supply Use shorter wires, proper grounding, and a stable power source.
Incorrect weight readings Calibration not performed Perform calibration using a known weight and set the correct calibration factor.
HX711 not detected by Arduino Incorrect pin configuration or library issue Check the pin definitions in the code and ensure the HX711 library is installed.

FAQs

  1. Can the HX711 measure negative weights?
    Yes, the HX711 can measure negative weights if the load cell is configured to detect both tension and compression.

  2. What is the maximum weight the HX711 can measure?
    The maximum weight depends on the load cell used. The HX711 itself supports an input voltage range of ±40mV at a gain of 128.

  3. Can I use the HX711 with a 3.3V microcontroller?
    Yes, the HX711 operates at 2.6V to 5.5V, making it compatible with 3.3V systems. Ensure the load cell is also compatible with 3.3V operation.

  4. How do I change the data rate?
    The data rate can be changed by connecting a resistor to the RATE pin on the HX711 IC. Most modules are preconfigured for 10Hz.

By following this documentation, you can effectively integrate the HX711 into your projects for precise weight measurement.