Packing Station
2026-10-20T22:22:13+00:00
Quick Setup
Signal Tuning
Zero & Scale
Alarms & Limits
Relay HAT
DAQ Channels
Timing
Logging
Advanced
System
Maintenance
Start Here! These are the essential settings to get your scale up and running. Most installations only need to adjust these settings.
Container cycle
Start Job on the iPad: calibrate, then fill to a piece count. At target the feeders stop. Take the full container off, put an empty one on, wait for Container settle, then auto starts the next fill. Nudging the box restarts the settle timer. There is no hopper dump.
Empty scale
At or below this weight the container is off the scale (not a dump).
lb
Container settle
How long an empty container must sit still before feeders start. Bumping the box restarts this timer. Same SQLite key as the old hopper Post-Dump Delay.
s
Pre-Job Verification Wizard
OFF (default): a started job goes straight to container validation and fills. ON: the operator must first walk the guided calibration wizard (empty container → 1 piece → N pieces) from the Job Run or Dashboard page before the job may start. Leave this OFF unless you are re-calibrating a part.
Pre-job verification wizard
Require the guided calibration steps before every job starts.
Disabled
Auto-Start (container starts the job)
ON: after the operator taps START JOB once, later empty containers that validate start feeding by themselves (dwell below, then container settle). The first box on the run page always waits for START JOB. OFF: every box waits for START JOB after validating. Do not turn this off to make start feel faster — shorten dwell and settle instead.
Enable Auto-Start
After START JOB, a validated container auto-begins the next fill after the dwell.
Enabled
Auto-Start Dwell
After START JOB, how long a later empty box must sit before container settle. First box still needs the START JOB tap. This is not a hopper dump timer.
s
Trickle Mode (near-target pulse feeding)
OFF: motor + vibe run continuously until the target count (previous behavior). ON: below Trickle Start % the motor runs wide open; between Start and End % it pulses (fast short bursts — safe for a motor contactor); above End % the motor stays off for a vibe-only top-up. The vibe NEVER runs continuously in this mode — it only short-pulses so the conveyor cannot pile up parts.
Enable Trickle Mode
Pulse-fed near-target filling instead of continuous run.
Enabled
Trickle Start
Container percent where wide-open ends and pulsing begins.
%
Trickle End
Motor fully stops here; only vibe top-up pulses remain until target.
%
Motor Pulse ON
Burst length while pulsing (e.g. 2s on / 1s off).
s
Motor Pulse OFF
Pause between motor bursts while pulsing.
s
Vibe Pulse ON
Short vibration burst each cycle (never continuous).
s
Vibe Pulse OFF
Rest between vibe bursts.
s
Target Mode Panel Configure webhook-driven trigger behavior without changing load cell calibration points. This mode only changes how PLC output is commanded.
Trigger Behavior
Mode
Keep this in sync with Quick Setup mode selector.
Trigger Timing
Exact: trigger at target weight.
Early: trigger before target by configured offset.
Webhook Security
Webhook Token
Required token for /api/job/webhook, /api/job/status, and /api/job/clear.
Completed Job Webhook URL
Optional destination for summary-only completed job payloads sent when a new normal job ID starts.
Manager Override PIN
4-digit PIN required for HDMI OVERRIDE. Leave blank to keep the current PIN.
Signal Processing These settings control how the raw signal from the load cells is filtered and processed. Proper tuning gives you a stable weight reading without sacrificing response time.
Filter Type
Use Kalman Filter
Recommended ON. Kalman filter provides zero-lag filtering - it responds instantly to real weight changes while removing noise. Turn OFF to use simple IIR filter instead (legacy mode).
Kalman (Recommended)
Kalman Filter Settings
Process Noise (Q)
How much the weight actually changes between readings.
Lower (0.1-1.0): For stable loads like storage hoppers. Smoother reading.
Higher (2.0-10.0): For dynamic loads with rapid changes. Faster response.
1.0
Measurement Noise (R)
How noisy your sensor readings are.
Lower (10-30): Trust the sensor more. Use with quality load cells and clean power.
Higher (50-200): Filter more aggressively. Use in noisy environments with electrical interference.
50.0
IIR Filter Settings (Legacy)
Filter Alpha
Simple smoothing factor. Only used when Kalman is OFF.
Lower (0.05-0.15): Heavy filtering, very smooth but slow to respond.
Higher (0.3-0.8): Light filtering, faster response but more jitter.
0.01
Stability Detection
How Long to Watch
How many readings the scale looks at before deciding if the weight is steady. Think of it like a patience setting — higher means it watches longer before making up its mind.
Larger (40-100): More sure it's really stable, but takes longer to show STABLE.
Smaller (10-20): Decides faster, but might say STABLE during a brief pause in movement.
samples
Weight Bounce Tolerance
How much the weight reading is allowed to jump around and still count as "stable." If the scale keeps saying UNSTABLE even when nothing is moving, raise this number.
Lower (0.2-0.5 lb): Very picky — the weight has to be almost perfectly still.
Higher (1.0-3.0 lb): More forgiving — small bounces in the reading are OK.
lb
Weight Drift Tolerance
How fast the weight can be creeping up or down and still count as "stable." If the reading slowly drifts and the scale keeps flipping to UNSTABLE, raise this number.
Lower (0.2-0.5 lb/s): Very strict — the weight must be barely moving at all.
Higher (1.0-5.0 lb/s): More relaxed — a gentle drift is still considered stable.
lb/s
Weight Display
Display Precision
How many decimal places to show for weight readings on the dashboard.
0 (Whole lbs): Shows "75 lb" - for rough measurements like hoppers.
1 (0.1 lb): Shows "75.2 lb" - standard precision.
2 (0.01 lb): Shows "75.24 lb" - for precision weighing.
Round Up to Nearest Pound
Always rounds weight UP to the next whole number (ceiling).
24.2 → 25, 24.9 → 25, 25.0 → 25, 25.1 → 26
Applies to both the display AND PLC output. Useful when scale reads consistently light.
Show Decimal Point
Controls whether whole numbers show a decimal point.
ON: "25.0 lb" — OFF: "25 lb"
Only affects the display format, not precision or PLC output.
Advanced Noise Reduction
Median Pre-Filter
Applies a median filter before the main filter. Excellent for rejecting random spikes from electrical noise or interference. The median filter picks the middle value from the last N samples, eliminating outliers.
Enabled
Median Window Size
Must be an odd number. 3 = light spike rejection, 7-11 = heavy spike rejection (adds slight delay).
Notch Filter (Power Line)
Removes power line interference (50Hz or 60Hz hum) from the signal. Turn ON if you see weight reading oscillating in sync with AC power.
Disabled
Notch Frequency
60 Hz: North America, parts of South America, Asia
50 Hz: Europe, Australia, most of Asia, Africa
⚖️ Scale Calibration
Use this when hooking up a new scale or load cell, or if the scale is reading wrong. Step 1: Empty the scale completely and tap ZERO SCALE.
Step 2: Place exactly 5 lb on the scale and tap CAPTURE 5 LB.
Step 3: Add 5 more lb (10 lb total) and tap CAPTURE 10 LB.
Three points (0-5-10) gives the most accurate slope and catches nonlinearity.
Ready — empty the scale first.
⚖️ Zero Management Configure how the scale maintains its zero point over time. Zero tracking is essential for industrial scales that experience temperature changes and mechanical settling.

