{
    "key": "hx711",
    "kind": "sensor",
    "model": {
        "aliases": [
            "hx711"
        ]
    },
    "driver": {
        "runtime": {
            "init": {
                "args": {
                    "chip": "{gpio_chip}",
                    "data_line": "{dt_pin}",
                    "clock_line": "{sck_pin}"
                },
                "class": "drivers.hx711.HX711"
            },
            "apt_packages": [
                "python3-libgpiod"
            ],
            "pip_packages": [
                "gpiod"
            ],
            "python_module": "drivers.hx711"
        },
        "targets": [
            "raspberrypi"
        ],
        "verified": {
            "by": null,
            "os": null,
            "date": null,
            "board": null,
            "reviewed_by": null,
            "evidence_url": null
        },
        "interface": "gpio-bitbang",
        "connection": {
            "pins": [
                {
                    "role": "dt",
                    "notes": "Serial data out from the amplifier.",
                    "required": true
                },
                {
                    "role": "sck",
                    "notes": "Clock driven by the host.",
                    "required": true
                }
            ],
            "supply_voltage": "3.3V or 5V",
            "level_shift_required": null
        },
        "constraints": {
            "warmup_seconds": null,
            "read_timeout_seconds": 2,
            "min_read_interval_seconds": 0.1
        },
        "failure_modes": [
            "Raw output is a signed count with no physical meaning. A tare offset and a scale factor must be established per load cell and stored per device, otherwise the published weight is arbitrary.",
            "Bit-banged clocking is sensitive to scheduler preemption. A pulse held high longer than 60 microseconds puts the part into power down and the next read returns garbage.",
            "Reading rate is fixed by the RATE pin at 10Hz or 80Hz. The host cannot sample faster than the part converts.",
            "Zero drifts with temperature. Long deployments need periodic re-taring at a known empty state."
        ]
    },
    "source": "platform-seed",
    "status": "draft",
    "platform": {
        "name": "HX711 Load Cell Amplifier",
        "protocol": "gpio",
        "readings": [
            {
                "slug": "weight",
                "unit": "kilograms",
                "label": "Weight",
                "data_type": "float",
                "range_max": null,
                "range_min": 0,
                "unit_symbol": "kg",
                "device_class": "weight",
                "decimal_places": 3,
                "threshold_crit_low": null,
                "threshold_warn_low": null,
                "threshold_crit_high": null,
                "threshold_warn_high": null
            }
        ],
        "description": "24-bit ADC amplifier for Wheatstone bridge load cells. Used for weight and force measurement via GPIO.",
        "sensor_type": "force",
        "manufacturer": "AVIA Semiconductor",
        "model_number": "HX711",
        "datasheet_url": "https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/hx711_english.pdf",
        "read_interval_seconds": 10
    },
    "revision": 1
}