About: Projects, Articles & tech reviews for Home & Industry


The idea of this project is to build a miniature replica of an
industrial process, in this particular case a conveyor belt, to be used in educational environments for industrial automation training using PLC, Arduino, Raspberry Pi or any other software programmable platform.

Generally speaking, there are 2 well defined groups of this kind of devices: Ready to use
(usually very robust , "good looking") and the "DIY" ones made of household stuff. Ready to use ones are pricey and out of the budget for some schools and institutions, also spare parts only can be obtained from the official manufacturer.

On the other side, the great majority of home made conveyor belts are built with wood and plastics (very often using low cost or recycled material). Those kind of designs are valid as a proof of concept or final course project, but are no strong enough to withstand the daily use in a classroom

The design shown here tries to get the better of the two worlds:

  • Industrial appeal

  • Can be assembled and disassembled several times without damage

  • Can be assembled and disassembled several times without damage

  • Can be stored in small places, easing transportation when not in use.

  • Spare (generic brand) parts can be obtained relatively easily and cheap.

Some of the components needed for building & testing:

For more info, please visit:

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.




To build the basic structure is, suggested to follow the procedure shown in "Build frame for mini pilot plant"
published in an earlier article. In this project the additional 16 (12 for bearings, 2 for motor bracket and 2 for the control box) T slot nuts must be placed inside the slots before building the frame.

The following parts list, is presented as a reference, because is up to you to decide the final geometric dimensions (directly related to the lengths of the chosen profiles) also the amount of axles wanted along the conveyor.



The design was conceived to have the least amount of complex
mechanical elements as possible, however, two special non trivial steps are required: cut and joint the timing belt that transfers rotation from the motor to the axle, and make the conveyor belt

Custom length time belt

If there is not a time belt of the desired length in sight, a custom one can be built using a larger one, cutting it and splicing it again to the desired length. The simplest way to accomplish it without specialized products is to sand or remove some teeth for one of the ends of the band, glue overlapped with a rubber glue (don't use super glue or the joint will be too rigid), allow the glue to dry at least 1 hour, then sew it using thread and needle to reinforce the joint. If it's possible, use a timing belt clamp to align properly both ends before gluing

To adjust the tension, move the motor/bracket set along the profile and then secure the screws

Custom made conveyor belt

To avoid the use of additional tensioners, a highly elastic material must be used for the conveyor belt, an old rubber tire tube could be used. If possible from a car, ( The bigger , the better) this provides a more regular and flat surface than smaller ones (i.e. from bikes) . Another alternative, more "good looking" but less robust, could be a rubber resistance band used in yoga and fitness.

The length of the conveyor belt must be estimated to be a little bit shorter than the distance between the farthest axles, so it will auto-tension. Cut the ends of the band in an approximate angle of 45 degrees, so it will have less resistance and smoother travel when the joint approaches to an axle. To join the ends of the band, use a rubber glue (again, don't use super glue or the joint will be too rigid).



The speed controller is able to power a stepper motor up to 2 Amps using an A4988 module. An Arduino Nano was used for automating some task, here are:

  • 3-digit 7-Segment multiplexed display showing the band's speed in RMP and other messages.

  • Emergency stop, once pushed, the only way to release that state is
    mechanically unlatching the switch and turning control speed to 0.

  • Speed control from 0 to 300 RPM approx

  • Direction of rotation selector

The circuit was built on a universal PCB and inside a plastic box that can be attached to one of the sides of the conveyor using screws and T slot nuts previously introduced into the slots.

To power the system, a voltage between 14 and 26 V must be applied, and is protected again polarity inversion. A socket for an RS-485 chip was added and wired to RX and TX pins for a future expansion for remote control.



  • Plastic bottle caps were used as test subjects on to the band. If
    you need to move heavier or taller objects, more axles must be added to bring more stability.

  • To improve traction, add some "sticky" material to the axle that is moved by the motor. Heat shrink tube is a good candidate

  • On very low RPMs considerable vibrations were observed. This
    phenomena happens to stepper motors when the pulse train frequency is near their natural resonance frequency. Some sort of shock absorbing material must be used between motor and bracket.

  • The maximum current of the used motor is 1.2 Amps, so the current
    limit in the A4988 module was set u to 1 A, because this is the maximum recommended value without using an additional cooling system.

  • For a more effective emergency stop, the normally close (N.C)
    terminal of the switch could be wired in series with the power source of the motors, so if the Arduino fails to stop the motor for some reason, the motion will stop due to lack of electricity.

  • To send pulses to the A4988 module the Arduino tone() function was used, so the lowest frequency possible is around 30 Hz.

For more info, please visit:

Build a Tool Contest 2017

Participated in the
Build a Tool Contest 2017

Be the First to Share


    • Assistive Tech Contest

      Assistive Tech Contest
    • Reuse Contest

      Reuse Contest
    • Made with Math Contest

      Made with Math Contest

    3 Discussions


    2 years ago

    hola te hago una pregunta si serias amable de responder en cualquier momento que lo leas tuve un problema cuando quise compilar tu codigo de arduino pero me salio error. soy nuevo en esto y por eso nose donde esta el errorContagem deArduino: 1.8.2 (Windows 7), Tarjeta: "Arduino / Genuino Uno"

    Opciones de compilación cambiadas, reconstruyendo todo

    D: \ documentos \ Arduino \ CONVEYORBELT \ CONVEYORBELT.ino: 27: 23: error fatal: SevenSeg.h: No existe tal archivo o directorio

    #include <SevenSeg.h>


    compilación terminada.

    estado de salida 1

    Error de compilación para la tarjeta Arduino / Genuino Uno.

    Este informe puede tener más información

    "Mostrar la salida durante la compilación"

    opción habilitada en Archivo -> Preferencias.

    s serian amables me podrian ayudar.....

    1 reply

    Reply 2 years ago

    ya me di cuenta que no habia ingresado la libreria ya lo solucione...ahora ire a probar si todo esta bien


    2 years ago

    I guess there is more to come eh? Where is the arduino bit?