1 of 1

SmartCart

Team F0: Lois Yun, Aanya Rustogi, Lekha Punya

18-500 Capstone Design, Spring 2025

Electrical and Computer Engineering Department

Carnegie Mellon University

System Architecture

Product Pitch

SmartCart is a portable AI-powered grocery assistant that streamlines shopping by providing real-time barcode scanning, allergy filtering, meal recommendations, and budget tracking.

Key achievements include:

  • Portable with device size of 5.2” x 3.1” x 2”
  • Cart updates in ≤ 1 second
  • 3 hours battery life
  • 100% allergen filtering accuracy
  • Ingredient-product matching within 17-20 seconds
  • Alternative suggestions available when needed

SmartCart enhances public health, reduces food waste, and improves shopping efficiency.

The hardware subsystem features a Raspberry Pi 4 as the central processor, connected to an Eyoyo barcode scanner and power bank. All components are held together in a 3D-printed case. The mechanical design ensures durability, easy scanner access, and secure attachment to a shopping cart through a magnetically-reinforced clip.

http://course.ece.cmu.edu/~ece500/projects/s25-teamf0

System Description

System Evaluation

Conclusions & Additional Information

The system was tested both at module and system levels, focusing on communication robustness and functionality under real-world conditions.

  • Module Testing: Unit tests for backend modules; Individual components were isolated and tested, including MQTT communication reliability, messaging between the Raspberry Pi and backend, and seamless barcode scanning integration.
  • Field Testing: Scanned 50 items at Aldi and other grocery stores; tested under both Wi-Fi and mobile hotspot conditions to validate connectivity resilience and scanning performance in realistic environments.
  • Profile Testing: 15+ diverse user profiles were created and tested, spanning a range of dietary preferences and allergen restrictions, to verify the consistency of allergen filtering and the relevance of meal personalization.
  • Performance: Met targets for portability, scanning, allergen filtering, and substitutions. Maintained >3 hours battery life
  • Trade-offs: Slightly slower meal generation and ingredient mapping to ensure personalization and reliability.�

Throughout Smartcart development, we set out to create a portable, real-time shopping assistant tailored to users’ dietary needs. Through extensive unit and field testing, we learned the importance of modular design and optimizing for realistic operating conditions. If continued, future work would focus on significantly reducing meal generation and ingredient mapping times by adding caching, pre-fetching data, or fine-tuning API interactions. We also envision expanding SmartCart into a fully integrated retail platform with live inventory updates, instant allergen alerts, and optional grocery delivery services.

Metric

Target

Actual

Portability

≥ 5.5” x 4” x 3”

5.2” x 3.1” x 2”

Scanning Accuracy

95%

100%

Real-time Updates

≈ 10-15s for meal recommendation & ingredient-prodcut mapping

≤ 1s update time

Meal Search, Ingredients generation, Product Recommendation, Allergy Filtering: 1 sec

Meal rec: 17-20 sec

Ingredient to product mapping: 20.39 sec

Alternative Suggestions

≥ 1 substitute per item

At least one item shows up 100%

Battery Life

≥ 2 hours

≥ 3 hours

Filtering Accuracy

≥95%

100%

Fig 5. System Performance Compared to Target Metrics

Fig 1. System Diagram

Fig 3. Device Mounted on Shopping Cart

Fig 4. Mobile App UI

Shopper scans item

App updates in real-time

Barcode Scanner

Clip

3D Printed Case

Power Bank

Fig 2. Final CAD Model of 3D Case

SmartCart consists of a portable processing unit, barcode scanner, local backend, and power bank in a custom case. The processing unit receives product codes, processes data, and communicates with the user-facing application over a messaging protocol. The backend handles product lookup, allergen filtering, and meal recommendations. Results are transmitted in real-time to the application, enabling updates on product information, allergens, and substitutions.

SmartCart enhances grocery shopping through two integrated subsystems: hardware and software.

The software subsystem runs on the Raspberry Pi, which communicates with the React Native mobile app via MQTT protocol. Scanned UPC codes are processed by the Raspberry Pi, which queries the Spoonacular API for product details. The mobile app allows users to manage shopping lists, filter by dietary needs, and plan meals using AI-powered suggestions. LangChain coordinates with multiple APIs to retrieve product details, recipes, and dietary information efficiently.