Automation of a labelling conveyor system with PLC Arduino

Industrial Labelling solution with controller Arduino

PLC Arduino Automation for Industrial Labelling

In this Arduino project an industrial controller has been used to automate the labeling of bottles on a conveyor belt. Two stepper motors are used, the first one controls the large label roll and the second one moves the conveyor belt.

In order to ensure that each bottle has been labeled, an encoder and a photocell are required. The encoder manages the speed of the conveyor belt and the photocell detects the position of each bottle.


Bottles on a conveyor belt run through a labelling mechanism that applies a label to the bottles. The spacing between the bottles on the conveyor is not regulated and the conveyor can slow down, speed up or stop at any time.


Our costumer's requirements and data acquisition are the following:

  • Accurately applying labels to bottles in motion

  • Allowing variable conveyor speed

  • Allowing for changeable distance between bottles

  • Pulling label web through the dispenser

  • Smooth, consistent labelling at all speeds

The industrial PLC accepts input from an encoder mounted on the conveyor and refers all the speeds and distances of the label roll with the help of a photocell that detects the position of the bottle at the time of labeling.

Conclusion - PLC Arduino Automation for Industrial Labelling

PLC Arduino for industrial labelling

Conclusion (hardware)

A servo system is required to provide torque and speed to overcome the friction of the dispensing head and the inertia of the large label roll. A second servo motor is used to rotate the conveyor.

As previously mentioned, a photosensor connected to the industrial Arduino based PLC controls the position of the bottles on the conveyor belt. 

The controller arduino commands the labelling motor to accelerate the line speed when the first edge of the label comes into contact with the bottle. The motor moves at the speed of the line until the full label is applied, and then slows to a stop and waits for the next bottle.

To obtain the data of the encoder, it has been connected to two inputs with interruption of the PLC Arduino based on open source. In that way, the programmable logic controller will not be making requests constantly to obtain the data of the encoder, it has been connected to two inputs with interruption of the PLC Arduino. For each servo, purely digital PLC outputs are needed (making the connections with its respective driver).

Download the Automation Labelling Case Study

Share it with your teammates

Check the Arduino and Raspberry Pi Products Range

Industrial Solutions for automation, monitoring and control

PLC Arduino Automation for Industrial Labelling

Up to 20 Inputs & Outputs

PLC Arduino Automation for Industrial Labelling

Up to 58 Inputs & Outputs

Panel PC Industrial Labelling

The power of Raspberry Pi

Do you want to receive more information about Industrial Automation solutions?

Open Source technology allows you to develop your Monitor applications.

Just fill the form and we will send you several examples about how to use Open Source based devices on your projects.