Cyber Jewelry
Team A2: Madi Davis, Saniya Singh, Shize Che
18-500 Capstone Design, Spring 2023
Electrical and Computer Engineering Department
Carnegie Mellon University
System Architecture
Product Pitch
In the last decade, wearable technology has become increasingly ubiquitous in our society. However, most of the widely available wearable tech are designed to provide utility and have limited customization options. Due to these limitations, there’s a market for wearable tech that exists purely for the sake of style and self-expression. These bold electronic accessories used to be reserved for the realms of festival wear and costuming, but recently they have been entering the mainstream fashion consciousness.
With our capstone project, we aimed to design a set of digital earrings that are wirelessly customizable via Bluetooth and an iOS mobile application. This device would have a variety of use cases from daily jewelry to clubwear for people who want an elevated accessory that provides near infinite customization options.
Our technical design is split up into two primary systems between the hardware (circuit and firmware code) and the software (iOS app).
System Description
System Evaluation
Conclusions & Additional Information
The application provides an interface for the user to create, edit and update designs for the earring.
The application utilizes CoreBluetooth to detect the Feather M0 and read advertisement data, services & characteristics. CoreBluetooth & UART is used to send color and mode data serially to the Feather M0 to provide context for state changes.
Our evaluation is largely centered on user experience, so we focused our testing on the following metrics: device weight, battery life, update speed, robustness.
The implementation of this system went through many different iterations: we initially intended to use an STM32 as our processor, but faced a series of integration issues. The LED device we selected had a completely different Arduino-based framework and the STM32 firmware traditionally utilizes BLE protocols that are incompatible with iOS Core Bluetooth. In the process of iterating our design, we wrote STM32 firmware with a development board and designed a custom PCB to support our device. We found our collective experience with iOS and Bluetooth too limited to implement this version of our device within 4 months.
Device weight and battery life are directly linked in our design, so we analyzed our battery options as shown. With 3D-printed casing, our total estimated system weight came to around 10-13 g. We chose to test batteries with a weight of 10 g or under for our design.
Battery Life
Requirement: 2 hours min.
Test: Measure current draw with multimeter with LEDs on, divide by Ah rating for each battery
Conclusion: We selected 350mAh battery
Update Speed
Requirement: 100 ms min.
Test: Vary digital signal, before & after the pattern update and measure interval using logic analyzer
Robustness
Requirements: firmware capable of dealing with edge cases, solid hardware
Tests: Trying out non-ideal operating scenarios to see if firmware can return to original state, device drop testing
Our software component is of a mobile application using Swift/SwiftUI for iOS16.
The hardware is composed of three components: the microcontroller with Bluetooth module, the LED matrix, and the battery. We used Adafruit feather m0 board as the microcontroller and Bluetooth module. The Bluetooth module
The firmware uses Adafruit’s BLE and DotStarMatrix libraries to achieve Bluetooth communication and easy control over the LED matrix. We have two versions of firmware that allow user to use either our own app or the Adafruit’s BLE app (downloadable from App Store) to interface with the LED matrix wirelessly.
captures color definition for the matrix sent via BLE and forward it to the microcontroller. The microcontroller then uses SPI to drive the LED matrix. The battery is 350mAh and weighs 8g, which can keep the system running for 3 hours.
iOS App
SwiftUI
Models
ViewModels
Views
Data
SQLite database
Entities
CoreBluetooth
UART Module
Manager
Peripheral
User App
Adafruit DotStar Matrix
Serial Data In
Adafruit Feather M0
BlueFruit
Advertisement Data
GATT Services
& Characteristics