In diesem kleinen Tutorial zeige ich wie man mit ein paar Wägezellen, den Analog Wandler HX711 und dem Arduino UNO R4 WiFi ganz einfach eine Art digitale Personenwaage baut. Das Gewicht wird direkt auf der eingebauten LED-Matrix des Arduino R4 angezeigt. Wie so eine Wägezelle funktioniert, habe ich im Detail bei dem Bau einer Briefwaage gezeigt.

Benötigte Komponenten
- Arduino UNO R4 WiFi
- HX711-Modul
- 4x Halbbrücken-Wägezellen (je 50 kg, mit je 3 Kabeln)
- Jumperkabel
- Steckbrett oder Lötplatine
- Stabile Holzplatte oder ähnliches als Standfläche
- Gummifüße oder Abstandshalter
Schaltung und Anschluss
Vier Halbbrücken-Wägezellen mit je drei Kabeln (meist rot, schwarz, weiß) lassen sich zu einer Vollbrücke verschalten. Dabei werden je zwei Sensoren elektrisch zu einer Brücke kombiniert. Die Farbzuordnungen können jedoch variieren.
Verdrahtung:

HX711 an Arduino UNO R4 WiFi:
- VCC → 5V
- GND → GND
- DT → Pin 3
- SCK → Pin 2
HX711 an Zellen:
Zelle | Rot | Weiß | Schwarz |
1 | E+ | Zelle 2 | Zelle 3 |
2 | A+ | Zelle 1 | Zelle 4 |
3 | A- | Zelle 4 | Zelle 1 |
4 | E- | Zelle 3 | Zelle 2 |

Montage
- Die Sensoren werden mit doppelseitigem Klebeband oder Schrauben unter die Holzplatte geklebt.
- Die Kabel werden sauber verlegt.
Bibliotheken installieren
Du brauchst die Bibliothek GyverHX711
von AlexGyver. Einfach in der Arduino IDE unter Bibliotheken installieren suchen:
Sketch → Bibliothek einbinden → Bibliotheken verwalten → „GyverHX711“
So auch für die benötigten Arduino_LED_Matrix und ArduinoGraphics von Arduino:
Code zur Kalibrierung
Lade folgenden Sketch hoch, um deinen Kalibrierungsfaktor zu finden.
#include <GyverHX711.h> // Bibliothek für den HX711 AD-Wandler
#include "ArduinoGraphics.h" // Bibliothek für grafische Darstellung
#include "Arduino_LED_Matrix.h" // Bibliothek für die integrierte LED-Matrix des Arduino R4 WiFi
#define REFERENZGEWICHT 1.0 // 1 kg als Referenzgewicht
GyverHX711 sensor(3, 2, HX_GAIN64_A); // DT → Pin 3 / SCK → Pin 2
float faktor = 0; // Skalierungsfaktor
long taraWert = 0; // Nullwert nach Tarierung
void setup() {
Serial.begin(9600);
delay(2500);
sensor.tare(); // Nullpunkt setzen
taraWert = sensor.read(); // Den Nullpunkt speichern
Serial.println("Lege das Referenzgewicht auf!");
delay(5000); // 5 Sekunden Zeit zum Platzieren des Gewichts
long messwert = sensor.read(); // Messwert mit Referenzgewicht
faktor = (messwert - taraWert) / REFERENZGEWICHT; // Skalierung berechnen
// faktor = Wert; //Der ausgegebene Kalibrierungsfaktor kann dann hier eingetragen werden
Serial.print("Kalibrierungsfaktor: ");
Serial.println(faktor); //Der ausgegebene Kalibrierungsfaktor kann oben eingetragen werden
}
void loop() {
if (sensor.available()) {
float gewicht = (sensor.read() - taraWert) / faktor; // Gewicht berechnen
Serial.print("Gewicht: ");
Serial.print(gewicht, 2); // 2 Nachkommastellen für genauere Anzeige
Serial.println(" kg");
}
}
Lege ein bekanntes Gewicht (in meinem Beispiel 1Liter Milch etwa 1.0 kg) bereit. Wählt du ein anderes Gewicht dies in Zeile 4 dann eintragen. Nach der Übertragung warten bis im Seriellen Monitor „Lege das Referenzgewicht auf!“ angezeigt wird und lege nun dein Referenzgewicht auf die Waage. Der berechnete Kalibrierungsfaktor wird dir im Seriellen Monitor dann angezeigt. Diesen nun in den nächsten Sketch in Zeile 6 eintragen.
Beispiel: Passe diesen Wert im Sketch float faktor = -11367; an.
Ausgabe im Seriellen Monitor:

