• Prototype can now be worn

    AccidentalRebel20 hours ago 0 comments

    The first prototype for the TIRO Watch (Time is Running Out) can now finally be worn and tested under real world conditions. It looks ugly and too pink right now, but aside from that everything works!

    After wearing the prototype I immediately noticed how weak the vibration of the motor was. This makes sense because the vibration motor now needs to vibrate while attached to the back side of the casing not unlike when it was vibrating freely when it was running on a breadboard.

    A quick fix I made was that I removed the Resistor 1 in the circuit (At 47 ohms) and placed a wire in it's place (See below image). This made the vibration stronger making it easier to notice. A downside to this change is that the current draw will increase. I have not measured it but based on previous experiments it should be around 20mA more.

    Read more »

  • Found a new case

    AccidentalRebel4 days ago 0 comments

    Initially I was planning to use the case of a bluetooth dongle as the container for my prototype. Even though I said that aesthetics is not important for now, it did bug me that the case did not look like a watch at all.

    I reasoned to myself that in order for me to properly evaluate my prototype, I need to be able to wear it as a watch. To most makers this is an easy problem thanks to 3D printing. Sadly, I don't have one so I have no choice but to use whatever is lying around.

    Here's a toy watch that I "borrowed" from my daughter (She's 4, she wouldn't mind).

    Opening it up shows that there is a lot of room for my project.

    There was actually too much room that I cut it so it's not too bulky. So it turned from this:

    To this:

    Read more »

  • Planning the perfboard layout

    AccidentalRebel5 days ago 0 comments

    I am now moving to the next stage of my prototype, which is moving the circuit from the breadboard to perfboard. This means no more new hardware features will be added anymore, at least for this version of the project. I have plans on adding an on-off button and hooking up external clock, but that would be for the next iteration.

    Before I could do the move I needed a container first. Sadly, 3D printing a case is out of my reach at the moment, so I have to make do with using the shell of a car Bluetooth device that I have lying around.

    Using this case means that I can't be able to wear it as a watch. I was thinking of drilling holes on the sides and slip a watch band through the case. It would not look good but since it's only a prototype, aesthetics is not my priority at the moment.

    Thankfully, the CR2032 coin cell fits perfectly! I just had to modify the arrangement and placement of the components and ended up with the one below:

    The top image is the top view of the prototype with the components shown, while the bottom image shows the solder connections underneath.

    It's a bit tight but I am very happy with the placement. The disc motor I'd have to secure to the casing in some way to make sure that the vibration is more pronounced. Maybe tape it to the top wall, or maybe put it at the bottom of the board? We'll see.

    I'll be starting the soldering possibly this weekend.

  • Uploaded code to Github

    AccidentalRebel03/12/2019 at 02:17 0 comments

    The results of my recent tests have proven that my code is working and that I can now be confident in sharing it. Here's a link to the repository.

    It has all the basic code that handles running the motor, delays, watchdog timing, and sleeping. It's actually really short but a lot is happening.

    If you are interested, you also may want to look into the previous commits. How I started off from the code made by the user Azeria from the Arduino forums, how I then slowly modified it to try out various optimizations, up to the cleaned-up version it is today.

    There are still more features to be added to the project (e.g. A button to turn the watch on and off) so the code will definitely be changes to the code in the near future.

  • More than 24 hours uptime. Very promising!

    AccidentalRebel03/09/2019 at 14:07 0 comments

    [Update 2: 72 hours!]

    [Update: It's now more than 48 hours!]

    More than 24 hours ago I started the test to find out how long my project would run on a CR2032 coin cell battery (More info about the project here). Thankfully, it is still running with still a lot of power left.

    Of course, 24 hours is not a lot, especially for a watch, but it is a big deal because the project that inspired me only run for around 10-11 hours. Plus, my initial pen and paper calculations based on the current drain was around 5-6 hours.

    Before this test started I measured the voltage at around 3.17 Volts. Now it's at 2.97 Volts and it seems that the optimizations backed by my research is paying off. I'll continue to run this test until the battery dies out. Will make another log to summarize my findings.

  • Measuring the unreliability of the ATTiny85's internal clock

    AccidentalRebel03/07/2019 at 14:53 0 comments

    I've read it countless of times: the internal clock on the ATTiny85 is very unreliable. It's said that it's accuracy vary wildly depending on various factors like temperature and voltage.

    I still wanted to test it out for myself. I wanted to find out just how unreliable it is. And if it is possible at all to do some hacks to it to increase the accuracy. What followed was a lot of lessons learned mixed with frustrations.

    First, a brief overview of what my project is about. TIRO (Time is Running Out) is a simple wearable that vibrates every 5 minutes to remind the user of the passage of time. I don't need exact intervals between vibrations, since the timing does not need to be exact (The user won't be able to tell if the vibrations were late or early, anyway),

    Read more »

  • Reducing the power consumption

    AccidentalRebel02/28/2019 at 14:02 0 comments

    One of my main goals is for the circuit to find a way to lower the power consumption of the circuit as possible. I've made a couple of improvements that really helped a lot. Here are my findings:

    • Lowering the internal clock of the ATTiny85 from 16MHz to 1MHz helped reduce the idle mode current draw from an average of 7.75mA to 0.97mA.
    • Increasing the resistance to lower down the current passing through the motor (See schematic, denoted by R2) helped reduce the running motor current draw from 50mA to 45mA. It lessened the strength of the vibration and it skirted dangerously low to the lowest operating current of my vibration motor. I reverted to the original resistance values for now.
    • Switching the code to make use of a watchdog timer when the ATTIny85 is idle has helped significantly lowering the current draw in idle mode from 0.97mA to 4uA. A huge improvement! (Will make a log about this in the future, but if you can't wait more info here).
    Read more »