Teardown: Misfit Shine Activity Tracker
Don't Open 'Til Doomsday
Getting into the Shine turns out not to be that hard. After popping open the case like you're changing the battery, anything sharp will pop the retaining ring off of the pcb and give you access to this:
There are really three parts to the Shine, everything else on the board is essentially just there to support these three. Let's examine each part and how it helps the Shine track your fitness:
Brains of the Operation
The EFM32 Leopard Gecko microcontroller from Silicon Labs is the controller that keeps this whole operation in one piece. The Leopard Gecko is a 32-bit microcontroller based on an ARM Cortex-M3 core. It comes packed with energy saving features that make it ideal for this kind of application.
Of particular note is the Leopard Gecko's low-energy sensor interface which plays a big role in the Shine's advertised 4-month battery life. The low-energy sensor interface allows the EFM32's peripherals to communicate independently of the core (gathering accelerometer data, for instance) and allowing the core to stay in energy saving mode.
The Leopard Gecko's 256k of program storage and 48MHz processing speed are also well suited to this application since the Shine not only has to store and process sensor data using complex algorithms, but also has to communicate that processed data using the (somewhat sizable) Bluetooth low energy software stack.
A Sense of Purpose
Of course just wearing a microprocessor on your sleeve won't tell you a lot about your fitness. To get a handle on what you're up to, the Shine relies on the LIS3DH Accelerometer from STMicro, another ultra low-power part. This tiny LGA-16 package saves real estate on the PCB but still serves up acceleration data at speeds up to 5kHz.
Communication is Key
Collecting and processing sensor data is a neat trick, but, if you can't ever get to that data, what good is it? Transmitting the data wirelessly is the perfect way to get it out of the device, but it takes a lot of power to send things over air. To solve this problem, Misfit is taking advantage of the brand-newish Bluetooth Low Enegry (BLE) protocol. The device behind that ability is the CC2541 Bluetooth SoC by Texas Instruments. With its programmable output power and low energy operation, the CC2541 does its part to keep the battery healthy too.
All Together Now
If I had to guess what's going on in there, which I do, I'd say that the Leopard Gecko is spending 98% of its time in power saving mode, only waking up on boot, when syncronizing, and after detecting a double or triple tap event. The accelerometer data probably gets processed either at synchronize time or when some buffer gets filled with raw data... maybe both? Either way, I'm almost sure that your phone never receives raw accelerometer data.
People who have reviewed the Shine online say that it doesn't usually live up to its 4 month battery life promise, but it still lasts impressively long on a standard coin cell battery. Using low energy parts and keeping everything in power-save mode as long as possible has a lot to do with that.