Haupt-Sketch mit LED-Matrix-Ausgabe
Jetzt kommt der fertige Sketch mit Anzeige auf der LED-Matrix:
#include <GyverHX711.h> // Bibliothek für den HX711 AD-Wandler
#include "ArduinoGraphics.h" // Bibliothek für grafische Darstellung
#include "Arduino_LED_Matrix.h" // Bibliothek für die integrierte LED-Matrix des Arduino R4 WiFi
ArduinoLEDMatrix matrix; // Erstellen einer Instanz der LED-Matrix
GyverHX711 sensor(3, 2, HX_GAIN64_A); // DT → Pin 3 / SCK → Pin 2
float faktor = -11367; // Setze Skalierungsfaktor aus deiner Messung
long taraWert = 0; // Nullwert nach Tarierung
void setup() {
Serial.begin(9600);
delay(1000);
sensor.tare(); // Nullpunkt setzen
taraWert = sensor.read(); // Den Nullpunkt speichern
matrix.begin(); // Initialisiert die LED-Matrix
matrix.beginDraw(); // Beginnt die Zeichnung auf der LED-Matrix
matrix.stroke(0xFFFFFFFF); // Setzt die Textfarbe auf Weiß
matrix.textFont(Font_5x7); // Setzt die Schriftart auf 5x7 Pixel
matrix.beginText(1, 1, 0xFFFFFF); // Startet den Text auf der Matrix
matrix.println("Warten"); // Noch kein Gewicht auflegen
matrix.endText(NO_SCROLL); // Deaktiviert Scrollen für statische Anzeige
matrix.endDraw(); // Beendet die Zeichnung und zeigt das Ergebnis an
Serial.print("Messung beginnt: ");
delay(2000);
}
void loop() {
if (sensor.available()) {
float gewicht = (sensor.read() - taraWert) / faktor; // Gewicht berechnen
Serial.print("Gewicht: ");
Serial.print(gewicht, 2); // 2 Nachkommastellen für genauere Anzeige
Serial.println(" kg");
//Ausgabe auf der LED-Matrix des Arduino R4 Wifi
matrix.beginDraw(); // Beginnt die Zeichnung auf der LED-Matrix
matrix.stroke(0xFFFFFFFF); // Setzt die Textfarbe auf Weiß
matrix.textFont(Font_5x7); // Setzt die Schriftart
matrix.beginText(10, 1, 0xFFFFFF); // Startet die Textanzeige
matrix.println(gewicht); // Zeigt das Gewicht an
matrix.textScrollSpeed(140);
matrix.endText(SCROLL_LEFT); // Deaktiviert das Scrollen
matrix.endDraw(); // Beendet die Zeichnung
}
}
Ausgabe im Seriellen Monitor zeigt deutlich eine schwankende Messung:

Tipps zum Aufbau
- Stelle sicher, dass die Sensoren plan aufliegen.
- Nutze kleine Abstandshalter, um Verwindungen zu vermeiden.
- Wägezellen Halterung zum Ausdrucken mit dem 3D Drucker findest du hier:
Abstandshalterung in der Größe 34mm x 34mm
Fazit
Mit wenig Aufwand baust du dir eine digitale Waage mit Arduino und bekommst ein tolles Praxisprojekt für Gewichtsmessung und Sensorintegration. Die Anzeige über die LED-Matrix macht richtig was her!
Viel Spaß beim Nachbauen!