A/D converter (HX711)

By | 28. June 2018

An A/D converter is required for the weight sensors (load cells). Unlike other boards, such as the Arduino or the ESP32, the Raspberry Pi has no integrated A/D converter. An A/D converter converts the analog signal into digital values. Therefore we need this 3 Euro component for the Raspberry Pi.

Number of load cells per Raspberry Pi

The HX711 has two channels (A and B). This allows two load cells to be connected to one HX711 and two hives to be measured. Depending on the number of free GPIOs on the Raspberry, it is also possible to connect multiple HX711s. This means that at least 3 HX711s can be connected to one Raspberry Pi. In the maintenance mode the GPIOs of the boards can be set.

HX711 to Raspberry Pi:

  • VCC at pin 02/5V, but better to a free 3.3V pin
  • GND at pin 06/Ground
  • DT at pin 29/GPIO5
  • SCK at pin 31/GPIO6

Load cell (Bosche H30A) at HX711:

  • Red at E+ (input)
  • Black at E- (input)
  • Green at A+ (output)
  • White at A- (output)
Cable colours of the Bosche H30A load cell. Source: https://www.bosche.eu/waagenkomponenten/waegezellen/plattform-waegezellen/plattform-waegezellen-h30a

Load cell (Banggood) at HX711 (has completely different assignment), see picture):

  • Black at E+
  • White at E-
  • Red at A+
  • Green at A-

Some load cells have the following colours:

  • Red at E+
  • Black at E-
  • Grey at A+
  • Green at A-

Does the HX711 always measure just 0kg?

Then the cables are probably not connected correctly or the load cell is defective. The cables are easy to check. To check whether the load cells are defective, we recommend the following video:

The HX711 measures wrong values?

That’s because you need to calibrate the load cell. See the article “Calibrating the load cell” to see how this works.

Improve measurement results of the HX711 module

  • If there is still a 3.3V PIN free on the Raspberry Pi, or if you can use a 3.3V PIN twice thanks to the breadboard/plug-in board, we recommend connecting the VCC of the HX711 to a 3.3V PIN instead of a 5V PIN. Tests have shown that there are fewer outliers when measuring.
  • There are different HX711 boards. Optimally the resistance between E- and GND should be zero. If this is not the case with this HX711 module, you can help by connecting a short cable between E- and GND. Further information can be found at the Arduino colleagues: https://beelogger.de/?page_id=195802_id=195802
  • Some load cells, such as Bosche’s, have a fifth, thicker cable. This is the cable shield. You should put the cable screen on the housing. You can use it to attenuate external interference. Actually the housing is connected to the GND.
  • The Green HX711 boards have one channel A and one channel B. The measurement results on channel B have a higher noise. We therefore recommend connecting several HX711 boards for several scale sensors. These are not expensive and the Raspberry has enough free GPIO.
  • Experience has shown that there are cheap HX711s that don’t work well. If you buy a higher quality HX711 module 🛒, for example, you will also get measurement results. In addition, GND is already connected to E there.

Timing problems at Raspberry Zero with green HX711

With the Raspberry Zero, timing problems may occur during transmission to the HX711. Therefore the weight is not measured correctly and regular outliers or repeated measurements are the result.

HX711 with lifted pin

A workaround is to lift pin 15 of the HX711 and connect it to VCC so the conversion runs more often and you have much better constancy in the values. (see picture above)

Furthermore, it helps to deactivate debug mode (this setting is in maintenance mode) and do not plug in an HDMI cable.

Translated 28.07.2019 by JK

Print Friendly, PDF & Email