Understanding ZERO vs TARE:
• ZERO: Adjusts the calibration baseline (signal offset). Use this to fix drift from temperature, aging, etc.
• TARE: Subtracts a weight offset (for containers). Doesn't fix drift, just hides weight.
• Zero Tracking: Automatically adjusts ZERO when the scale is empty, compensating for drift over time.
Zero Tracking (Auto-Zero)
Enable Zero Tracking
Recommended ON. Automatically fixes drift when scale is empty and stable. Stops when weight is added. Prevents the "-4 lb overnight" problem.
Disabled
Zero Tracking Range
Industrial AZT only corrects within a tiny band near true zero. This prevents it from ever zeroing real material. Recommended: 0.05 lb on a 0.1 lb division scale. Bigger is not recommended; use Post-Dump Re-Zero for larger drift.
lb
Zero Tracking Rate
How fast AZT corrections happen near zero. Industrial systems limit this heavily. Recommended: 0.05 lb/s. Post-Dump Re-Zero handles larger one-shot corrections.
lb/s
Zero Tracking Deadband
Stop correcting when reading is within ±this amount. Prevents constant tiny adjustments. Recommended: 0.02 lb so AZT stops close to zero without hunting.
lb
Zero Tracking Hold Time
Optional delay after becoming stable/empty before AZT starts. Stability gating already prevents motion corrections. Recommended: 1 second (or 0 for immediate).
s
Zero Tracking Persist Interval
How often to save the zero offset to disk during auto-tracking. 1 second is good - saves changes without wearing out SD card.
s
Post-Dump Re-Zero (One-Shot)
Industrial scales use two layers: micro AZT near zero, plus a post-dump re-zero that can correct larger drift after each cycle. This only runs after a detected dump and only if the hopper is empty and stable.
Disabled
Post-Dump Minimum Delay
Wait this long after a detected dump before attempting re-zero. Lets the door bounce settle. Recommended: 5 seconds.
s
Post-Dump Window
Maximum time to wait for stable + empty conditions after a dump before skipping re-zero. Recommended: 10 seconds.
s
Empty Threshold
Only attempt re-zero if the gross weight is within ±this amount (hopper empty). Recommended: 4 lb (~2% of a 200 lb scale).
lb
Max Correction
Safety limit: if the required correction exceeds this, re-zero is skipped. Recommended: 8 lb (~4% of a 200 lb scale).
lb
Re-Zero Warning Threshold
Show a non-blocking warning between jobs when the scale settles stable but still reads outside this tolerance. Recommended: 20 lb until you tune it from live production behavior.
lb
Power-Up Behavior
Auto-Zero on Startup
Automatically zero the scale when the system powers up. Only enable if the scale will always be empty at startup.
Disabled
Startup Delay
Wait this long after power-up before sending valid output. Allows load cells to settle and filters to initialize. Recommended: 5-10 seconds.
seconds
🚨 Protection & Alarms Configure limits and alarms to protect your equipment and alert operators to abnormal conditions.
Overload Protection
Overload Threshold
Weight above this value triggers an OVERLOAD fault. Set slightly above your maximum expected weight to protect load cells from damage. Leave blank to disable.
lb
Overload Action
What to do when overload is detected.
Alarm Only: Display warning but continue outputting.
Safe Output: Switch to safe output value.
Lock Output: Freeze output until manually cleared.
Underload / Negative Weight
Allow Negative Weight
Allow weight readings below zero. Useful for net weight applications or when tare exceeds gross. If disabled, negative readings are clamped to zero.
Clamped to 0
Underload Threshold
Weight below this value triggers an UNDERLOAD warning. Only applies if negative weight is allowed.
lb
Weight Alarms
High Weight Alarm
Trigger an alarm when weight exceeds this value. Useful for alerting when a hopper is nearly full. Leave blank to disable.
lb
Low Weight Alarm
Trigger an alarm when weight drops below this value. Useful for alerting when a hopper needs refill. Leave blank to disable.
lb
Rate-of-Change Alarm
Trigger an alarm if weight is changing faster than this rate. May indicate a broken load cell, loose connection, or uncontrolled material flow. Leave blank to disable.
lb/s
Fault Handling
Fault Delay
How long a fault condition must persist before triggering. Prevents false alarms from brief glitches. 0: Instant fault detection.
seconds
Fault Recovery Mode
Auto: Fault clears automatically when condition is fixed.
Manual: Fault stays latched until manually acknowledged by operator.
8-Relay HAT Configure each relay's trigger threshold as a percentage of the piece-job target weight, and whether it latches once tripped. Saving here posts directly to the relay controller and does not require the main Save button.
Relay Rules (Channels 1–8)
Relay Enabled Threshold % of Target Latching
1
2
3
4
5
6
7
8
Save Relay Rules
Writes all 8 relay rules to the controller immediately.
DAQ Configuration
All 8 channels are shown with live readings. Select which channel your summing board signal is on. The active channel will be used for weight measurement. All others are shown for diagnostics.
All Channels (Live)

