The current shopping experience is often a time consuming chore because of the long lines at checkout. Even the express lanes can take a tedious amount of time between scanning the products, paying, and bagging. We seek to innovate the shopping experience with the NFC enhanced shopping cart--ExpressCart.

What it does

It keeps track of what is in the cart and updates that on your phone. Each shopping cart is equipped with an NFC reader and all products in the store are labelled with small, passive NFC tags. As you shop, you scan the item before placing it in your shopping cart. Your current cart contents are displayed on an app on your phone so you can keep track of what you’ve bought. If you forget to scan before placing an item in your cart, the cart will beep to remind you. If you decide that you no longer want one of the items in your cart, simply scan it again when you take out the item. When you’re ready to pay, click the red “PAY NOW” button on your phone and a digital receipt will be sent to your email.

How we built it

ExpressCart has three main function modules.

1. NFC Scanner/Tags: Each tag has a unique UID to start with. We then wrote in a unique item name into each tag. When the tag is scanned by the NFC reader, the Arduino finds the price associated with the item name and displays the item name and price, as well as the total price to the LCD. This information is also sent to the app on your phone via Bluetooth (see next section). The Arduino will store an array of all the items that have already been scanned. If you want to remove an item from the cart, the item name that is scanned in will already be in the scanned items array, so instead of adding this item again, the Arduino will remove the item from the scanned items array as well as deduct this price from the total price. The app on your phone will also be updated accordingly.

2. Pressure Sensor: The bottom of the cart is equipped with two pressure sensors to prevent people from placing items into the cart without first scanning. If the pressure sensor senses an increase in weight without a corresponding increase in item number count, the buzzer will beep to remind the shopper to scan the item. The pressure sensor is powered by a separate Arduino and receives the current item count data from the Arduino with the NFC scanner. The pressure sensors keep track of an item count independent of the NFC item count. If the pressure sensor item count exceeds the NFC item count, this means the shopper placed an item into the cart without scanning first, so the buzzer will beep. If an item is removed from the shopping cart, the pressure sensor item count will decrement accordingly.

3. Bluetooth/Phone app: The Bluetooth on your phone connects to the Bluetooth module on the cart when you start shopping. As you shop, the current updated cart contents and total cost will be sent to your phone so you can keep track of what you’re buying. When you’re ready to pay, click the red “pay now” button. This will lead you to pay with PayPal or your bank account, as well as receive a digital receipt through email. In our prototype, we have achieved the function of sending a digital receipt to your email after you “pay” so you have a record of what you bought. The payment function is yet to implement.

Share this project: