This was my Senior Design project at the University of Cincinnati. It was a collaboration between myself, Sean Setter, Mike Melchers, Eric Bair, and Premal Doshi. The purpose of the project was to create a wireless, Bluetooth-enabled credit card that would allow transactions to be performed wirelessly. The system involved two software components, and the card itself. The ultimate goal being a cellphone-based payment system, similar in theory to Google Wallet and Apple Pay, which followed nearly a decade later.
The software is broken into two parts, the credit card information server (CCIS), and the automated checkout counter (ACC). The software was designed by Sean and I and used portions of GPLd code from Robbie Duncan to get the Bluetooth functionality up and running. An EAN to ASIN (Amazon.com) converter sourced from Books OS X was also used. The ACC is capable of hitting Amazon AWS Webservices to pull item price and name information, as well as a photo of the item if available. The ACC does this by allowing the input of a product's UPC code, either by direct entry, or by the use of a modified CueCat barcode scanner. The CCIS was a modified version of a program I created for Network Systems Programming my Junior year. Both software programs were created exclusively for Apple's Mac OS X operating system.
blueCard: The software - While no guarantees are made about the functionality of the software, it should run fine on Mac OS X Tiger and earlier. It may be necessary to disable the check for Bluetooth devices on startup via the preferences .plist, which could cause the program to quit unexpectedly if none are present. The full XCode project is included. The code is released under the GPL license, as required by the few GPL codebases we utilized in the creation of the project. Note that Amazon has since deprecated the version of AWS API that was used for this project, so the Amazon integration will no longer function properly.
The hardware was handled by Mike, Eric, and Premal. It involved a TDK Bluetooth development kit for communications and a microcontroller for coordinating it all.
Design 0 - Basic high-level description of the project
Design 1 - Lower-level description of workings of the high-level components
Circuit Schematic - Schematic of the hardware implementation