⬅ Return to Home

Eco-Genie: Intelligent Automated Recycling System

Senior Design (ME 4370) · Texas Tech University · Team: James R. Pacinda, Steven L., Sebastian C., Yannick K.
Overview

Project Summary

Eco-Genie is an in-home automated recycling sorter that identifies and routes plastics, glass, and aluminum. The system combines ultrasonic, inductive, and capacitive sensors with a linear-actuated tipping vessel to classify items and drop them into dedicated bins, reducing contamination and the burden of manual sorting.

My Role

  • Mechanical layout, CAD drawings, and iteration of the hopper, elevator, and tipper assemblies.
  • Sensor selection/integration and microcontroller setup; wiring and bench testing.
  • Assembly, troubleshooting, documentation, and demo preparation.

Outcome

  • Working prototype demonstrating multi-material detection and actuation.
  • Proposal + presentation package, system code scaffold, and manufacturing drawings.
  • Targeting ≥95% sorting accuracy per design criteria.

Advised by course faculty • Fall 2024

Problem

Why this matters

Household recycling often fails due to contamination and inconvenience. Eco-Genie aims to reduce sorting effort and increase accuracy so more material actually gets recycled.

  • Single-stream programs suffer from high contamination.
  • Manual sorting is time-consuming and error-prone.
Design Criteria

Targets

  • Accuracy ≥ 95%
  • Throughput ≥ 2 items/min
  • Power < 50 W, Noise < 60 dB
  • Safe, compact footprint; UL-minded design
Concept Selection

Evaluated Architectures

Decision matrix favored Design C across accuracy, speed, safety, and cost.

System

Architecture & Components

Loader
Hopper → bucket elevator (continuous belt with evenly spaced buckets) for consistent feed rate into sensing chamber, designed for easy maintenance and minimal spillage.
Sensing
Ultrasonic sensor for range detection, inductive sensor for ferrous and non-ferrous metals, capacitive sensor for differentiating between glass and plastics
Sorter
Linear actuator carriage with tipping vessel, precisely positioned by stepper motor control, vessel tips to deposit material into designated bins based on sensor data
Controller
Microcontroller (Arduino Mega 2560) handling sensor fusion and decision logic, dedicated motor drivers for linear rail, and tipping mechanism, integrated control panel with status display and emergency stop.
Power & Safety
12V DC power supply with regulated outputs for sensors and control logic, fused circuits for each subsystem, emergency stop switch and protective PLEXIGLAS shields moving parts.
Enclosure & Frame
Aluminum extrusion frame for modularity and ease of assembly, clear polycarbonate panels for operator visibility while maintaining safety, compact footprint for indoor or lab use.
From Sketch → CAD

Concept to Prototype

The original concept sketch (from my build journal) guided the first CAD layout before parts were fabricated. Iterations focused on reliable flow through the hopper, robust elevator brackets/rollers, and a stiff tipper frame.

Original Eco-Genie concept sketch (journal)
Original journal concept sketch that seeded the CAD design.

Selected Proposal Figures & Renders

Prototype Development
Prototype development
Eco-Genie V2 Assembly
Prototype Eco-Genie Assembly V2
Final mechanical assembly
Final mechanical assembly
Eco-Genie prototype V5.1
Prototype V5.1
Eco-Genie prototype V5.1, alternate view
Prototype V5.1 (alt view)
Control

Microcontroller Code (Excerpt)

Arduino scaffold for sensors and LCD (full code linked below):

// Initialization and Sensor Setup
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int trigPin = 26;
const int echoPin = 28;
const int capacitivePin = 24;
const int inductivePin = 22;
// Ultrasonic Distance Measurement
long getUltrasonicDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration * 0.034 / 2;
}
// Material Detection Logic (simple heuristic)
String determineMaterial(int capacitiveCount, int inductiveCount) {
  if (capacitiveCount > 25 && inductiveCount > 25) return "Aluminum";
  else if (capacitiveCount > 25) return "Glass";
  else return "Plastic";
}
Docs

Artifacts, Planning & References

⬅ Back to Home