🛒 Smart Shopping Cart
Inspiration
The idea for the Smart Shopping Cart came from the need to simplify and speed up the shopping experience. Long queues at billing counters, manual price checks, and theft issues inspired me to create a smart, automated cart that can scan items, track their weight, calculate the bill in real-time, and even send the total cost via SMS.
I was also inspired by the idea of bridging IoT with real-life shopping—bringing together RFID, weight verification, and wireless communication in one project.
What I Learned
- How to integrate RFID technology for item detection.
- Using a load cell with HX711 for real-time weight verification.
- Programming ESP32 to handle multiple tasks: RFID scanning, LCD display, Wi-Fi server for billing, and buzzer alerts.
- Sending SMS through the SIM800L GSM module.
- Handling serial communication between multiple sensors/modules.
- Designing an interactive billing webpage hosted on ESP32.
How I Built It
- RFID Integration – Used EM-18 RFID reader to detect products with unique RFID tags.
- Weight Verification – Calibrated a load cell with HX711 module to ensure items match their expected weight (e.g., rice 166g, sugar 500g).
- ESP32 Controller – Handled RFID input, LCD display output, and served as a Wi-Fi server to show the final bill on a webpage.
- LCD + Touch Sensor – Displayed the item name and price on an I2C LCD. A touch sensor replaced the physical button to finalize the bill.
- Buzzer & LEDs – Buzzer alert + LEDs (green for correct, red for mismatch) ensured items were verified correctly.
- SIM800L Module – Sent SMS of total cost once the customer finalized the bill.
- Web Integration – Created a simple HTML/CSS/JS webpage hosted on ESP32 to display purchased items and total cost.
Challenges I Faced
- Power Supply Issues: SIM800L required stable 4V–4.2V at 2A, which caused resets initially.
- Load Cell Calibration: Getting accurate calibration factor (92.68) took multiple trials.
- Multiple Item Tracking: Ensuring cumulative weights matched the expected sum was tricky.
- ESP32 Memory Management: Serving a web page while handling RFID, GSM, and load cell data simultaneously needed efficient coding.
- Hardware Debugging: Loose breadboard connections often caused random failures.
Built With
- Languages: C/C++ (Arduino IDE), HTML, CSS, JavaScript
- Frameworks/Platforms: Arduino IDE, ESP32 Wi-Fi Server
- Hardware: ESP32, EM-18 RFID Reader, RFID Tags, Load Cell + HX711, I2C LCD, SIM800L GSM Module, Touch Sensor, LEDs, Buzzer
- Cloud/Communication: GSM SMS, Local Wi-Fi Web Server
Log in or sign up for Devpost to join the conversation.