Tool Andon System: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
= Tool Andon System (TAS) = |
= Tool Andon System (TAS) = |
||
| ⚫ | |||
== A Passive Monitoring and Awareness System for PS1 Woodshop Equipment == |
== A Passive Monitoring and Awareness System for PS1 Woodshop Equipment == |
||
'''Version:''' Draft 0.1 |
'''Version:''' Draft 0.1 |
||
| Line 10: | Line 8: | ||
'''Status:''' Proposal / RFC |
'''Status:''' Proposal / RFC |
||
| ⚫ | |||
---- |
|||
== Executive Summary == |
== Executive Summary == |
||
| Line 85: | Line 83: | ||
│ Logging │ │ Discord │ │ Dashboard│ |
│ Logging │ │ Discord │ │ Dashboard│ |
||
│ Database │ │ Alerts │ │ View │ |
│ Database │ │ Alerts │ │ View │ |
||
└──────────┘ └──────────┘ └──────────┘ |
└──────────┘ └──────────┘ └──────────┘ |
||
=== Hardware per Monitored Tool === |
=== Hardware per Monitored Tool === |
||
| Line 202: | Line 200: | ||
tool powers on │ │ (blinking red) │ |
tool powers on │ │ (blinking red) │ |
||
│ │ Discord notify │ |
│ │ Discord notify │ |
||
└───►└─────────────────┘ |
└───►└─────────────────┘ |
||
---- |
---- |
||
| Line 216: | Line 214: | ||
"tag_present": false, |
"tag_present": false, |
||
"notes": null |
"notes": null |
||
} |
} |
||
This allows us to understand: |
This allows us to understand: |
||
| Line 455: | Line 453: | ||
pin: GPIO13 |
pin: GPIO13 |
||
num_leds: 10 |
num_leds: 10 |
||
name: "Planer Status Light" |
name: "Planer Status Light" |
||
''Note: This is a simplified example. Production config would include state machine logic, Home Assistant integration, and error handling.'' |
''Note: This is a simplified example. Production config would include state machine logic, Home Assistant integration, and error handling.'' |
||
---- |
---- |
||
Latest revision as of 21:00, 22 December 2025
Tool Andon System (TAS)
A Passive Monitoring and Awareness System for PS1 Woodshop Equipment
Version: Draft 0.1
Author: Rubin Abdi
Date: December 2025
Status: Proposal / RFC
Executive Summary
This proposal outlines a passive monitoring system for high-value woodshop tools at Pumping Station One. The system uses visual indicators (inspired by Andon lights) to remind members of their authorization status when operating specific equipment. Critically, this system does not prevent tool operation - it serves as a gentle reminder that members participate in the honor system for safe tool use.
Problem Statement
Certain expensive power tools in the PS1 woodshop experience abuse from members who may not have received proper training on their care and operation. Examples include:
- Taking excessive material off in a single pass through the planer
- Improper feed rates on the drum sander
- Misuse of the jointer leading to premature wear
Current state: There is no system to remind members whether they've been trained and authorized on specific equipment. Authorization records exist, but there's no point-of-use reminder.
Goals
- Remind members of their authorization status at the point of tool use
- Encourage members to seek training before using unfamiliar equipment
- Log usage patterns to understand when and how often unauthorized use occurs
- Preserve the honor system - this is about awareness, not enforcement
- Maintain safe tool operation regardless of system state
Non-Goals
- Preventing any users from operating tools, authorized or unauthorized
- Cutting power to tools based on authorization status
- Identifying or punishing specific members
- Replacing human judgment and community accountability
Design Philosophy
"The main goal with this system is not to prevent a non-authorized user from using a tool. It's to remind the user that they also participate in safe operation of tools in order to not wreck them."
This system prioritizes:
- Low barrier to entry - Start simple, iterate based on learnings
- Safety first - Tool operation must never be compromised by system state
- Community trust - Reinforce the honor system rather than replace it
- Graceful degradation - If the system fails, tools remain fully operational
System Overview
Core Components
<┌─────────────────────────────────────────────────────────────────┐
│ TOOL MONITORING STATION │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ RFID Reader │ │ Current │ │ Status │ │
│ │ + Tag Tray │ │ Transformer │ │ Lights │ │
│ └──────┬───────┘ └──────┬───────┘ └──────▲───────┘ │
│ │ │ │ │
│ └───────────┬───────┴───────────────────┘ │
│ │ │
│ ┌───────▼───────┐ │
│ │ ESP32 / MCU │ │
│ │ Controller │ │
│ └───────┬───────┘ │
│ │ (PoE or WiFi) │
└──────────────────────┼──────────────────────────────────────────┘
│
▼
┌────────────────┐
│ Home Assistant │
│ Server │
└───────┬────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Logging │ │ Discord │ │ Dashboard│
│ Database │ │ Alerts │ │ View │
└──────────┘ └──────────┘ └──────────┘
Hardware per Monitored Tool
| Component | Purpose | Estimated Cost |
|---|---|---|
| ESP32 or similar MCU | Main controller | $5-15 |
| RFID Reader (RC522 or PN532) | Read member fobs/cards | $5-10 |
| Current Transformer (CT clamp) | Detect tool power draw | $10-15 |
| LED Strip or Signal Light | Visual status indicator | $10-20 |
| Tag tray/holder | Place for member to leave fob | $5 (3D printed) |
| Enclosure | Housing for electronics | $10-15 |
| Power (PoE splitter or USB) | Power the station | $10-15 |
| Total per station | ~$55-90 |
Software Stack
- Firmware: ESPHome (integrates natively with Home Assistant)
- Central Hub: Home Assistant (already in use at PS1)
- Logging: Home Assistant recorder or external database
- Notifications: Discord webhook integration
- Dashboard: Home Assistant Lovelace UI
Status Light States
The visual indicator uses a simple, learnable color language:
| State | Light Behavior | Meaning |
|---|---|---|
| Standby | Dim blue, steady | Awaiting RFID tag |
| Authorized Ready | Pulsing green | Authorized tag present, tool idle |
| Authorized Active | Solid green | Authorized tag present, tool running |
| Unauthorized Ready | Pulsing amber | Tag present but NOT authorized for this tool, tool idle |
| Warning | Blinking amber | Tool running without authorization (first 10 seconds) - logged locally |
| Alert | Blinking red | Tool running without authorization (after 10 seconds) - logged + Discord notification |
| Lockout | Solid red | Tool marked as down/out of service (manual flag) |
State Transition Diagram
<┌─────────────────┐
│ STANDBY │
│ (dim blue) │
└────────┬────────┘
│
┌──────────────┼──────────────┐
│ Auth tag │ │ Non-auth tag
│ detected │ │ detected
▼ │ ▼
┌─────────────────┐ │ ┌─────────────────┐
│ AUTHORIZED │ │ │ UNAUTHORIZED │
│ READY │ │ │ READY │
│ (pulsing green) │ │ │ (pulsing amber) │
└────────┬────────┘ │ └────────┬────────┘
│ │ │
│ Tool powers on│ │ Tool powers on
▼ │ ▼
┌─────────────────┐ │ ┌─────────────────┐
│ AUTHORIZED │ │ │ WARNING │
│ ACTIVE │ │ │ (blinking amber)│
│ (solid green) │ │ │ 0-10 seconds │
└─────────────────┘ │ └────────┬────────┘
│ │
│ │ 10 seconds elapsed
│ ▼
│ ┌─────────────────┐
No tag present, │ │ ALERT │
tool powers on │ │ (blinking red) │
│ │ Discord notify │
└───►└─────────────────┘
Data Logging
Phase 1: Anonymous Usage Logging
Initial logging captures tool usage patterns without identifying members:
<{
"timestamp": "2025-12-22T14:35:00Z",
"tool_id": "woodshop_planer",
"event": "unauthorized_use",
"duration_seconds": 45,
"tag_present": false,
"notes": null
}
This allows us to understand:
- How often unauthorized use occurs
- Which tools are most affected
- Time patterns (day of week, time of day)
- Whether usage is brief (forgot to tap) vs extended
Phase 2: Optional Member Identification
Only after community discussion and consent:
- Log member ID alongside usage
- Enable follow-up conversations
- Still no automatic enforcement
Implementation Phases
Phase 1: Proof of Concept (1-2 tools)
Timeline: 4-6 weeks
Cost: ~$150-200
- Install monitoring station on planer and one other high-priority tool
- Basic light states (standby, authorized, unauthorized)
- Local logging only
- Gather feedback from regular woodshop users
- Refine hardware mounting and tag tray design
- Integration with existing authorization database
Phase 2: Expanded Deployment
Timeline: 2-3 months after Phase 1
Cost: ~$300-500
- Add monitoring to remaining priority tools (drum sander, jointer, etc.)
- Discord notification integration
- Dashboard for viewing tool status
- Anonymous usage analytics
Phase 3: Enhanced Features
Timeline: Based on Phase 2 learnings
- Dust collector integration (status, filter change reminders)
- Tool lockout capability (for maintenance, not enforcement)
- Optional member identification (with community buy-in)
Integration Points
Existing PS1 Systems
| System | Integration Type | Notes |
|---|---|---|
| Member RFID database | Read-only lookup | Need API or database access for authorization check |
| Home Assistant | Central hub | Existing installation can be extended |
| Discord | Webhooks | Notifications to appropriate channel |
| Dust collection | Future | Could monitor run time, back pressure, bin weight |
Open Questions
- RFID Format: What format are current member tags? (Mifare? HID? Mix?)
- Authorization Data: Where is tool authorization currently stored? How do we query it?
- Network: Does the woodshop switch support PoE? If not, USB power is fallback.
- Mounting: What's the best physical location for each tool's station?
Risk Assessment
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| System failure during tool operation | Low | None | System is passive; tool operation unaffected |
| False positives (auth'd user shown as unauth'd) | Medium | Low | Clear escalation path; user can continue working |
| Member pushback on monitoring | Medium | Medium | Emphasize reminder vs enforcement; anonymous logging first |
| Scope creep toward enforcement | Medium | High | Document non-goals clearly; require community vote for changes |
| Hardware reliability in dusty environment | Medium | Low | Proper enclosures; easy replacement |
Success Metrics
After 3 months of operation, we should evaluate:
- Unauthorized usage frequency - Baseline vs after deployment
- Tool maintenance incidents - Are expensive repairs decreasing?
- Member feedback - Is the system helpful or annoying?
- Authorization requests - Are more members seeking training?
- System reliability - Uptime and false positive rate
Appendix A: Bill of Materials (Single Station)
| Item | Quantity | Source | Unit Cost | Total |
|---|---|---|---|---|
| ESP32-WROOM-32 DevKit | 1 | Amazon/AliExpress | $8 | $8 |
| RC522 RFID Reader | 1 | Amazon/AliExpress | $5 | $5 |
| SCT-013-030 CT Clamp (30A) | 1 | Amazon | $12 | $12 |
| WS2812B LED Strip (1m) | 1 | Amazon | $8 | $8 |
| 3D Printed Enclosure | 1 | PS1 | $5 | $5 |
| 3D Printed Tag Tray | 1 | PS1 | $3 | $3 |
| PoE Splitter (802.3af to 5V) | 1 | Amazon | $12 | $12 |
| Misc (wiring, connectors) | 1 | - | $7 | $7 |
| Total | $60 |
Appendix B: ESPHome Configuration Sketch
<esphome:
name: woodshop-planer-monitor
platform: ESP32
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
# RFID Reader
rc522_spi:
cs_pin: GPIO5
binary_sensor:
- platform: rc522
uid: !secret authorized_tags
name: "Planer Authorized Tag"
# Current sensing for tool power detection
sensor:
- platform: ct_clamp
sensor: adc_sensor
name: "Planer Current"
update_interval: 1s
filters:
- calibrate_linear:
- 0 -> 0
- 0.5 -> 10
- platform: adc
pin: GPIO34
id: adc_sensor
attenuation: 11db
# Status LED
light:
- platform: neopixelbus
type: GRB
variant: WS2812
pin: GPIO13
num_leds: 10
name: "Planer Status Light"
Note: This is a simplified example. Production config would include state machine logic, Home Assistant integration, and error handling.
Next Steps
- Review proposal with interested woodshop members
- Identify first 2 tools for Phase 1 pilot
- Confirm RFID tag format and authorization data access
- Order Phase 1 hardware
- Design and print enclosure prototypes
- Schedule installation window
This is a living document. Comments and suggestions welcome.