Back to projects

0views

Smart Retail Shelf

IoT Smart Shelf for Real-Time Inventory and Electronic Pricing

Smart Retail Shelf screenshot 1 of 1
ESP32-C3

Smart Retail Shelf is an IoT retail prototype that combines weight-based stock monitoring with a low-power electronic shelf label. An ESP32 processes load-cell data through an HX711 converter and publishes real-time stock updates over Wi-Fi using MQTT. A 2.9-inch e-Paper display shows remotely updated product and pricing information through a React dashboard, reducing manual stock checks and paper price tags.

  • ESP32-C3
  • ESP32-WROOM-32
  • C++
  • Arduino IDE
  • e-Paper
  • React 19
  • HiveMQ
  • MQTT
  • Wi-Fi
  • HX711
  • Load Cell

Project context

From problem to purpose

01 / PROBLEM STATEMENT

What needs to improve

Traditional retail inventory management relies on periodic manual stock counts and static paper price tags. This process is labour-intensive, vulnerable to human error, and does not provide continuous visibility of stock available on individual shelves. Although weight sensing and electronic shelf labels can improve retail operations, they are often implemented separately. Retail teams still need an integrated shelf-level solution that can monitor physical stock while displaying current product and pricing information with low power consumption. Smart Retail Shelf addresses this gap by combining real-time weight-based inventory monitoring with a remotely updated e-Paper label.

02 / OBJECTIVES

What the project must achieve

  1. 01Investigate technologies used for real-time inventory monitoring and electronic shelf labeling.
  2. 02Develop a Smart Retail Shelf that integrates weight sensing with a low-power electronic shelf label.
  3. 03Enable real-time stock monitoring and remote price updates through an MQTT-connected dashboard.
  4. 04Evaluate prototype functionality, stock-measurement accuracy, real-time performance, and power consumption.

Engineering evidence

How the system works

System Architecture

The system consists of a shelf node, an MQTT broker, and a React dashboard. The ESP32 shelf node collects weight data, calculates stock quantity, updates the e-Paper display, and publishes relevant updates through MQTT. The dashboard subscribes to shelf data and provides a central interface for monitoring stock and updating product information.

Hardware

The prototype uses an ESP32-C3 as the intended shelf controller, with an ESP32-WROOM-32 used during preliminary testing. A 20 kg micro load cell and HX711 ADC measure product weight. A 2.9-inch SPI e-Paper display acts as the Electronic Shelf Label because it retains information while consuming very little power.

Firmware

The edge firmware is written in C++ using the Arduino IDE. It reads the load cell through the HX711, estimates stock quantity based on the known weight of one product, updates the e-Paper display, and publishes stock data through MQTT. Deep-sleep modes are used to support battery-powered operation.

MQTT Data Flow

The shelf node sends lightweight stock updates through Wi-Fi using the MQTT publish-subscribe protocol. HiveMQ is used as the broker during the prototype phase. The React dashboard subscribes to relevant topics to display shelf status and publish product or pricing updates.

Dashboard

A React 19, TypeScript, and Tailwind CSS dashboard provides a central interface for monitoring stock and managing product information. Local storage is used during the prototype phase instead of a full cloud database.

Prototype Scope

The prototype assumes one product type per load cell and a consistent product weight. Weight measurement is limited to a maximum of 20 kg. The scope focuses on shelf-level stock monitoring, remote electronic labeling, MQTT communication, and low-power operation.

Testing and Results

Evaluate the completed prototype based on functionality, stock measurement accuracy, real-time update performance, and power consumption. Add verified readings, test conditions, and screenshots here after testing is complete.

Keep exploring

View all projects