3 channel 24-bit programmable gain amplifier for pressure, load cell via I2C
The HX711 3‑Channel PGA is a compact, high‑precision amplifier and 24‑bit ADC module for bridge‑type sensors (load cells, pressure transducers, strain gauges, etc.). Based on the Avia HX711, this board provides three independent channels of selectable gain (32, 64, 128) and dual‑rate output (10 SPS, 80 SPS). All three channels are accessible via a standard single‑row 0.1" connector for effortless integration with any microcontroller.
- Dimensions: 33 mm × 51 mm
- Supply Voltage: 2.7 – 5.5 V
- Operating Temp: −40 °C – +85 °C
- ▶ 3 channels of 24‑bit ADC (HX711)
- 🔧 Programmable gain: 32, 64, 128 via RATE pin
- ⚙️ Dual sample rate: 10 SPS or 80 SPS
- 📶 On‑chip analog regulator (no external regulator needed)
- ⌚ On‑chip oscillator (no crystal required)
- 🔗 Simple two‑wire (DOUT/PD_SCK) interface per channel
- 🔌 Single 10‑pin header (power + three DOUT/SCK pairs)
Pin | Name | Description |
---|---|---|
1 | VSUP | Analog power input (2.7–5.5 V) |
2 | BASE | On‑chip regulator control output |
3 | AVDD | Analog VDD (regulated) |
4 | VFB | Regulator control input |
5 | AGND | Analog ground |
6 | VBG | Bandgap reference bypass |
7 | INNA | Ch. A negative input (sensor bridge −) |
8 | INPA | Ch. A positive input (sensor bridge +) |
9 | INNB | Ch. B negative input |
10 | INPB | Ch. B positive input |
11 | PD_SCK (SCK1) | Channel 1 clock |
12 | DOUT (SDA1) | Channel 1 data out |
13 | PD_SCK2 (SCK2) | Channel 2 clock |
14 | DOUT2 (SDA2) | Channel 2 data out |
15 | PD_SCK3 (SCK3) | Channel 3 clock |
16 | DOUT3 (SDA3) | Channel 3 data out |
NOTE: Although labelled as
SDA
/SCK
, the HX711 uses a proprietary 2‑wire protocol:DOUT
(data) andPD_SCK
(clock).
- Power: Connect VSUP (pin 1) to 3.3 V or 5 V.
- Logic Level: Tie AVDD/VDD to the same supply or to your MCU logic level (2.7–5.5 V).
- Ground: Connect AGND to system ground.
- Data: For each channel, connect
DOUTx
to your MCU data‑in pin andPD_SCKx
to your clock‑out pin.
#include <HX711.h>
HX711 scale1; // channel 1
HX711 scale2; // channel 2
HX711 scale3; // channel 3
void setup() {
Serial.begin(9600);
scale1.begin(/* dout=*/ A1, /* pd_sck=*/ A0);
scale2.begin(/* dout=*/ A3, /* pd_sck=*/ A2);
scale3.begin(/* dout=*/ A5, /* pd_sck=*/ A4);
scale1.set_gain(128);
scale2.set_gain(128);
scale3.set_gain(128);
}
void loop() {
Serial.print("Ch1: "); Serial.println(scale1.read());
Serial.print("Ch2: "); Serial.println(scale2.read());
Serial.print("Ch3: "); Serial.println(scale3.read());
delay(500);
}
(Adjust pins and gain/rate as needed.)
- Schematic: Schematic_mux.pdf
- PCB Top/Bottom Layers: PCB_1-PCB_PCB_HX711_Mux_2024_4_24.pdf
- 3D Board Outline:
git-hx711.png
Qty | Part | Value/Type |
---|---|---|
11 | C1–C5, C10, C12 | 0.1 µF, 0603 |
4 | C6, C7, C9, C16 | 10 µF, 1210 |
3 | L1–L3 | 3.3 µH, 0805 |
3 | Q1–Q3 | MMBT4403 (SOT‑23) |
3 | R1, R9, R14 | 20 kΩ, 0603 |
3 | R2, R8, R13 | 8.2 kΩ, 0603 |
6 | R3, R4, R6, R7, R11, R12 | 100 Ω, 0603 |
3 | R5, R10, R15 | 10 kΩ, 0603 |
1 | J1 | 1 × 9 P header, 2.54 mm |
3 | JP2‑1, JP2‑2, JP2‑3 | 1 × 4 P header, 2.54 mm |
3 | U1–U3 | HX711 (SO‑16) |
For the complete BOM spreadsheet, see HX711_mux_BOM.xlsx.
- Gerbers: Gerber_1-PCB_HX711_Mux_2024_4_24.zip
- Fabrication: Standard 2‑layer PCB, 0.8 mm outline thickness.
- HX711 Datasheet: HX711.pdf
- Manufacturer: Avia Semiconductor
- Library: HX711 Arduino Library
Distributed under the MIT License. See LICENSE for details.
Designed & maintained by Adit Mehta
GitHub: @aditmehta0