

The HX711 Red is a precision 24-bit analog-to-digital converter (ADC) specifically designed for applications requiring high accuracy and stability, such as weighing scales and industrial control systems. It features an integrated low-noise programmable gain amplifier (PGA) that allows direct interfacing with load cells, making it an ideal choice for weight measurement systems. The HX711 Red simplifies the process of converting small analog signals from load cells into digital data that can be processed by microcontrollers.








The HX711 Red has 16 pins, but only a subset is typically used in most applications. Below is the pin configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (2.6V to 5.5V). |
| 2 | VFB | Feedback voltage for internal regulator (connect to VCC for external supply). |
| 3 | VBG | Bandgap reference voltage output (not commonly used). |
| 4 | AVDD | Analog power supply (connect to VCC). |
| 5 | AGND | Analog ground. |
| 6 | AINP | Positive input for Channel A. |
| 7 | AINN | Negative input for Channel A. |
| 8 | AINB | Positive input for Channel B. |
| 9 | AINB- | Negative input for Channel B. |
| 10 | DGND | Digital ground. |
| 11 | PD_SCK | Power-down and serial clock input. |
| 12 | DOUT | Serial data output. |
| 13 | DVDD | Digital power supply (connect to VCC). |
| 14 | NC | Not connected. |
| 15 | NC | Not connected. |
| 16 | NC | Not connected. |
Below is an example of how to interface the HX711 Red with an Arduino UNO to read weight data from a load cell:
#include "HX711.h" // Include the HX711 library
// Define connections to HX711
#define DOUT 3 // Data output pin connected to Arduino pin 3
#define CLK 2 // Clock pin connected to Arduino pin 2
HX711 scale; // Create an instance of the HX711 class
void setup() {
Serial.begin(9600); // Initialize serial communication
scale.begin(DOUT, CLK); // Initialize the HX711 with the defined pins
scale.set_scale(); // Set the scale factor (calibration required)
scale.tare(); // Reset the scale to 0
Serial.println("HX711 initialized. Place weight on the scale.");
}
void loop() {
if (scale.is_ready()) { // Check if the HX711 is ready
long reading = scale.get_units(); // Get the weight in units
Serial.print("Weight: ");
Serial.print(reading);
Serial.println(" units");
} else {
Serial.println("HX711 not ready. Check connections.");
}
delay(500); // Wait for 500ms before the next reading
}
set_scale() function accordingly.No Data Output:
Inaccurate Readings:
DOUT Pin Always HIGH:
Fluctuating Measurements:
Q: Can I use the HX711 Red with a 3.3V microcontroller?
A: Yes, the HX711 Red operates within a voltage range of 2.6V to 5.5V, making it compatible with both 3.3V and 5V systems.
Q: How do I select between Channel A and Channel B?
A: The channel is selected based on the number of clock pulses sent to the PD_SCK pin during data retrieval. Refer to the "Gain Selection" section for details.
Q: What is the maximum weight the HX711 Red can measure?
A: The maximum weight depends on the load cell used. The HX711 Red itself does not impose a weight limit but converts the load cell's analog signal into digital data.
Q: Can I connect multiple load cells to the HX711 Red?
A: The HX711 Red supports two differential input channels (Channel A and Channel B). However, only one channel can be read at a time. For multiple load cells, consider using multiple HX711 modules.