Closed-loop industrial waste classification station utilizing precision NEMA 17 stepper carousel indexing, inductive metal detection, infrared drop verification, and high-speed servo diversion flaps.
Closed-loop industrial waste classification station utilizing precision NEMA 17 stepper carousel indexing, inductive metal detection, infrared drop verification, and high-speed servo diversion flaps. This repository contains production-ready firmware implementations, hardware wiring pinouts, signal conditioning routines, and real-time telemetry pipelines engineered for reliable physical operation.
- Primary Domain: Industrial Automation
- Microcontroller & Hardware Core: Arduino / Stepper
- Specialization: Industrial Automation
- Live Specs & BOM Viewer: alwintr.github.io
[ Feed Hopper ] ===> [ TCRT5000 IR Drop Beam ]
| (Drop Trigger Interrupt)
v
+--------------------------------------------------------------+
| Arduino Uno ATmega328P |
+--------------------------------------------------------------+
| |
| Step/Dir Pulses (1/16) | Dynamic Angle PWM
v v
+-----------------------+ +-----------------------+
| A4988 Stepper Driver | | SG90 Micro Servo Gate |
+-----------+-----------+ +-----------+-----------+
| |
v v
[ NEMA 17 Carousel (90 deg) ] [ Metal / Non-Metal Bins ]
^
|
[ Inductive Proximity Sensor ]
| Component Name | Operating Voltage | Interface / Functionality |
|---|---|---|
| Arduino Uno R3 | 5V DC |
Master state machine controller |
| NEMA 17 Stepper (42BYGHW) | 12V / 1.5A |
200 steps/rev, 1.8 deg step angle |
| A4988 Driver Carrier | 8-35V VMOT |
1/16 microstepping interpolation |
| LJ12A3-4-Z/BX Inductive Sensor | 6-12V (Opto-isolated) |
4mm detection range |
| TowerPro SG90 Servo | 5V DC |
180 deg diverter gate |
| MCU Pin / Channel | Peripheral Pin | Signal Function / Bus |
|---|---|---|
Arduino Pin 3 |
A4988 STEP Pin |
Timer PWM Pulse Train |
Arduino Pin 4 |
A4988 DIR Pin |
Carousel Rotation Direction |
Arduino Pin 2 |
TCRT5000 IR Out |
Drop Beam Interrupt INT0 |
Arduino Pin 7 |
Inductive Sensor Signal |
Metal Verification Input |
Arduino Pin 9 |
SG90 Servo PWM |
Hardware Timer PWM Output |
Deterministic state machine coordinating feed detection, 90-degree rotary indexing with trapezoidal acceleration, sensor settling delays, and servo deflection timing.
- Zero-Blocking Architecture: Real-time non-blocking scheduling eliminating delay() deadlocks.
- Hardware Interrupt Servicing: Microsecond-precision edge-triggered pulse detection and safety shutoffs.
- Diagnostic Telemetry: Continuous serial datastreaming and state-machine transition logging.
Automated-Multi-Material-Waste-Classification-System/
├── .gitignore
├── IMPLEMENTATION_GUIDE.md
├── LICENSE
├── waste_segregation.ino
└── README.md
- Verify common system ground across all microcontrollers, drivers, and peripheral sensor boards.
- Ensure dedicated power supply rails match the operating voltage specified in the Hardware Bill of Materials.
# Clone the repository
git clone https://github.com/ALWINTR/Automated-Multi-Material-Waste-Classification-System.git
# Navigate to the project directory
cd Automated-Multi-Material-Waste-Classification-System- Open the project in Arduino IDE, PlatformIO, or ESP-IDF.
- Select the target board configuration and COM port.
- Compile and upload firmware directly to the microcontroller.
Alwin T R — Robotics & Automation Engineer
- 💼 LinkedIn: linkedin.com/in/alwintr
- 🌐 Interactive Portfolio: alwintr.github.io
- 🐙 GitHub: github.com/ALWINTR
- ✉️ Direct Email: alwintr2003@gmail.com
This project is licensed under the MIT License — see the LICENSE file for details.