# Adafruit HX711 24-bit ADC

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/130/744/medium800/adafruit_products_5974-04.jpg?1718736771)

If you are feeling the stress and strain of a Wheatstone bridge and you want to quantify it, this handy breakout will do the job, no sweat! The **Adafruit HX711 Breakout** contains a super-high-resolution 24-Bit differential ADC with extra gain circuitry that makes it perfect for measuring strain gauges / load cells or other sensors that have four wires that are connected in a [Wheatstone bridge arrangement](https://en.wikipedia.org/wiki/Wheatstone_bridge).

![](https://cdn-learn.adafruit.com/assets/assets/000/130/745/medium800/adafruit_products_5974-02.jpg?1718736827)

Each breakout comes with a HX711 ADC chip, plus some support circuitry, and 6 port terminal block that can be used to connect one or two 4-wire sensors. The **E-** pad connects to ground (often a black wire), the **E+** pad connects to the power voltage supplied to the HX711 (often a red wire).

![](https://cdn-learn.adafruit.com/assets/assets/000/130/746/medium800/adafruit_products_5974-03.jpg?1718736868)

Then **A-** and **A+** pads connect to the differential outputs from the bridge. For example, connecting to a strain gauge these tend to be the white and green wires. If you have a second gauge or voltage you want to measure, you can use the **B-** and **B+** pads. On the A channel, you can select 64x or 128x gain. On the B channel, you have a fixed 32x gain.

![](https://cdn-learn.adafruit.com/assets/assets/000/130/747/medium800/adafruit_products_5974-01.jpg?1718736931)

This sensor uses a two-wire protocol, similar to SPI. If you want a [similar sensor but I2C, check out the NAU7802 breakout](https://www.adafruit.com/product/4538) we make. [We based this design on the excellent Sparkfun HX711 breakout](https://www.sparkfun.com/products/13879): incorporating their split analog/digital supply and digital supply filtering. We then made a few tweaks: pre-soldered terminal blocks, the second bridge exposed, and a slide switch to change between 10 SPS and 80 SPS rates.

# Adafruit HX711 24-bit ADC

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/130/749/medium800/adafruit_products_double.jpg?1718737375)

## Power Pins

- **VIN** &nbsp;- The power pin. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V microcontroller like Arduino, use 5V.  
- **VIO** - Output from the on-chip power supply regulator for the digital power supply.
- **GND** &nbsp;- Common ground for power and logic.

## Terminal Block Pins

At the top edge of the board is a 6 pin terminal block. This block has inputs for channels A and B on the HX711 (A+, A- and B+, B-) and power and ground connections for a strain gauge (E+ and E-).

- **A+** - Channel A positive input. You'll connect the green wire on your strain gauge to this block.
- **A-** - Channel A negative input. You'll connect the white wire on your strain gauge to this block.
- **B+** - Channel B positive input. This is a secondary input for the HX711.
- **B-** - Channel B negative input. This is a secondary input for the HX711.
- **E+** - Connected to the analog power output. You'll connect the red wire on your strain gauge to this block.
- **E-** - Connected to common ground. You'll connect the black wire on your strain gauge to this block.

## HX711 Logic Pins

The HX711 uses "pseudo-SPI" to communicate. You can use any two digital pins on your microcontroller for clock and data.

- **SCK** - Serial clock input.
- **DATA** - Serial data output.
- **RATE** - Output data rate control. If this pin is low, the data rate is 10 SPS and if the pin is high, the data rate is 80 SPS.

## Rate Selection Switch

- **RATE Switch** - On the right side of the board is a slide switch. It is labeled **Rate** on the board silk. This switch selects the data rate for the HX711. If the switch selects **H** , then the data rate is 80 SPS. If the switch selects **L** , then the data rate is 10 SPS.

## VIO Jumper

On the back of the board is an open solder jumper. It is outlined in white on the board silk. If you solder this jumper closed, it will connect **VIN** to **VIO** , which is the digital power supply (DVDD) pin on the HX711.

# Adafruit HX711 24-bit ADC

## CircuitPython

Info: M0 boards running CircuitPython do not have compatible long int support for the HX711.

It's easy to use the **HX711** with Python or CircuitPython, and the [Adafruit\_CircuitPython\_HX711](https://github.com/adafruit/Adafruit_CircuitPython_HX711) module. This module allows you to easily write Python code to read data from the ADC.

You'll need a strain gauge to use this example with the breakout:

### Strain Gauge Load Cell - 4 Wires - 5Kg

[Strain Gauge Load Cell - 4 Wires - 5Kg](https://www.adafruit.com/product/4541)
A&nbsp;strain gauge&nbsp;is a type of electronic sensor used to measure force or strain (big surprise there). They are made of an&nbsp;insulating&nbsp;flexible backing with a metallic foil pattern. The resistance of a&nbsp;strain gauge&nbsp;changes when&nbsp;force&nbsp;is applied and the...

In Stock
[Buy Now](https://www.adafruit.com/product/4541)
[Related Guides to the Product](https://learn.adafruit.com/products/4541/guides)
![Angled shot of a Strain Gauge Load Cell - 4 Wires - 5Kg. ](https://cdn-shop.adafruit.com/640x480/4541-05.jpg)

## CircuitPython Microcontroller Wiring

First, wire up a strain gauge to the breakout exactly as follows. Then, wire up the breakout to your board. The following is the breakout wired to a Feather RP2040:

- **Strain gauge power** to **breakout E+ (red wire)**
- **Strain gauge ground** to **breakout E- (black wire)**
- **Strain gauge positive** to **breakout A+ (green wire)**
- **Strain gauge negative** to **breakout A- (white wire)**
- **Board 3V** to **breakout VIN (red wire)**
- **Board GND** to **breakout GND (black wire)**
- **Board D5** &nbsp;to **breakout DATA (blue wire)**
- **Board D6** &nbsp;to **breakout SCK (yellow wire)**

![adafruit_products_feather_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/130/876/medium640/adafruit_products_feather_bb.jpg?1719260651)

## CircuitPython Usage

To use with CircuitPython, you need to first install the **Adafruit\_CircuitPython\_HX711** library into the&nbsp; **lib** folder on your **CIRCUITPY** drive. Then you need to update **code.py** with the example script.

Thankfully, we can do this in one go. In the example below, click the **Download Project Bundle** button below to download the necessary libraries and the **code.py** file in a zip file. Extract the contents of the zip file, and copy the **entire**  **lib**  **folder** and the **code.py** file to your **CIRCUITPY** drive.

Your **CIRCUITPY/lib** folder should contain the following folder:

- **/adafruit\_hx711**

![](https://cdn-learn.adafruit.com/assets/assets/000/130/889/medium800/adafruit_products_midi_midi_memorycheck.py.png?1719329027)

## Example Code

Once everything is saved to the **CIRCUITPY** drive, [connect to the serial console](https://learn.adafruit.com/welcome-to-circuitpython/kattni-connecting-to-the-serial-console) to see the data printed out!

https://github.com/adafruit/Adafruit_CircuitPython_HX711/blob/main/examples/hx711_simpletest.py

First, the HX711 is instantiated with its clock and data pins. In the loop, the A channel on the ADC is read and printed to the serial console. As you bend, twist and put pressure on the strain gauge, you'll see the values change.

![](https://cdn-learn.adafruit.com/assets/assets/000/130/875/medium800/adafruit_products_cp_serial_0.png?1719259199)

# Adafruit HX711 24-bit ADC

## Python Docs

# Adafruit HX711 24-bit ADC

## Arduino

Using the HX711 breakout with Arduino involves wiring up the breakout to your Arduino-compatible microcontroller with a strain gauge, installing the [Adafruit\_HX711](https://github.com/adafruit/Adafruit_HX711) library, and running the provided example code.

### Strain Gauge Load Cell - 4 Wires - 5Kg

[Strain Gauge Load Cell - 4 Wires - 5Kg](https://www.adafruit.com/product/4541)
A&nbsp;strain gauge&nbsp;is a type of electronic sensor used to measure force or strain (big surprise there). They are made of an&nbsp;insulating&nbsp;flexible backing with a metallic foil pattern. The resistance of a&nbsp;strain gauge&nbsp;changes when&nbsp;force&nbsp;is applied and the...

In Stock
[Buy Now](https://www.adafruit.com/product/4541)
[Related Guides to the Product](https://learn.adafruit.com/products/4541/guides)
![Angled shot of a Strain Gauge Load Cell - 4 Wires - 5Kg. ](https://cdn-shop.adafruit.com/640x480/4541-05.jpg)

## Wiring

Wire as shown for a **5V** board like an Uno. If you are using a **3V** board, like an Adafruit Feather, wire the board's 3V pin to the breakout VIN.

Here is an Adafruit Metro wired up to the breakout with a strain gauge:

- **Strain gauge power** to **breakout E+ (red wire)**
- **Strain gauge ground** to **breakout E- (black wire)**
- **Strain gauge positive** to **breakout A+ (green wire)**
- **Strain gauge negative** to **breakout A- (white wire)**
- **Board 5V** to **breakout VIN (red wire)**
- **Board GND** to **breakout GND (black wire)**
- **Board D2** to **breakout DATA (blue wire)**
- **Board D3** to **breakout SCK (yellow wire)**

![adafruit_products_metro_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/130/878/medium640/adafruit_products_metro_bb.jpg?1719260706)

## Library Installation

You can install the **Adafruit\_HX711** library for Arduino using the Library Manager in the Arduino IDE.

![](https://cdn-learn.adafruit.com/assets/assets/000/130/821/medium800/adafruit_products_Arduino_Open_Library_Manager.png?1718829770)

Click the **Manage Libraries ...** menu item, search for **Adafruit\_HX711,** &nbsp;and select the **Adafruit HX711** library:

![](https://cdn-learn.adafruit.com/assets/assets/000/130/823/medium800/adafruit_products_lib.png?1718992419)

Info: There are no additional dependencies for the library.

## Example Code
https://github.com/adafruit/Adafruit_HX711/blob/main/examples/HX711_test/HX711_test.ino

Upload the sketch to your board and open up the Serial Monitor ( **Tools -\> Serial Monitor** ) at 115200 baud. In the loop, the readings on channel A and channel B are printed out. As you bend, twist and put pressure on the strain gauge, you'll see the values change.

![](https://cdn-learn.adafruit.com/assets/assets/000/130/879/medium800/adafruit_products_ard_serial0.png?1719260843)

# Adafruit HX711 24-bit ADC

## Arduino Docs

# Adafruit HX711 24-bit ADC

## Downloads

## Files

- [HX711 Datasheet](https://cdn-learn.adafruit.com/assets/assets/000/130/737/original/hx711_english.pdf?1718718395)
- [EagleCAD PCB Files on GitHub](https://github.com/adafruit/Adafruit-HX711-24-bit-ADC-PCB)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20HX711%20ADC%20Breakout.fzpz)

## Schematic and Fab Print
![](https://cdn-learn.adafruit.com/assets/assets/000/130/738/medium800/adafruit_products_schem.png?1718718426)

![](https://cdn-learn.adafruit.com/assets/assets/000/130/740/medium800/adafruit_products_fab.png?1718718431 dimensions are in inches)


## Primary Products

### Adafruit HX711 24-bit ADC for Load Cells / Strain Gauges

[Adafruit HX711 24-bit ADC for Load Cells / Strain Gauges](https://www.adafruit.com/product/5974)
If you are feeling the stress and strain of&nbsp; ~~modern life~~ &nbsp;a Wheatstone bridge and you want to quantify it, this handy breakout will do the job, no sweat! The **&nbsp;Adafruit HX711 Breakout** &nbsp;contains a super-high-resolution 24-Bit differential ADC with extra...

In Stock
[Buy Now](https://www.adafruit.com/product/5974)
[Related Guides to the Product](https://learn.adafruit.com/products/5974/guides)

## Featured Products

### Strain Gauge Load Cell - 4 Wires - 1Kg

[Strain Gauge Load Cell - 4 Wires - 1Kg](https://www.adafruit.com/product/4540)
A&nbsp;strain gauge&nbsp;is a type of electronic sensor used to measure force or strain (big surprise there). They are made of an&nbsp;insulating&nbsp;flexible backing with a metallic foil pattern. The resistance of a&nbsp;strain gauge&nbsp;changes when&nbsp;force&nbsp;is applied and the...

In Stock
[Buy Now](https://www.adafruit.com/product/4540)
[Related Guides to the Product](https://learn.adafruit.com/products/4540/guides)
### Strain Gauge Load Cell - 4 Wires - 10Kg

[Strain Gauge Load Cell - 4 Wires - 10Kg](https://www.adafruit.com/product/4542)
A&nbsp;strain gauge&nbsp;is a type of electronic sensor used to measure force or strain (big surprise there). They are made of an&nbsp;insulating&nbsp;flexible backing with a metallic foil pattern. The resistance of a&nbsp;strain gauge&nbsp;changes when&nbsp;force&nbsp;is applied and the...

In Stock
[Buy Now](https://www.adafruit.com/product/4542)
[Related Guides to the Product](https://learn.adafruit.com/products/4542/guides)
### Strain Gauge Load Cell - 4 Wires - 5Kg

[Strain Gauge Load Cell - 4 Wires - 5Kg](https://www.adafruit.com/product/4541)
A&nbsp;strain gauge&nbsp;is a type of electronic sensor used to measure force or strain (big surprise there). They are made of an&nbsp;insulating&nbsp;flexible backing with a metallic foil pattern. The resistance of a&nbsp;strain gauge&nbsp;changes when&nbsp;force&nbsp;is applied and the...

In Stock
[Buy Now](https://www.adafruit.com/product/4541)
[Related Guides to the Product](https://learn.adafruit.com/products/4541/guides)

## Related Guides

- [itsaSNAP Apple Health Status Board](https://learn.adafruit.com/itssnap-apple-fitness-status-board.md)
- [Adafruit STSPIN220 Stepper Motor Driver Breakout Board](https://learn.adafruit.com/adafruit-stspin220-stepper-motor-driver-breakout-board.md)
- [Adafruit RS232 Pal](https://learn.adafruit.com/adafruit-rs232-pal.md)
- [Pip-Boy 2040 Wrist-Mounted Prop](https://learn.adafruit.com/pip-boy-2040.md)
- [Circuit Playground-O-Phonor](https://learn.adafruit.com/circuit-playground-o-phonor.md)
- [AdaBox 006](https://learn.adafruit.com/adabox006.md)
- [Adafruit Chainable DS18B20 Extender Breakout](https://learn.adafruit.com/adafruit-chainable-ds18b20-extender-breakout.md)
- [LED candles: simple, easy, cheap](https://learn.adafruit.com/led-candles-simple-easy-cheap.md)
- [Adafruit PiCowbell CAN Bus for Pico](https://learn.adafruit.com/adafruit-picowbell-can-bus-for-pico.md)
- [Adafruit DVI Sock for Pico](https://learn.adafruit.com/adafruit-dvi-sock-for-pico.md)
- [Adafruit PiCowbell DVI Output](https://learn.adafruit.com/adafruit-picowbell-dvi-output.md)
- [Adafruit APDS9999 Proximity, Lux Light & Color Sensor](https://learn.adafruit.com/adafruit-apds9999-proximity-lux-light-color-sensor.md)
- [Remote Shutter Button for MEMENTO](https://learn.adafruit.com/memento-shutter.md)
- [Cellular Data for CircuitPython with FONA](https://learn.adafruit.com/cellular-data-for-circuitpython-with-fona.md)
- [Adafruit 555 PWM Output STEMMA](https://learn.adafruit.com/adafruit-555-pwm-output-stemma.md)
