Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO and HX711-Based Bluetooth Weight Measurement System with I2C LCD Display

View and Edit Project In Cirkit DesignerImage of Arduino UNO and HX711-Based Bluetooth Weight Measurement System with I2C LCD Display

Circuit Documentation

Summary

This circuit is designed to measure weight using load sensors and an HX711 bridge sensor interface. The measured weight is displayed on a 16x2 I2C LCD and transmitted via an HC-06 Bluetooth module. The circuit is controlled by an Arduino UNO microcontroller.

Component List

  1. Load Sensor - 50kg

    • Description: Measures weight up to 50kg.
    • Pins: W, R, B
  2. HX711 - Bridge Sensor Interface

    • Description: Amplifies and converts the signal from the load sensors.
    • Pins: E+, E-, A-, A+, B-, B+, GND, DATA (OUT), SCK (IN), 3.3/3.5V Supply
  3. Resistor

    • Description: Provides resistance in the circuit.
    • Pins: pin1, pin2
    • Properties: 2000 Ohms
  4. Arduino UNO

    • Description: Microcontroller used to control the circuit.
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  5. HC-06

    • Description: Bluetooth module for wireless communication.
    • Pins: RXD, TXD, GND, VCC
  6. 16x2 I2C LCD

    • Description: Displays weight data.
    • Pins: GND, VCC, SDA, SCL
  7. HC-SR04 Ultrasonic Sensor

    • Description: Measures distance using ultrasonic waves.
    • Pins: VCC, TRIG, ECHO, GND
  8. rp2040 zero

    • Description: Microcontroller used for additional processing.
    • Pins: 5V, GND, 3V3, 29, 28, 27, 26, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
  9. 9V Battery

    • Description: Provides power to the circuit.
    • Pins: +, -
  10. 5V Battery

    • Description: Provides power to the circuit.
    • Pins: +, -

Wiring Details

Load Sensor - 50kg

HX711 - Bridge Sensor Interface

Resistor

Arduino UNO

HC-06

16x2 I2C LCD

HC-SR04 Ultrasonic Sensor

rp2040 zero

9V Battery

5V Battery

Code Documentation

/*
 * Arduino Sketch for interfacing with HX711, HC-06, and 16x2 I2C LCD
 * - Reads weight data from load cells via HX711
 * - Displays weight on 16x2 I2C LCD
 * - Sends weight data via HC-06 Bluetooth module
 */

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <HX711.h>

// Pin definitions
const int LOADCELL_DOUT_PIN = 3;
const int LOADCELL_SCK_PIN = 2;
const int BLUETOOTH_TX_PIN = 9;
const int BLUETOOTH_RX_PIN = 10;

// HX711 initialization
HX711 scale;

// LCD initialization
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  // Initialize serial communication for Bluetooth
  Serial.begin(9600);
  // Initialize HX711
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  // Initialize LCD
  lcd.begin(16, 2); // Corrected line
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Weight: ");
}

void loop() {
  // Read weight from HX711
  float weight = scale.get_units(10);
  // Display weight on LCD
  lcd.setCursor(0, 1);
  lcd.print(weight);
  lcd.print(" kg");
  // Send weight data via Bluetooth
  Serial.print("Weight: ");