The HX711 Load Cell Amplifier is a module that is used to take the signal coming from your load cell and convert it into a digital signal that your Zigbee-compatible chip can take and process.


Connecting HX711 and Load Cell to a Zigbee module

From Load Cell to HX711:
Red wire: E+ on HX711
White wire: A-
Black wire: E-
Green wire: A+

HX711 Load Cell
Load Cell
HX711 module

From HX711 to a Zigbee module:
GND: connected to GND on a Zigbee module.
DT (data): Connected to any pin configured as HX711 (P00 – DIO0, see below).
SCK: Connected to any pin configured as I2C SCL/SPI CLK (e.g., P02 – DIO2).
VCC: Connected to 3.3V.

Firmware configuration

Zigbee’s firmware settings

Scale factor – allows you to convert a raw sensor’s value to a weight value.

Shift – allows you to calibrate a zero offset (tare weight).


  1. Assemble your Zigbee device (connect a load cell, power, etc.).
  2. Configure and upload the firmware with “Scale factor” = 1.0 and “Shift” = 0.
  3. Save a custom converter for your device (on the Experts tab) and add it to your Z2M.
  4. Join your device to your Zigbee network.
  5. Remove any weight from your load cell.
  6. You should start receiving raw measurement data. It is the shift value (tare weight). Write it down somewhere. Then you can enable the “Enable zero calibration” switch in Z2M, and the device will remember this value in NVRAM.
  7. Place any known weight on your load cell (you can find several tutorials about this on Google).
  8. You should receive a new raw value for the measured weight.
  9. Calculate a scale factor: (Measured value – Zero value) / Weight (kilograms or pounds).
  10. Type the scale factor in the corresponding field in Z2M and press Enter. The device will remember this value in NVRAM.
  11. Finally, you can update these constants in the firmware and re-flash it. In this case, you do need to make a new calibration when you reset a device to the factory defaults.

Zigbee commands

Zigbee attributes: ATTRID_IOV_BASIC_PRESENT_VALUE (single precision float)
Zigbee commands: write

Zigbee2MQTT commands

on/off - Enables the zero calibration process (tare). Look for commands and examples for GPIO outputs.
write - sets the PWM duty cycle.
Topic: zigbee2mqtt/[friedly_name]/[channel]/set/brightness
Channel: l1, l2, l3 … l16
Payload: value (1-99999999, scale factor)

Harvey Specter
Posted at 14:05 September 12, 2023

Hello, is there a parameter to send set_gain(128),set_gain(32) ,set_gain(64) commands?
I would need them to interface to HX710A/B chip.

    Harvey Specter
    Posted at 05:08 September 13, 2023

    Unfortunately, the firmware always uses the gain 32.

Leave a Reply