0 Replies Latest reply on Apr 4, 2020 5:25 PM by BoTa_264741

    HX711: 24-bit Delta Sigma ADC interface for weight scale using PSoC



      Provided below is custom component (HX711 v0.0) for interfacing HX711 24-bit Delta Sigma ADC for load scales.



      The HX711 component implements software interface to HX711 24-bit analog-to-digital converter by AVIA Semiconductor, designed for weigh scales and industrial control applications. Using this component in conjunction with external HX711 ADC, PSoC can detect small DC signals in the range of +/-20mV or +/-40mV at 10 Hz sampling rate, or +/-80 mV at 80 Hz. Component consume little to none hardware resources, and spares very little CPU clocks (0.01%). Multiple instances of the component can run asynchronously in the project.


      Component features:

         Implements software interface for HX711 ADC

         Interfaces single HX711 sensor board

         Uses interrupt or polling methods

         Has selectable ADC gain


      The component was tested using CY8KIT-059 PSoC5 prototyping kit and CY8KIT-042 PSoC4 Pioneer Kit. Demo projects are provided.


      Attached archive contains component library, component datasheet and demo projects for PSoC5 and PSoC4. Please read installation instructions in the readme.txt.


      The component provided as-is, no liabilities. It is free to use and modify.




      P.S. Demo projects use optional annotation components (which are also provided here in Support_libs.zip):

         PSoC Annotation Library: PSoC Annotation Library v1.0

         KIT-042 annotation stub: KIT-042: annotation component for CY8CKIT-042 Pioneer Kit

         SerialPlot library: SerialPlot: interface to real-time data charts

         MedianFilter: MedianFilter: sliding window median filter component

         ButtonSw32: ButtonSw32: button switch debouncer component


      SerialPlot open source charting tool for Linux/Windows can be downloaded here





      Figure 1. PSoC4 project schematic using HX711 component in polling mode.


      Figure 2. ADC raw data are being conditioned by the MedianFiler and streamed to the plotting software using SerialPlot custom components.


      Figure 3. Load Cell response on 1-cent load/unload using SerialPlot software (program configuration Settings.ini is attached). Red line - ADC raw data, Blue line - ADC data after median filter.


      Figure 4. Project annotation using KIT-042 stub and PSoC Annotation Library.



      Message was edited by: odissey1 (4/4/2020)

      Files updated: HX711_v0_0_B.pdf and HX711_lib.zip. The component datasheet was revised; the previous version incorrectly described the ADC gain and clock setting. Component library (HX711_lib.zip) has been updated to include latest datasheet. The component itself has not been modified.