Readings refresh every second. Use the On toggle to enable/disable channels, and the Use radio to pick the active one.

Ch mV Volts Gain On Use
1 3.9368 0.003937 6
2 0.0000 0.000000 0
3 0.0000 0.000000 0
4 0.0000 0.000000 0
5 0.0000 0.000000 0
6 0.0000 0.000000 0
7 0.0000 0.000000 0
8 0.0000 0.000000 0
Active Channel Settings
Input Gain
Set the sensitivity for the active channel.
Code 6 (±0.37V): Standard for 2mV/V load cells.
Code 7 (±0.18V): High sensitivity for 3mV/V load cells.
Sample Rate
Lower = better noise rejection. 250 SPS recommended for load cells.
🔍 Detection Algorithms Configure how the system detects dumps (material discharges) and load cell drift (sensor degradation).
Dump Detection
Drop Threshold
Minimum weight drop to count as a dump. Set based on your typical batch size.
Example: If you typically dump 50 lb batches, set to 25-40 lb to catch partial dumps.
lb
Minimum Previous Stable Weight
Weight must be at least this amount (and stable) before a drop counts as a dump. Prevents false dumps when scale is nearly empty or during zeroing.
lb
Drift Detection
Ratio Threshold
Maximum allowed deviation in load cell contribution ratios. Each load cell should contribute roughly equal signal. A drifting cell will show abnormal ratio.
Lower (0.05-0.08): Very sensitive, may false alarm.
Higher (0.15-0.25): Only catches major drift.
EMA Alpha
Smoothing factor for drift tracking. Lower = slower to react but more stable. Higher = faster detection but more prone to false alarms.
Consecutive Required
Number of consecutive readings exceeding threshold before alarming. Prevents single-sample glitches from triggering drift warnings.
readings
⏱️ Timing & Performance Configure loop rates and communication parameters. Higher rates give faster response but use more CPU.
Acquisition Loop
Target Loop Rate
Target frequency for the main acquisition loop. Actual rate may be lower due to I2C timing. Recommended: 20 Hz for most applications.
Hz
Config Refresh Interval
How often to reload configuration from database. Allows UI changes to take effect without restart.
seconds
Communication
I2C Retry Count
Number of times to retry a failed I2C communication before declaring board offline.
Board Offline Threshold
Time without successful communication before a board is marked offline.
seconds
UI Updates
Dashboard Poll Rate
How often the dashboard refreshes data from the server. Lower = faster updates but more network traffic.
ms
📝 Data Logging Configure what data is logged and how long it's retained. Logs are stored in the SQLite database.
Trend Logging
Log Interval
How often to log weight and output values to the trends table. 1 second = detailed history, 60 seconds = summary history.
seconds
Log Retention
Automatically delete logs older than this. Prevents database from growing indefinitely. 0 = keep forever (not recommended).
days
What to Log
Log Raw Signal
Include raw mV (or mV/V) signal in trend logs. Useful for diagnosing calibration issues.
Log Filtered Weight
Include filtered weight value in trend logs. Recommended ON.
Log on Events Only
Only log when something happens (dump, alarm, fault) instead of at fixed intervals. Greatly reduces database size but loses continuous history.
Processed Weight / Throughput
View completed hopper cycles (fill + dump) with filters, rollups, and export. Event timestamps are stored in UTC and grouped using the configured site timezone.
Filters
Save Settings to persist timezone for day/week/month/year grouping.
Summary
Total Processed
0.0 lb
Loads / Events
0
Average Load
0.0 lb
Events
Timestamp (Local) Processed (lb) Full (lb) Empty (lb) Duration Confidence
No events found.
Page 1
Advanced Settings
These settings can affect system stability and safety. Only modify if you understand the implications. Incorrect settings may cause the Raspberry Pi to reboot unexpectedly or become unreachable.
Watchdog Timer (24b8vin)
Enable Watchdog
When enabled, the 24b8vin board will power-cycle the Raspberry Pi if the application stops responding. Only enable after confirming the application reliably pets the watchdog.
Watchdog Period
Pi will be reset if not petted within this time. Set longer than worst-case application pause.
seconds
I/O LIVE
Real hardware is connected and operational. All readings and outputs are from actual hardware.
I/O Hardware Status
DAQ (24b8vin)
8-channel 24-bit ADC for load cell signals.
ONLINE
Last DAQ Communication
Timestamp of last successful DAQ read.
Never
I2C Configuration
I2C Bus
I2C bus number. Usually 1 on Raspberry Pi. Only change if you have a custom setup.
Maintenance UI
Enable Maintenance UI
Show additional maintenance pages and options. These are hidden from normal operators.
System Information
Loop Rate
Current acquisition loop rate (actual, not target).
20.0 Hz
I/O Status
Overall hardware connection status.
LIVE
Auto-save enabled — changes save automatically
⚠️
MAINTENANCE MODE bypasses all safety controls. Relays can be toggled directly. Only use during setup/wiring. The piece-count state machine and conveyor safety overlay are suspended while this is active.
🛠️ Maintenance Mode
⚠ MAINTENANCE MODE ACTIVE — safety controls bypassed
🔌 Relay Test Panel Relay HAT: --
8-relay HAT — toggle each relay individually. Relays are only manual-controllable while maintenance mode is ON. Relay 7 = motor, relay 8 = vibe — those two click. Relays 1-4 are unwired; 5-6 are silent PLC contacts. If a toggle looks dead after a refresh, wait one second for status to load, or tap Enable Maintenance Mode again. Hard-refresh after a deploy.
Enable maintenance mode to control relays.
⚖️ Scale Tools
0.0 lb
Tare: --
🔎 I2C Bus Scanner
Detected boards will appear here.
Click “Scan I2C Bus” to probe for devices.
🖥️ System Info
CPU Temp--
Disk Used / Free--
Memory--
Uptime--
Model--
Kernel--
Python--
Hostname--
⚙️ Service Status
Service (loadcell-transmitter)
systemd unit running the acquisition loop.
--
Last Error(s) from Event Log
Most recent ERROR events recorded by the app.
--
🔧 Debug Log
(waiting for activity...)