43 thoughts on “A/D converter (HX711)

  1. Rüdiger

    Hallo, leider klappt beim mir das Auslesen der Gewichte aus dem Hx711 nicht. Habe bislang vier verschiedene Modelle probiert. Manchmal kommen ein paar unplausible Messwerte an, meist jedoch garkeine. Löse ich im Wartungsmodus eine Einzelmessung aus, erscheint in 90% der Fälle eine Fehlermeldung.
    Testweise habe ich mir von github einen Testcode für den hx711 heruntergeladen. Hiermit klappt es, die Wiegeergebnisse werden problemlos angezeigt. An meiner Verdrahtung dürfte es eher nicht liegen.
    Weiss jemand noch einen Rat ?
    Vielen Dank vorab !

    Reply
    1. Martin Zellhofer

      Hallo Rüdiger

      Habe ähnliche Probleme mit dem “grünen” HX711 Board in Kombination mit einem PI zero. (zeitweise Hausnummern bei den Messungen). Grund dafür ist das scheinbar das Timing bei der Abfrage des HX711 (60usec Takt) zu verschiedenen Zeitpunkten nicht eingehalten wird und daher “Mist” als Ergebnis zurückgegeben wird. Die beste Abhilfe dafür war wie in github (gandalf15) beschrieben beim HX711 den pin 15 heben und auf VCC verbinden dadurch läuft die Wandlung öfter und ich habe viel bessere Konstanz in den Werten.
      siehe auch –> https://github.com/gandalf15/HX711/blob/master/rate_pin_80sps.png

      Reply
      1. Rüdiger

        Hallo Martin,
        erstmal vielen Dank für Deinen Tip. Ich habe es ausprobiert und den Pin auf VCC gelötet. Gefühlt erhalte ich jetzt zwar eher Meßwerte, jedoch weiterhin eher zufällige; keinesfalls für eine Stockwaage geeignet.
        Ich nutze einen Pi Zero W, momentan mit dem Sparkfun HX711 Board.
        Meine Hoffnung liegt nun auf der Version 0.1.2, vielleicht klappt es damit.

        Reply
        1. Martin Zellhofer

          Hallo Rüdiger

          Hab bei einem Freund 2 weitere “grüne” HX711 umgebaut und es hat geholfen – keine Fehlmessungen mehr mit PIzero W –> Firmware ist 0.1.1 + update auf 0.1.2. Habe meinen jetzt schon über eine Woche keine Fehlmessung und bei meinem Freund 2 Tage ohne (5min Abfrageintervall mit WLAN Verbindung). Hab auch jetzt eine mehr oder minder Vollbestückung der Sensoren (2x Temp DS18B20, BME 680, HX711. Eine Frage noch –> die GND – AGND Verbindung wie grün eingezeichnet(Schaltplan) hast du ja gemacht –> die ist unbedingt notwendig !

          Sollte mir noch was einfallen melde ich mich
          mfg

          Martin Z.

          Reply
          1. Florian

            Hallo Martin,

            Hast Du bei den modifizierten Waagen auch WittyPi im Einsatz?
            Ich habe den HX711 bei meiner Testwaage mit PiZero und WittyPi nun auch so umgebaut wie Beschrieben. Software ist noch 0.11. Der Pi ist nun 5 Minuten an und 5 aus bei einmaliger Messung.
            Ich bin gespannt….

            Grüße Florian

      2. Javan Post author

        Danke Martin, habe es oben in den Beitrag mit aufgenommen.

        Reply
  2. Patrick

    Hallo,
    ich würde den Raspberry PI gerne in einem Gehäuse in der Garage lassen.
    An den Beuten würde ich jeweils ein HX711 verbauen.
    Die Leitungslänge (Raspberry PI HX711) würde ca. 15-17m betragen.
    Würde das so funktionieren, bzw. welches Kabel (Aderquerschnitt, geschirmt usw.) sollte ich da verlegen?
    Oder kann man die Adern der Wägezellen verlängern?
    MfG

    Reply
    1. Javan Post author

      Das Analoge Kabel darf man nicht so verlängern.
      Das Digitale Kabel (ab HX711 zu Raspi) schon.
      Erfahrungen zu der Länge habe ich keine, aber da werden sich im Google bestimmt Erfahrungen zu finden lassen.

      Reply
  3. Harald Schäfer

    Hallo, habe die Bosche H30A über den Hx711 grün verbunden bekomme im Wartungsmodus wenn ich auf Messung gehe aber keine Verbindung ? kann mir jemand weiterhelfen?

    Reply
  4. Bernd Held

    Hallo * ,

    ich habe diese Wägezelle von Ebay: https://www.ebay.de/itm/142311366734
    und habe folgende Belegung:
    Rot E+
    Grün E-
    Weiß A-
    Schwarz A+
    Vielleicht gab es diese Kombination noch net beim verkabeln und jemanden hilft es weiter.
    Gruß
    Bernd

    Reply
  5. Holger

    Hallo zusammen,
    Ich baue gerade die 2. Waage, wollte aber auch Nummer 1 mit der Neuen Software laufen lassen.
    Nun habe ich die SD Karte aus der funktionierenden Waage entnommen,formatiert und mit dem aktuellen Stand beschrieben.
    Beim Einstellen der Daten der Sensoren stelle ich nun fest daß sich nichts geändert hat und ich den Software Stand 0.04 immer noch habe und nicht den Neuen.
    Was mache ich falsch?

    Gruß Holger

    Reply
      1. Holger

        Hallo,
        Was meinst du damit?
        Soll ich den Cache von meinem Rechner leeren und dann den Download noch einmal starten oder muss ich auf den Raspberry zugreifen?
        Würde es auch reichen eine neue SD Karte zunehmen und die Software dort aufzuspielen?
        Ich bin in diesen Sachen ein toller Laie.
        M f.G. Holger

        Reply
          1. Holger

            Hallo,
            Vielen herzlichen Dank für deine schnelle Antwort, jetzt läuft alles wieder.
            Super Projekt was ihr da auf die Beine gestellt habt.

            Mfg Holger

  6. Johannes

    Hallo Javan,

    ich habe verstanden dass man an einem HX711 zwei Zellen anschließen kann. Könnte man auch mehrere HX711 anschließen (wenn man die SW anpasst), oder geht das prinzipiell nicht?

    LG Johannes

    Reply
    1. Alexander

      Hallo Johannes, bei mir laufen zwei HX711 ohne SW-Anpassung (nur die Konfigrurtion muss über die Web-Oberfläche angepasst werden)

      Reply
      1. Thorsten

        Hallo,
        wo genau hast du den zweiten HX711 angeklemmt oder ist es egal? Nur die Zuordnung in der Software muss passen? Kann man an einem HX711 eigentlich zwei unterschiedliche Waagen aufbauen? Eine an Kanal A und eine an B?

        Reply
        1. Javan Post author

          Hallo Thorsten, du brauchst je HX711 jeweils zwei freie GPIO.
          Der erste HX711 an GPIO 5 und 6. Der zweite HX711 z.B. an die noch freien GPIO 12 und 13.
          Im Wartungsmodus kannst du ja dann diese Nummern eingeben. Das ist damit gemeint.

          Und ja, man kann mit dem grünen HX711 je eine Waage an Kanal A und B .

          Reply
  7. Dieter Erb

    Hallo,
    ich habe Probleme mit der Wägeeinheit. Die Anschlüsse habe ich schon3x richtig Steckung überprüft. Den HX 711 (grün, nach Eurem Link bestellt) sogar ausgewechselt. Bei Thinkspeak kommt aber immer nur 0 Gewicht an.
    Was soll ich tun. Wie kann ich prüfen, wo der Fehler liegt. Macht es Sinn, das Image nochmals neu aufzuspielen?
    Danke für Eure Hilfe (die DHT 22 laufen jetzt störungsfrei).
    Gruss Dieter

    Reply
    1. AlexS

      Hallo wollte heute eine Banggood Wägezelle in Betrieb nehmen und hatte ein ähnliches Verhalten wie Dieter.
      Der Honeypie hat immer 0 gemessen (unabhängign von Offset udn Verstärkungswert). Habe die Spannugn zw. den Pins E+ udn E- gemessen udn anstelle von wenigen mV lagen hier ca 1,2V an. nanu da stimmt doch was nicht…Also die Widerstädne zw. den einezlnenn Kabelfarben gemesen ERgebniss:
      weiß zu schwarz = 398Ohm
      rot zu grün = 351 Ohm
      alle anderen Kombinationen ca 288 OHm
      Da die Bosche Zelle im Datenblatt mit 404+/-10Ohm am Eingang hat und 350+/-3Ohm am Ausgang spezifiziert ist, liegt es also nahe das weiß/scharz der Eingang und Rot/grün der Asugang sind
      also folgende KOmbination probiert:
      Weiß an E+
      Schwarz an E-
      Rot an A+
      Grün an A-
      Bei einem Skalierungsfaktor von 26 zeigt die Zelle jetzt ganz brauchbare Werte an.
      Da die Zelle zur Befestigung durchgeschnittene Gewinde hat, hat man auch nnoch den Freiheitsgrad die Zelle auf dem Kopf zu montierne bzw. um 180 Grad verdreht zu montiern.. beides kann zu vorzeichenverdrehten Messungen führen. Dann evtl. Rot an A- und Grün an A+ anschließen..

      Reply
      1. Dieter Erb

        Ich danke Alex ganz herzlich, für die viele Mühe, die er sich gegeben hat, um mein Problem mit der Wägeeinheit zu lösen. Leider hat auch das Umstecken der Anschlüsse keine Änderung gebracht. Ich messe aber ganz andere Ohm-Werte an weiß, schwarz, grün rot. Ich habe an der Originalsteckung mal die Widerstände gemessen. Dabei kommen völlig irre Werte heraus. Plausibel ist weiß zu grün = 348 Ohm. Aber dann: schwarz zu weiss = -977 und bei rot zu den anderen Kontakten eine 1.

        Reply
      2. Robert

        Hallo Alex, vielen Dank für die Mühe. Mir hat das sehr geholfen!

        Ich habe mir diese Waage gekauft: https://www.ebay.de/itm/252363004523?ViewItem=&rd=1&item=252363004523&ssPageName=STRK:MERFB:IID

        Die 500 x 400 mm Plattformwaage passt perfekt unter mein Magazin. Ich kann leider nicht sagen welche Zelle in der Waage verbaut ist. In jedem Fall habe auch ich die Widerstände gemessen und bin auf die gleiche Zuordnung wie Alex gekommen nachdem ich zuvor immer 0 als Wert bekam. @Alex: Woher hast du die Angaben zu den Widerständen?

        Weiß an E+
        Schwarz an E-
        Rot an A+
        Grün an A-

        Der Skalierungsfaktor liegt bei mir jedoch bei 11. Auch das Offset ist sehr groß. Die Genauigkeit mit Display schien mir relativ gut. Jetzt gilt es noch an dem Skalierungsfaktor zu feilen… Bzgl. Temperaturempfindlichkeit kann ich auch noch nichts sagen. Bei Gelegenheit werde ich dies hier ergänzen.

        Gruß, Robert

        Reply
          1. Robert

            Hallo Alexander,

            Danke für den Link. Kleine Korrektur zu deinem Post oben: 350 ± 3 Ω.

            Habe die Waage nun über Nacht mit Last laufen lassen und Schwankungen von ± 20 Gramm erfasst. Ich denke damit kann ich leben, zumal dies im unteren Messbereich ist (Belastung waren 1,8 kg) und üblicherweise die Randbereiche des Messbereichs eher problematisch sind.

            Ich habe mich für eine Waage bis 100 kg entschieden. Vermutlich daher der andere Verstärkungsfaktor. Dann viel Erfolg an alle!
            LG, Robert

        1. Dieter

          Hallo Robert,
          Bei meiner Bosche Wägezelle standen die Widerstandswerte im Datenblatt. Diese habe ich dann mit Alexander und später Fa. Bosche überprüft. Werte waren ok und die Zelle wohl trotzdem defekt. Die getauschte Zelle wird hoffentlich heute kommen. Es gibt zum testen der Zelle eine ganz gute Videoanleitung auf YouTube.

          Reply
    2. Robert Jörg

      Hallo,
      was mache ich falsch?
      Ich habe mir mittlerweile eine zweite H30A von Bosche gekauft, da die erste immer nur -0,001 kg angezeigt hat. Ich habe auch sämtliche Steckvarianten am HX711, die hier beschrieben sind, getestet. Alle mit dem gleichen Ergebnis. Kann mir jemand noch einen Tipp geben?
      Danke im Voraus
      Gruß
      Robert

      Reply
      1. Alex aus Hannover

        Moin,

        ich habe das identische Problem wie Robert Jörg. Habe mittlerweile 2 RasPis, 4 Hx711 boards und 3 Wägezellen mit allen denkbaren Steckvarianten durch und messe immer nur -0,001.

        Die Temperatursensoren laufen und die Wägezellen funktionieren an den Chinawagen auch, nur nicht am Hx711 Board. E- mit Ground verbunden ist auch bei allen HX711 Boards und ich habe grüne und rote ausprobiert.

        Wenn jemand eine Lösung für dieses Problem hat, würde ich mich sehr freuen.

        Viele Grüße

        Alex aus Hannover

        Reply
      2. Friedrich

        Robert und Alex, seid Ihr ganz sicher, dass Ihr die GPIO-Pin Nummern nicht mit den physischen, durchnummerierten Pins am RasPi vertauscht habt? Ich hatte den Fehler gemacht und hatte auch immer “0,000” Werte.

        Reply
        1. Alex aus Hannover

          Moin Friedrich, das war es tatsächlich. Ich hatte im Wartungsmodus 29 und 31 anstelle 5 und 6 eingegeben. Vielen Dank!

          Reply
          1. Friedrich

            Gerne, schön, dass es jetzt funktioniert 🙂

  8. Karl Pernthaler

    Hallo Javan
    Verwende die Wägezelle H40A bis 150kg, über HX711. Im Wartungsmodus Kanal A, die Anzeige
    zeigt 5246.38kg. Bei einer Gewichtsänderung von 5kg ändert sich der Wert auf 5846kg.
    Ist die Wägezelle defekt?
    Wie Kalibriere ich die Waage ?

    Reply
  9. Martin

    Hallo,
    Cooles Projekt danke für die bereitgestellten Infos.
    Eine Frage zur Beschaltung des HX711. Ihr nehmt als Versorgung des HX711 5V, die Datenleitung geht aber direkt an den Pi der nur 3.3V verträgt? Gibts da keine Probleme?

    Reply
    1. Melissa

      Hallo Martin,
      vielen Dank für Dein Lob 🙂

      Der Raspberry Pi besitzt sowohl Pins mit 3.3V und mit 5V. Siehe hierzu die Pinbelegung hier.
      Da der HX711 5V benötigt, wird er auch an einen 5V-Pin angeschlossen. Dies führte bei uns zu keinen Problemen mit der Stromversorgung beim Raspberry Pi.
      Der Raspberry Pi selbst benötigt ebenfalls ein 5V-Netzteil.

      Viele Grüße
      Melissa

      Reply
      1. Martin

        Hallo,

        da hab ich mich vermutlich nicht ganz klar ausgedrückt.
        Wenn der HX711 mit 5V versorgt wird, dann kommuniziert er auch mit einem 5V Pegal mit dem Pi, also der high Pegel der Kommunikation ist 5V. Die Eingangspins der Datenleitung vertragen beim Pi aber nur 3.3V.
        Gibts da keine Probleme?

        Reply
        1. Javan Post author

          Wenn noch ein 3,3V PIN am Raspberry Pi frei ist. Oder man auch dank Breadboard einen 3,3V PIN doppelt belegen kann. Dann empfehlen wir den VCC des HX711 an einen 3,3V- statt 5V PIN anzuschließen. Tests haben nämlich gezeigt, dass dann beim Messen weniger Ausreißer entstehen.

          Reply
          1. Pascal

            Hi,

            die Wegezölle bekommt doch auch ihren Strom über den HX711, oder? Die empfohlene Speisespannung der Zelle ist mit 5-12V angegeben. Funktioniert sie wirklich mit 3,3V?

          2. Alexander

            das HX711-breakout-Board macht aus seiner Versorgungsspannung sogar nur eine Wägezellen-Versorgungsspannung von ca. 1,65V über den auf den Board integrierten Spannungsregler.

  10. Paul

    Gibt es auch andere A/D-Wandler, die mehr Kanäle haben? Wäre cool, wenn man so 6 Stöcke an einem Pi betreiben könnte.
    Beste Grüße

    Vielen Dank, ist ein tolles Projekt!

    Reply
    1. Alexander

      Du kannst auch mehrere HX711-Platinen an eienn Raspi anschließen, der zweite Kanall des HX711 hat eine deutlich schlechter Auflösung als der erste Kanal. Habe schon drei HX711-Platinen gleichzeitig angeschlossen um mit einem Rasp 3 Waagen auswerten zu können

      Reply

Leave a Reply to Melissa Cancel reply

Your email address will not be published. Required fields are marked *