Be Better Bracelet

A simple, subtle wearable that can reinforce positive habits and track progress on stopping bad habits

Similar projects worth following
There are some habits that are easy to track - going to the gym, or meditating, or eating healthy.

Other habits are harder to track, because you do them throughout the day - like drinking water, or stopping foul language, or not using your phone at dinner.

A few months ago, I tried to stop a really bad habit, (cursing) and I found that there was no easy way for me to track log how well (or poorly) I did over time. My phone apps were too cumbersome. My Alexa only worked when I was at home. My notepad was a nonstarter.

I wanted something straightforward and unobtrusive. So, I decide to build a small wearable that could go in a bracelet, or a keychain, or in my pocket. The device would be simple. One click will record an event. Data would sync to an app to give me status on trends, progress, and rewards.

I'd love any feedback on my ideas, decisions, and use cases (what else should this device do)?

Process Flow

At a high level, the bracelet should work as follows:

Key Design Considerations


I want this unit to be small enough to easily fit into a bracelet. Easier said than done....


This is probably diametrically opposed to size and cost. I can drastically reduce size by making a double-sized board, or going with smaller dimensions for components ... but that increased the complexity to manufacture.

Retail Cost:

This isn't meant to be an Apple Watch or Fitbit; it should be low cost - enough so that anyone can buy it and you can lose it without feeling too bad. $20 without charger, $40 with charging unit

Wearable Block Diagram

I went back and forth between using an ATTINY85 or a Cortex M0 for the MCU - as that would drive additional component decisions. I ultimately went with the ATTINY for a few reasons

  • Comfort level - I've done some coding with ATSAMD chips, bur not nearly as much as with the AVR chips
  • Programming ability - I've never programed a custom Cortex M0 board... it looks simple enough, but I decided to go with something I'm more comfortable with
  • Complexity and Component Trade-Offs
    • Cortex M0 are about $0.70 more expensive than the ATTINY85V and I thought the Cortex was overkill for what I needed to do
    • The Cortex DOES have an internal RTC... but because I plan to connect everything via I2C, it made more sense to separate the RTC from the MCU
    • Voltages - I would need a voltage regulator with the Cortex M0; I don't need one with the ATTINY (this assumes that I enable brown out detection at 2V)
ItemConsiderationsCost (per 100, based on Mouser)
MCUI'm going with an ATTINY85V
(I originally planned to used a Cortex M0+)
RTCI decided to use a PCF8523$0.25
CrystalRequired for the RTC$0.3
FRAMLocation for data logs$1.90
Haptic DriverCould maybe do without and drive with the MCU$2.57
Vibration MotorMore research needed to find the right size (at the right cost point)$2
BatteryML1220 - 3V (nominal 2.5V)$1.67
Button(s)TBD - based on design$.20
TOTAL COSTMore than I'd like, but ok for a first pass$11.76

Charging Station and Data Sync Block Diagram

