Skip to content

01 – Overview

Purpose

The project measures the load on a load cell and displays it graphically on a touch display. When a load is applied to the load cell, the bridge output changes, the signal converter turns it into a digital value, and the control board reads the value and draws it on the display.

System architecture

┌────────────────────────┐   MIPI-DSI    ┌──────────────────────────────┐
│ Waveshare               │◄─────────────│ Waveshare                     │
│ 10.1-DSI-TOUCH-A        │──── I²C ────►│ ESP32-P4-WIFI6-POE-ETH        │
│ (display + touch)       │   (touch)     │ (control board)               │
└────────────────────────┘               └──────────────┬───────────────┘
                                                         │ GPIO header
                                                         │ CLK, DOUT, RATE, 3V3, 5V, GND
                                          ┌──────────────▼───────────────┐
                                          │ MIKROE Load cell click        │
                                          │ (HX711, 24-bit ADC)           │
                                          └──────────────┬───────────────┘
                                                         │ E+, E-, S+, S-, shield
                                          ┌──────────────▼───────────────┐
                                          │ GEFRAN TU-K2C (0–200 kg)      │
                                          │ load cell, 2 mV/V             │
                                          └──────────────────────────────┘
  1. Load cell – The Gefran TU-K2C is a tension/compression load cell (Wheatstone bridge, 350 Ω). Tension gives a positive output signal and compression a negative one.
  2. Signal converter – The Load cell click supplies the bridge with excitation voltage and measures the differential voltage with the HX711 (channel A, gain 128).
  3. Control board – The ESP32-P4 reads the HX711 over its two-wire serial interface (clock and data pins on GPIO, no hardware bus required) and converts the raw value to kg using tare and a calibration factor.
  4. Display – The ESP32-P4 drives the display over MIPI-DSI and shows the current load graphically; the touch function is used for e.g. taring.

Data flow

Load → bridge output (mV) → HX711 (24-bit raw value) → ESP32-P4 (tare + calibration → kg) → GUI

Development environment

Everything needed to build the firmware (PlatformIO, platform, board, libraries, code layout and structure) is in 05 – Software.

Conventions

  • Schematics and documentation follow IEC 60204-1.
  • Reference designations follow SS-EN IEC 81346-2:2019 using two-letter class codes, e.g. -KE1.
  • Software conventions (modular manager pattern, code layout, LVGL): see 05 – Software.
  • Electrical schematics are generated with Python + ReportLab, format A4 landscape.
  • Everything in the project is written in English: documentation, schematics, code, comments and all text in the HMI/GUI.
  • Every schematic set has its own sheet with all connectors drawn graphically (face views with pin numbers), plus a wiring list, to make correct wiring easy.
  • The connector sheet always starts with this note, top left, in Helvetica 2.5 mm, black, on a single line:

All connector views are seen looking straight at the contacts, coding key at 12 o'clock. Filled contact = connected, grey = not used.

Way of working

  • Chat with the user is in Swedish. Everything written to the project (documentation, schematics, code, HMI/GUI text) is in English.
  • The docs/ folder is the single source of project knowledge. New facts, decisions and conventions are recorded here, not only in chat or in README.
  • If sources disagree with each other, or with something the user says in chat, point it out instead of silently picking one. State which source says what, and what would settle the question.
  • When wiring or I/O changes, state which files need to be updated.
  • Do not write to project files unless the user asks for it.
  • Always ask which GitHub branch to work from before starting on new code.
  • Open items are numbered Ö1, Ö2 … and live in 03 – Check list. An item is closed only when it is verified, not when it looks solved. If a solution is decided but not yet built, the item stays open with the decision noted.

Status

Item Status
Documentation In progress
Wiring schematic In progress – LC-E-001 rev C, preliminary (Electrical drawing)
Firmware – HX711 driver Written (hx711_manager), logic tested on a PC with a simulated HX711; built, uploaded and tested on the board, works (confirmed by the user 2026-10-16)
Firmware – display/GUI Written (ui_screen), checked against the LVGL 9.3 API on a PC; runs on the display with working touch (confirmed by the user 2026-10-16)
Calibration Function in the firmware (CALIBRATE button), not yet run against a known weight

Documents