Project Overview
This project creates an automatic dust collection system for your workshop. When you approach a power tool (table saw, miter saw, router table), a PIR sensor detects your presence and turns on the dust collector. After you leave, the system runs for a short delay to clear remaining dust, then shuts off automatically.
Difficulty: Intermediate
Estimated time: 2-3 hours
Estimated cost: $25-35
How It Works
A PIR sensor mounted near each power tool detects when you approach. When motion is detected, the ESP32 activates a relay that turns on the dust collector. A timer keeps the collector running for 30-60 seconds after the last motion to clear residual dust. Multiple sensors can control a single dust collector from multiple tools.
Materials Needed
- ESP32 or Arduino (1)
- HC-SR501 PIR sensors (1-4)
- Relay module (5V, rated for dust collector motor current)
- Power supply (5V 2A)
- Jumper wires
- Project enclosure
- Wire and conduit for sensor wiring
Circuit Diagram
Connection Table
| Component |
Pin |
ESP32 Pin |
PIR Sensor 1 (Table Saw) |
OUT
GPIO 4
PIR Sensor 2 (Miter Saw) |
OUT
GPIO 5
PIR Sensor 3 (Router) |
OUT
GPIO 6
Relay Module |
IN
GPIO 7
Status LED |
Anode
GPIO 2
表
Arduino Code
// Automatic Dust Collection System
const int numSensors = 3;
const int sensorPins[] = {4, 5, 6};
const int relayPin = 7;
const int ledPin = 2;
unsigned long lastMotionTime = 0;
const unsigned long runAfterDelay = 60000;
bool dustCollectorOn = false;
void setup() {
Serial.begin(115200);
for (int i = 0; i < numSensors; i++) pinMode(sensorPins[i], INPUT);
pinMode(relayPin, OUTPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW);
delay(60000);
}
void turnOnDustCollector() {
if (!dustCollectorOn) {
digitalWrite(relayPin, HIGH);
digitalWrite(ledPin, HIGH);
dustCollectorOn = true;
}
}
void turnOffDustCollector() {
if (dustCollectorOn) {
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW);
dustCollectorOn = false;
}
}
void loop() {
bool anyMotion = false;
for (int i = 0; i < numSensors; i++) {
if (digitalRead(sensorPins[i]) == HIGH) anyMotion = true;
}
if (anyMotion) {
lastMotionTime = millis();
turnOnDustCollector();
}
if (dustCollectorOn && (millis() - lastMotionTime > runAfterDelay)) {
turnOffDustCollector();
}
delay(100);
}
Installation Steps
- Assemble main control box near dust collector
- Run 3-conductor wire from each sensor to control box
- Mount sensors near each power tool at chest height
- Wire dust collector motor through relay
- Connect 5V power supply
- Approach each tool to test collector activation
Project Extensions
- Use ESP-NOW for wireless sensors
- Add current sensor to detect when tool is actually running
- Add servo-controlled blast gates for suction routing
- Add particulate sensor to automatically run collector
- Add Wi-Fi to monitor dust collector runtime
Conclusion
This automatic dust collection system makes woodworking cleaner and more convenient, saving energy and reducing noise.