Components - TBD

  • Poor PCB Design Skills

    Darian Johnson05/19/2019 at 17:32 0 comments

    I've dabbled in Eagle before... usually making slight tweaks to already existing designs. I'm designing the bracelet PCB from scratch. The first design was.... lacking.

    I knew the first design would be large, but not so large that it wouldn't easily fit on a wrist. There are a few reasons for the size:

    • I'm using larger SMT and Through Hole components, because I planned to solder everything by hand. 
    • I did a really poor job arranging the components on the board
    • I have a number of large programming pins

    I'm in the process of creating a second design - where I'm planning to reduce the size of the components and switch to SMT for most cases. I'm also going to revisit my programming headers.

    I might start with one of the Adafruit Trinkets as a starting point... at least some of the components (Cortex M0, Caps, and Voltage Reg) are already laid out.

  • Rethinking Connectivity

    Darian Johnson04/21/2019 at 16:05 0 comments

    My goal was for the electronics portion of the bracelet to be small - like 10 x 20 mm.... unfortunately, the haptic motor requirements mean that I need a larger battery - making my design - best case - 15mm x 35mm. 

    Given that, I'm rethinking my stance on connectivity. I originally planned to build a second charging station that would also send data (via wifi or ble) to the cloud (where it could be analyzed and reported back to the user).

    Since I need more space, I may include BLE functionality within the bracelet. This would make data sync easier (meaning my charging station would only need to handle charging).

    Something like the nRF52840 (or the nRF52832) looks promising: small, a full SoC, has RTC functionality, and can operate between 1.7 and 5.5 V (which might mean removing the voltage regulator).

  • We're Gonna Need a Bigger Battery and a Voltage Logger

    Darian Johnson04/13/2019 at 03:58 0 comments

    Last week, I tried a very simple proof of concept with a CR1220.

    It worked for maybe 20 mins. 

    The battery just didn't have enough capacity to power the haptic motor for any length of time. So, I'm going back to the drawing board, and looking at larger LIPO battery (which means by bracelet may be larger than I initially wanted it to be).

    Unfortunately, I don't have the tools to test my new design properly. Specifically, I want to track battery performance (current and voltage) over time. I can't seem to find an off-the-shelf tool to do that for me, so I'm building my voltage logger with some leftover Adafruit parts I have on hand.

    Specifically, I'm using:

    • ESP8266 Feather (note: I prefer the ESP32, but I have 6 ESP8266 feathers un-used in my toolbox)
    • TFT Featherwing
    • INA219 Featherwing (this I didn't have and had to buy - I'll use this to track the voltage, current, etc)
    • a modified-version of a 3D printed feather case
    • assorted connectors and clips to easily connect by projects.

    I'll update this post later with a link to the voltage logger (I'll create it as a separate project, in case anyone else wants to leverage the code/design).

  • "Current" Challenge - will a LIR1220 Battery work?

    Darian Johnson04/08/2019 at 21:29 2 comments

    I'd like to get 3-4 days of use from the wearable; my assumption is that the MCU will stay in a deep sleep mode, unless 'interrupted' by the RTC (alarm/reminder) or push button (record an event). 

    I'd also like to go with a small battery. A LIR2032 or LIR2035 coin cell would work - except that I believe both are two large in diameter for the bracelet (they are 20 and 23 mm). The LIR1220 is a better option size-wise (12 mm) - I just don't know if:

    • It will allow enough current to drive the haptic motor
    • it will recharge in an adequate amount of time
    • It will last 3 days assuming 20 alerts/events a day

    Next step is to put together a quick proof of concept to validate my assumptions. 

    [Note - I originally referenced the wrong version of the batteries (CRXXXX instead of LIRXXXX)]

  • What is this thing supposed to do?

    Darian Johnson04/05/2019 at 01:47 0 comments

    Sometimes a picture is worth a thousand words...

  • Why Am I Building This?

    Darian Johnson04/05/2019 at 01:10 0 comments

    I've got a confession to make: I’ve got a bit of a potty mouth. I can make any curse word a verb, noun, adjective or adverb.

    A few months ago, my co-workers and I were on a conference call with another department. Since we were all in the office together, we took the call from a conference room. Once we ended the call, I let lose a two-minute tirade of curses that would make a sailor blush.

    After I stopped, I looked around the room and felt that I had lost the respect of my peers. My words –though not directed at the people in the room – were hurtful, disrespectful, and not in line with my, or my company’s, core values.

    I decided then and there to make a change: I was going to stop cursing.

    The first few weeks were hard. I couldn’t go two hours without a mf, gd, or some other colorful phrase. I wasn’t making any headway, so I decided to start tracking my progress. Was a getting better over time? Where their certain days, or times of the day, that were worse than others? Should I reward myself if I only cursed 5 times a week? Or should I punish myself if I cursed more than 10 time a day?

    Tracking my bad habit was harder than I thought. I built an Alexa still to keep track, but that only worked when I was at home. I tried multiple apps on my phone, but they were cumbersome to use (“unlock the phone, find the app, open the app, log the event”). I even tried using a notebook – but that was a failure from the start.

    What I wanted was something simple, small, and always on me.

    That’s when I decided to build a small tracker dongle that could be put in bracelet, latched on key chain, or simply put in my pocket.

View all 6 project logs

Enjoy this project?



Darian Johnson wrote 04/05/2019 at 20:09 point

@Dan Maloney thanks for your comment. I'm in 100% agreement - sometimes simpler is better. For your daughter's timer - are you thinking that it'll ring/beep? Or buzz/vibrate? Right now, I'm planning to have the bracelet vibrate.... I think that'll be more subtle than a beep.

  Are you sure? yes | no

Dan Maloney wrote 04/05/2019 at 20:29 point

Version one will just beep, as the piezo beeper can do dual service as a touch (tap) sensor). If I have enough room for a vibrator I'll try to add one, but it's not a priority for her to be discrete. I can see if being a good feature for your application though.

  Are you sure? yes | no

Dan Maloney wrote 04/05/2019 at 15:30 point

Good idea. People seem to want to pack as much functionality as possible into wearables, but going the other way and making something that does just one thing seems smarter. My daughter wants a simple workout timer in a FitBit-style wearable - tap it once for each 15 minute interval you want. All it will do is sound an alarm when the interval ends. If I ever get around to building it, that is...

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates