Automated Warehouse Management System

Published May 31, 2024
 50 hours to build

This is a warehouse management system with an ASRS (Automated Storage and Retrieval System) in the form of an X-Y gantry along with two model AGV Robots to optimize pallet storage and retreival from a warehouse rack. All systems communicate with each other over the internet with a Firebase RTDB console which helps in realtime operations to optimize goods movement through the system.

display image

Components Used

Arduino Mega
Arduino Mega
Arduino Nano
Arduino Nano
ESP8266 WiFi Module
ESP8266 is a system on chip (SoC) which provides WIFI capability for embedded applications. This enables internet connectivity to embedded applications. ESP8266 modules are mostly used in Internet of Things(IoT) applications.
Stepper Motor NEMA 17
Stepper Motors .5A Single Shaft 0.9 Deg NEMA 17
TB6612FNG driver IC for DC motor
TB6612FNG is a driver IC for DC motor.
MH-ET LIVE Scanner v3.0
Barcode scanner
Line Sensing Array
5 channel Line Sensing Array
Arduino CNC Shield
Used to control stepper motors
DRV8825 stepper driver module
used to drive nema 17 stepper motors
LF-2 Carrier Board
Breakout board for controlling a two wheeled robot using arduino nano
L9110S Motor Driver
Dual DC Motor Driver

Project Overview- 

This project was built with an aim to make a model of an automated warehouse which collects pallets and stores them in a rack and then dispatches the pallets on request. The entire system is connected to an online console which helps to connect it with further systems such as SAP in this case to process requests coming from the client side.

The entire project consists of three independent systems- An X-Y Gantry (along with two conveyor belts) , an inbound robot and an outbound robot.



The Inbound robot functions as a forklift with a barcode scanner. It scans the barcode on pallets to notify the system of which pallet is available. It then picks up the pallet and deposits it on the inbound conveyor. This is done by following predefined routes on the warehouse floor.


 The inbound conveyor detects a pallet available using a proximity sensor and moves it to the end of the conveyor for further operations. 

The ASRS System  consists of an XY Gantry operated using stepper motors. It has an end effector in the form of a pick and place mechanism and a barcode scanner. Once the inbound conveyor has moved the pallet to the end, the ASRS system moves to the pallet and detects the barcode. It then scans the barcode and picks up the pallet. Further it moves to the particular cell in the rack and places the box. This sequence of actions from the robot picking up the pallet to the ASRS depositing the pallet is referred to as a “PUT” operation. 

This information is further recorded on the database using the nodemcu module. 

When a request is sent to retrieve a pallet already stored in the rack, the nodemcu receives this information from the Firebase Database and relays this information to the Arduino mega. It then instructs the ASRS system to retrieve that particular pallet from the rack and deposit it on the outbound conveyor. This operation is referred to as a “PICK” operation.

The outbound conveyor then further moves the pallet to the robot pickup point. 

The Outbound Robot is similar to the earlier mentioned inbound robot. The task of this robot is to transport the pallet from the conveyor to the Gate area. It uses guide lines on the warehouse floor for navigation. The line detection is carried out using a line sensing array. 


Here's the entire system in action-



ASRS Schematic_bb Download

Institute / Organization

SCM Champs Inc, Mobitronix Technologies LLP