QR / Barcode Scanner
Ready — load a job then scan parts.
Load Project
Sound alerts: OFF
Project Queue
Queue is empty — load jobs to add them
Taken Out
40-Slot Sorting Rack
■ Slots 1–30 regular
■ Slots 31–40 full-length
Free
In progress
Place here
Ready
Damaged
Sync ready
Activity log
Corpus Software → STACKD
Import your Corpus cut list (.mrp file) to auto-configure the rack. Parts get QR codes matching the MRP part IDs.
Corpus Design
Design cabinets, generate cut list
Export .mrp
File → Export → .mrp for cutting machine
Import Here
Drop .mrp below, slots auto-assign
Scan QR Labels
CNC prints QR, scan at rack
Assembly Ready
Slot green + WLED lights up
Drop .mrp file here or click to browse
Corpus cut list export · .mrp / .xml / .csv formats supported
file.mrp
0 cabinets · 0 parts
| Cabinet | Part ID | Description | Format |
|---|
Corpus QR Label Setup
In Corpus, set your label template to include a QR code with the Part ID field (same as MRP export
Format example:
CNC machine reads the .mrp for cutting — STACKD reads it for sorting. One file, two machines.
Slot assignment: Slots 1–30 (orange) for regular cabinets. Slots 31–40 (blue) auto-assigned to tall/full-length cabinets (wardrobes, pantry units ≥ 2000mm height).
PART_ID).Format example:
K001-TOP, K001-LS etc.CNC machine reads the .mrp for cutting — STACKD reads it for sorting. One file, two machines.
Slot assignment: Slots 1–30 (orange) for regular cabinets. Slots 31–40 (blue) auto-assigned to tall/full-length cabinets (wardrobes, pantry units ≥ 2000mm height).
WLED / ESP32
WS2812 / WS2815 · DC 5–24V · HTTP JSON API · 40 slots
Connection
WLED IP Address
LEDs / reg slot
LEDs / full slot
Not connected
LED colors
Empty
off
In progress
Place here
Ready
Damaged
solid red
Sync ready
blink
Wiring
WS2812B — 5V
// ESP32 → WS2812B
GPIO 2 → Data IN
GND → GND strip
5V PSU → 5V strip
// 300–500Ω on data line
WS2815 — 12V dual data
// ESP32 → WS2815
GPIO 2 → DIN
GPIO 4 → BIN (backup)
GND → GND strip
12V PSU → 12V strip
JSON API — sent on each scan
// POST http://WLED_IP/json/state
{
"seg": [{
"id": 5, // slot index (0-based)
"start": 15, // slot_idx * leds_per_slot
"stop": 18, // start + leds_per_slot
"col": [[245,158,11]], // RGB colour
"fx": 65, // 65=Blink 58=Chase 0=Solid
"on": true
}]
}
Live strip preview
Row 1 — Slots 1–15
Row 2 — Slots 16–30
Full-length — Slots 31–40
Hardware debug
Light LED #
Count
Color