Skip to content

How To: Test Stack Lights

Stack lights provide visual and audible feedback during validation. Use the Diagnostics panel to test each light and the horn individually.


Step 1: Open the Diagnostics panel

  1. Click the gear icon in the application toolbar.
  2. Expected: The Diagnostics panel opens showing hardware controls.

Step 2: Verify the controller is connected

  1. Check the controller status in the Diagnostics panel.
  2. The controller must show Connected for stack light testing to work.

If the controller is disconnected, see Hardware Disconnected.


Step 3: Test each stack light color

The Diagnostics panel provides toggle buttons for Arduino output pins. Use these to test each light:

  1. Green light: Click the toggle for the StackLightGreen pin.
  2. Expected: The green light on the stack light tower turns ON.
  3. Click again to turn it OFF.

  4. Yellow light: Click the toggle for the StackLightYellow pin.

  5. Expected: The yellow light turns ON.

  6. Red light: Click the toggle for the StackLightRed pin.

  7. Expected: The red light turns ON.

  8. Horn/Alarm: Click the toggle for the StackLightAlarm pin.

  9. Expected: The horn sounds.
  10. Warning: Click again quickly to turn it OFF, as the horn can be loud.

Step 4: Test reject and stop signals (if applicable)

If the site has reject or stop signals configured:

  1. Reject signal: Click the toggle for the RejectSignal pin.
  2. Expected: The reject mechanism activates.
  3. Warning: Make sure no product is on the line when testing.

  4. Machine stop: Click the toggle for the MachineStop pin.

  5. Expected: The conveyor stop signal activates.
  6. Warning: This will stop the conveyor.

Step 5: Interpret the results

Result Meaning
Light turns on and off correctly Stack light hardware is working
Light does not respond Check wiring between controller and stack light
Wrong light turns on Pin mapping is incorrect in appsettings.json
No response to any button Controller may be disconnected -- check connection

Step 6: Check stack light profile

Different sites use different stack light behaviors. The profile is configured in appsettings.json:

"StackLightProfile": "Teasdale"
Profile Idle State Validation ON Pass Fail
Teasdale All lights ON Yellow only Green flash Red flash + horn
CargillRfid All lights OFF Green ON Green inverse flash Red flash + horn
AV50 All lights OFF Green ON Green inverse flash Red flash + horn

If the lights behave differently than expected, check the profile setting.


Pin mapping reference

The controller pin numbers are configured in appsettings.json under the Arduino Configuration:

"Outputs": [
    {"Pin": 0, "Type": "StackLightRed"},
    {"Pin": 1, "Type": "StackLightYellow"},
    {"Pin": 2, "Type": "StackLightGreen"},
    {"Pin": 3, "Type": "StackLightAlarm"},
    {"Pin": 4, "Type": "RejectSignal"},
    {"Pin": 5, "Type": "MachineStop"}
]

If a pin shows "Pin": -1, that signal is not installed at this site and the pin will be skipped.

Note: Pin assignments vary by site. Always check the actual appsettings.json for the site you are working on.