Start here. HybridScale runs in Job Target mode only: webhook set-weight, scale reaches target, Sequent relay signals the PLC.
Machine ID
Must match the ERP machines.name (for example PLP7). Completions 422 if this nickname is unknown in Supabase.
Line ID
Usually default_line. Sent on completion payloads as line_id.
Machine name
Location
DAQ enabled
Must be on to read the load cell. Turning this off/on after boot needs a service restart.
Load-cell hookup
Pick the ADS1263 terminals the signal wires are landed on.
At-weight relay
Sequent relay 1–4 that tells the PLC the hopper is at weight. Other relays are on the Relay Output tab.
Display precision
Job Target Mode is the only operating mode. ERP webhooks set the target, or use dashboard OVERRIDE to change it with a PIN. The relay closes when live pounds reach the trigger — not when the target is typed in.
Trigger timing
Exact: close the at-weight relay at (set weight − free fall). Use this for material in the air. Early: ignore free fall and always cut by the Early offset instead.
Free fall / pre-fire
Pounds before set weight that K1 should close. Example: set 25 lb, free fall 5 lb → relay at 20 lb. Does nothing if this is 0. Hysteresis is not this — hysteresis only holds the coil on after it has already fired.
lb
Early offset
Only when Trigger timing is Early. Replaces free fall for that mode.
lb
Hysteresis
How far below the trip weight the live pounds must drop before the relay opens again. Does not pre-fire.
lb
Large-job free-fall floor
Jobs heavier than this always get the free-fall offset, even if the offset is bigger than the job (clamped so the trip stays above empty). Jobs at or below this still get free fall when the offset is smaller than the set weight. 0 = every job. Leave 200 only if you want the old hoppers “30 lb cut on 200+ lb jobs” and a 5 lb cut on smaller jobs.
lb
Set-weight override PIN
4 digits. Required on the dashboard to change the ERP (or waiting) set weight. Leave blank to keep the stored PIN. The PIN is stored as a hash, not the digits.
Completion webhook URL
Paste receive-scale-webhook when going live. Completions 422 if Machine ID is not the ERP machines.name. Leave blank to keep completions local-only.
Require API key for writes
Off is OK on isolated RJ45. Turn this on before Tailscale or shop LAN — otherwise anyone on :8080 can wipe calibration.
Inbound API key
ERP dispatch auth. Accepts X-API-Key, X-Scale-Token, or Authorization: Bearer. Leave blank to keep the stored key.
Outbound webhook secret
Optional X-Scale-Webhook-Secret sent with completions. Leave blank to keep the stored secret.
The Sequent card has four opto channels. Each channel has two screw-terminal banks: LV 3–30 V DC and HV 30–240 V AC/DC. Pick the bank you landed, then AC vs DC so we read the filtered or raw bitmap. Hardware counters still count every enabled dump/reject/count input. Role none is live on the LEDs (and can drive a follow-input relay) but is not added to the job.
Live inputs
Maintenance burst threshold
This many edges inside the window = maintenance mode (counts ignored).
Maintenance burst window
s
Maintenance cooldown
s
Production chain (after calibration): millivolt median for display/capture → pounds calibration → pounds median → Kalman (Q=0.1 / R=50). The 20 Hz loop matches the ADS1263 20 SPS FIR. 50/60 Hz rejection is on the ADC, not a software notch. Relay and PDRZ use unrounded pounds; the dashboard rounds for display only.
Use Kalman filter
Recommended ON. Off uses the median (and IIR if enabled) reading.
Process noise (Q)
Pounds-domain. 0.1 matches live PLP6 (smooth, slower). Bench step tests: use 1.0 so a 10 lb drop tracks in about a second.
Measurement noise (R)
Pounds-domain. Start at 50. Higher filters electrical noise more aggressively.
Pounds median
Production spike killer after mV→lb. Window 7 is the PLP6 starting point.
Pounds median window
Millivolt median
Diagnostic smoothing for the live mV number and pounds capture. Does not replace the pounds Kalman.
Millivolt median window
Stability window
How long the weight must sit before STABLE. 40 samples at 20 Hz is 2 seconds.
samples
Weight bounce tolerance
Enter STABLE when the window spread is inside this. Default 0.25 lb.
lb
STABLE hold (exit)
Once STABLE, stay STABLE until the window spread exceeds this. Stops the badge flickering.
lb
Calibration capture
Add Point records this many seconds of millivolts and saves the median. First second is discarded bounce.
s
Calibration skip
s
Round up to nearest pound
Show decimal point
Technician — extra filters & stability gates
IIR pre-filter
Optional extra smoothing before Kalman. Leave off unless the cell is noisy after median.
IIR alpha
Stddev gate
lb
Slope gate
lb/s
Uncalibrated mV bounce
mV
Uncalibrated mV stddev
mV
ZERO adjusts the millivolt baseline. TARE subtracts container weight in pounds. Zero tracking nudges empty drift. PDRZ does a one-shot correction after a counted dump.
Enable zero tracking
Max drift
lb
Tracking range
Only track while |weight| is inside this band (and empty).
lb
Tracking rate
lb/s
Deadband
lb
Hold time
Must stay empty+stable this long before the offset moves.
s
Zero-tracking bounce
Separate from display STABLE. Default 0.05 lb.
lb
Persist interval
Writes the live zero offset to SQLite so a restart keeps it.
s
Post-dump re-zero
PDRZ min delay
s
PDRZ window / timeout
s
PDRZ empty threshold
lb
PDRZ bounce
Settled window for the dump re-zero. Not the display STABLE knob.
lb
PDRZ max correction
lb
Empty threshold
lb
Re-zero warning threshold
lb
Technician — startup zero
Startup auto-zero only runs after delay, while empty and STABLE. Leave off unless the hopper is empty at boot.
Auto-zero on startup
Startup delay
s
Four dry-contact relays (NO and NC on the card — polarity is mechanical, not Invert). At weight, empty, STABLE, job active, overload, and scale fault are internal — they fire from the scale/job, not from IN1–IN4. Follow IN1–IN4 closes the coil while that HV/LV opto is on (same silk as the Input cards). TEST ON / TEST OFF clicks the coil without Save. The 20 Hz loop holds TEST until TEST OFF or 12 s timeout.
Hysteresis (at-weight)
lb
All test off
Releases every TEST hold. Does not Save.
Overload threshold
Software trip. Default 675 lb (above 600 lb ops max, below the 1000 lb cell). DAQ rated-capacity % is an extra cap.
Overload action
Allow negative weight
Underload threshold
High weight alarm
Low weight alarm
Rate-of-change alarm
Trip if |dW/dt| exceeds this. Leave blank to disable.
lb/s
Fault delay
Alarm must persist this long before it latches.
s
Fault recovery
Clear latched fault
Waveshare ADS1263 on SPI (CS GPIO 22). Each option is a differential pair — land signal + and signal − on the terminals named in the list. Default is ±156.25 mV (PGA 16×). PGA 32× compressed this cell (~35 mV true became ~26 mV) without hitting the ADC rail. +78.125 mV at PGA 32× is still the open-pair rail.
Input is at the ADC rail. The cell is not on this pair, or a wire is open. Relays stay OFF. Calibration is blocked.
PGA 32× is compressing or over-ranging. Use ±156.25 mV (PGA 16×). Do not calibrate until this clears.
DAQ enabled
Load-cell hookup
This is the screw-terminal pair the ADS1263 will measure.
Signal polarity
Swap if the empty reading is negative and the wires are crossed.
Live cell reading
Diagnostic millivolts (light median). Raw ADC is in the small print. Operators never enter millivolts on Calibration.
--
Active terminals
--
Technician — ADC range, cell, and safety
Input range / PGA
Default ±156.25 mV is PGA 16× — required on this 10 V / 1000 lb cell. PGA 32× compressed the signal. Do not change after pounds calibration; it would invalidate the curve. FIR 50/60 Hz reject needs ≤20 SPS.
Sample rate
20 SPS matches the 20 Hz application loop (one conversion per tick). FIR 50/60 Hz reject only works at 10 or 20 SPS — higher rates drop FIR.
Rated capacity
lb
Excitation
Cell supply voltage (this bench is 10 V). Metadata and overload math only — the pounds curve absorbs excitation. Change it here if you change the supply.
V
Overload percent of capacity
%
Rail threshold
Percent of PGA full scale treated as open/saturated. PGA STATUS bits are shown as diagnostics; they do not fail-safe on this bench (PGAH can set with a linear 36 mV reading).
%
Consecutive bad samples
Warm-up
s
Read timeout
s
Retry limit
Failed reads in one tick. Exhausted retries force the relay off.
Apply DAQ only
Writes hardware.daq_hat through /api/config/daq so other settings cannot be clobbered.
Dashboard poll rate
ms
Acquisition loop rate
20 Hz consumes every ADS1263 20 SPS FIR conversion. Restart is not required; Save reloads the loop sleep.
Hz
Log level
Relay HAT enabled
Sequent Four Relays Four HV Inputs. Rotary stack 0–7. Off = no coils, no dump counts, latched FAULT.
Relay stack level
Fan HAT enabled
Fan stack level
Fan mode
Auto: fan runs 100% when CPU hits the on temperature, then stops hysteresis °F below that. This bench Smart Fan has no onboard auto — the Pi drives setPower.
Fan on temperature
CPU temperature that turns the fan on. Default 140 °F. Fan turns off 9 °F cooler unless you change hysteresis.
°F
Fan off hysteresis
How many °F below the on temperature before the fan stops. Stops chatter around the setpoint.