Metal & Wet Waste Separator Using Maker Uno


Waste separation is a good start in living a green life. Metal and wet waste is important to be separated
because sometimes the metal waste is dangerous if disposed unproperly and the garbage bag can get watery
because of excessive water from wet waste.

How to do it?

With Maker Uno, we will create a conceptual project to mimic a separator that can identify the waste inserted
into the bin with infrared sensor module. Then, we will separate metal by using inductive proximity sensor and
identify wet waste with moisture sensor module. The waste then will be discarded according to the waste
type into three different sections with servo motor.

Circuit Connection

waste segregator circuit connection
Pictorial Diagram

Infrared sensor will detect if any waste is inserted to the container, then inductive proximity sensor will identify either the waste is metallic or not. If the waste is metallic, then it will be discarded to METAL section. If the waste is non-metallic, moisture sensor module will identify either the waste is wet or not. If wet, the waste will be discarded to WET section. If neither, waste will be discarded to NORMAL section. All the discard process is shown in this conceptual project via servo.


1. Connect the servo with male-to-male jumpers.


photo 2022 05 30 16 34 28

2. Connect moisture sensor with its module with female-to-female jumpers and from the module to breadboard with female to male jumpers.

photo 2022 05 30 16 34 25

3. Connect the infrared sensor with female to male jumpers.

photo 2022 05 30 16 34 27

4. Connect all the equipment as shown in the pictorial diagram. 

photo 2022 05 30 16 34 22

5. Connect the setup with your computer and upload the code below via Arduino IDE.

photo 2022 05 30 16 34 07


//input pin declaration
int IRpin = 3;
int IPpin = 5;
int MSpin = A1;
int LED = 13;

//servo declaration
int SM1pin = 9;
Servo Servo1;

//metal sensor variable
int IPvalue;

//moisture sensor variable
int moistureValue;
int moistureLimit=30;
float moisturePercent;

void setup() {
 //input pin setup
 pinMode (13, OUTPUT);
 //servo setup

void loop() {
//sensing presence of waste
Serial.println("Waste detected!");
//metal identification
IPvalue = digitalRead(IPpin);
 if( IPvalue == 0 ){
 Serial.println( "The waste is metallic" );
 Serial.println( "Discarding waste to METAL section" );
 Serial.println( "The waste is nonmetallic");
 //moisture identification
 moistureValue = analogRead(MSpin);
 moisturePercent = (100-
 Serial.print("Moisture Percentage : ");
 if (moisturePercent>moistureLimit) {
 Serial.println("The waste is wet");
 Serial.println("Discarding waste to WET section");
 Serial.println("The waste is normal");
 Serial.println("Discarding waste to NORMAL section ");
 digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(1000);                       // wait for a second
 digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
 Serial.println("Waste discarded!");

Outcome Simulation

Play Video

Thank You!

Visit to grab these components and let’s work on this project!

Leave a Comment

Your email address will not be published.

Share this Tutorial

Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest
Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest

Latest Tutorial

Detect RGB Color With Raspberry Pi Pico
Build an IoT Project Using LoRaWAN Network with Cytron LoRa-RFM Shield and Helium Console
Measure Soil Moisture Sensor Using Raspberry Pi Pico And Maker Soil Moisture Sensor
Getting Started Raspberry Pi Compute Module 4 Lite And Mini Base (A) Board (CM4-IO-BASE-A)
Measure The Ambient Temperature With Raspberry Pi Pico And Grove Temperature Sensor Using Arduino IDE
Tutorials of Cytron Technologies Scroll to Top