Final Project

Sorting machine according to electromagnetic properties

Project full name is"Sorting machine according to electro magnetic properties"

1-Project description :

it's a machine used to sort materials according to electromagnetic properties using a conveyer belt and ejector arm, which recieves a signal from electromagnetic sensor under the belt using arduino uno rev 3 to control the process.

-I wanted to make this project as a practice of the diploma modules specially electronics ,arduino and digital fabrication (laser cutting and 3-d printing), Also because this machine is very basic in all king of industries according to the application.

The modules should had been represented as follows :

-Arduino to control (input-output) signals.

-Electronics set to make sensors and actuators.

-Laser cutting to make supporters to idler.

-3_d printing to make coupling to the GT-2 belt pulley.

Challenges was :

-Synchnorizing between sensor signal and ejector arm.

-slecting a proper belt.

-Fabricting a precise ejector arm.

Basic Features:

-Sorting products according to electromagnetic properites using inductive proximity sensor asan input signal , Arduino as a controller ,and a servo motor driven ejector arm as output.

Essential features:

-Synchnorizing between input andoutput signal and belt speed.

-Sensing electromagnetic properties of the material.

-Accurate mehcanism speed.

Nice to have features :

-Ejecting without pausing the belt.

-adding extra arm.

Supposed milestones an time frame:

-CAD _4 days

-Electronics_5 days.

-laser cutting 1 day

-3-D printing_1 day

-Assembly _2-Days.

Components : (Arduino uno rev 3 / Electromagnetic sensor- items / DC-motor with gear box - items/ plywood wheels - 8 items / pvc idler - 2 itmes / servo motor - 1 item /rely module - 1 item / 3-D printed coupling / clothe belt / bearing 8 mm - 4 items /GT-2 belt -1 item / GT-2 pulley - 1 item )

What really happened :

During discussions with instructor during mentorship sessions I always suggested a more complex concept for the machine , but when I realized the most basicrule in machine design which is "The more parts you have means that your machine is big or you're complexing it in vain " and that was the begining of simplification.

For the belt :

First it was Rubber belt then industrial clothe then old jeans -yes old jeans - then there wasn't enough tim for belt.

For the idler :

it was a perfect design but the proplem was in the internal supporter that will hold the bearing inside the idler ,I forget to trim a construcion line in fusion so the CAM software considerd it as a basic line and sadly the internal supporters were cut into half  .

For the CAD design :

Assembly was the problem it wasn't good enough , also I forget to trim some lines it caused a problem with my parts as I mentioned before.

For laser cutting :

I should have finished my work earlier because at the last days of work the whole planet were using the laser cutter

Sensor  was big and requires at least 10 v to operates properly and required a voltage devider , I didin't have more time for that so I used IR proximity sensor to work as input signal.

Motors:Servo motor didn't funcion properly.


use arduino tutorials 

here's another one 


-To control the belt you'll needDC-mot0r with gearbox 

-to control DC- mototr on/off motion you'll need relay module.

-to control ejector arm you'll need servo motor with torque powerful enough to move the arm positive and negative on breadboard then signal on arduino

-an electromagnetic sensor   sensor to give input signal.

-5 v power bank or mobile charger as power source then connect components on positive and ground to arduino.


You should pay attention to brackets and use sweep function for servo motor

before coding add servo library


-since we've multiple repeated items in the drawing we should use parametres :

frim modify menu >> change paramters and then add the dimensions you want , then the only thing to do is to  type the name of the parameters instead of typing the dimension it self reapeatdly.


from grabcad website


Laser cutting

make sure you cut the pipe at the same level use a rope to adjust the process

.1 mm can make a difference check the bearing it doesn't fit in the hole it's a very big mistake 

make sure that your dimensions fits the innes diameter of the pipe correctly 

don't forget to trim construction lines fro the drawing

3-D printing

I hadn't enough time to finih the piece




Measure shaft of DC-motor carefully , dimensions should be as follows :

Gearbox :

shaft :

lenght=8.21 mm

major D=5.12 mm

minor D=3.50 mm

pully :

bore=6.35 mm

lenght =outer D=15.8 mm

Integration between modules


helped to me to use components together with suitable power and to make sure to burn or spoil any component, and how to use datasheet of each component in design like sensor,servo motor, DC-motor and arduino to connect them together with two power sources one for the arduino and the seconed for the hole circuit.

Arduino :

helped me to learn how and where to connect pins to get the right output analogue or digital one to serve the target of the project and to control input and outputsignal and power.


helped me to understand what algorithm means to be able to get the right purpose of a code ,and what are teh basic function what is boolean expression and conditions.

it also helped me to code the right function for arduino code since c++ functions are used for arduino programming alongside with arduino booleans.


it's one of the most interesting modules since drawing the machine out of your imaginationis a good thing using multiple tools to draw edit and extrude to 3-D then adding joints between parts like idler and stand and belt.

Laser Cutting :

Since transforming cad files into dxf format to using CAM software (laser works)  to cut the idler internal supports that hold the bearing to the small rod it was really exciting .

3-D printing :

helped for tiny parts like the coupling between the DC-motor and the GT-2 pulley  ,and also I learned how to use to kinds of CAM softwares(makerbot & CURA ) for different machines (makerbot and ulti maker )