I've been offline from DP for a while due to a really evil workload. But I managed to grab a few hours while being a passive participant of some boring telephone conferences so I was able to put a small project together...
DaTajm is a wristwatch based on a PIC16F1824 powered by a single CR1216 lithium coin cell. I'm using a sandwich of three PCBs. The topmost pcb (0.8mm thick) have 12 leds and a resistive touchpad on the top side and all the other parts on the bottom. The middle pcb (1.6mm( is just a spacer for the battery. The bottom pcb have a contact for the positive pole of the battery and a soldered cable up to the top pcb.
I've uploaded a short video of it in action - when I touch the sensor the time 9:00 is shown (first led 9 (hours) follwoed by led 0 (minutes))
Awesome! I really like it.
+1 for awesomeness !!!
Thanks guys. It turned out better than I expected, but the touch sensor is a bit wonky so I'll try to make it a capacitive sensor and see what that does to the power consumption.
Currently I got a 19 uA average draw from the battery using the non-LF chip and sleeping for four seconds before being awakened by the timer overflow interrupt.
Doing a capacities sensor I need to wake up much more frequently and also spend a long time awake while doing the sensing. That will not be good for battery life....
Now the watch should last two months on "standby" and likely a few weeks in normal usage. With cap sensing the battery might only last a few days if im unlucky.
I'll also try a version with a pushbutton. A tiny smd button should fit just fine inside the 1.6mm middle pcb having it protruding from the left or right edge like in a real watch.
I know the green color looks a bit shite but didn't want to spend $60 extra on black soldermask on the prototypes. I'll probably make a small batch of black pcb with ENIG (gold) finishing when I've got the button/touch issue sorted out.
Who made the PCB? Not a lot of places would do internal routing for cheap.
I like the green colour, it gives it that DIY feel because it is the default PCB colour.
[quote author="matseng"]Now the watch should last two months on "standby" and likely a few weeks in normal usage. With cap sensing the battery might only last a few days if im unlucky.[/quote]
Although I like the PIC and especially the PIC32 chips a lot for most of my projects, I regularly turn to the MSP430 value line chips when doing really low power stuff.
The alarm clock I made two years ago  awakes 64 times per second, does a little houskeeping and time counting, and draws just 2 uA. When waking up less often, the power consumption can be reduced further.
Maybe you want to consider using an MSP430 value line chip  for this project? The programmer/debugger  costs just $9.99, and the Eclipse based IDE  is free for the max. flash size of 16 kB of these chips.
 viewtopic.php?t=2126 (http://dangerousprototypes.com/forum/viewtopic.php?t=2126)
 http://www.ti.com/lsds/ti/microcontroll ... rview.page (http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/value_line/overview.page)
 http://www.ti.com/tool/msp-exp430g2 (http://www.ti.com/tool/msp-exp430g2)
 http://www.ti.com/tool/ccstudio-msp430 (http://www.ti.com/tool/ccstudio-msp430)
Frank: The PCBs are made at Seeedstudio and they are actually doing internal cutouts as part of their standard $10 for 10 pcs of 5x5cm PCB service.
Yes, the green color is making it look like a home DIY project, I want it to become a bit more stylish and then black with gold trims would be better I think. :-)
Marcus: Maybe it's time to broaden my horizons a bit and try the MSP430 series as they seem to be the ruling line of microcontrollers when it comes to low power. So you can use a Launchpad as a programmer as well or is the one you linked to a specialized Launchpad/Programmer?
What crystal did you run your alarm clock on? I currently use the 32KHz crystal for both the timer and the cpu.
Yes, I use the Lauchpad as programmer/debugger for my projects. Simply connect the TEST and RST pins to the chip you want to program.
I use the 32 kHz quarz for the timekeeping ISR (watchdog timer) and run from the internal 16 MHz FRC oscillator when waking up. The wakeup time is 1 us.
Really inspiring project, Mats!
I think it will look great in black & gold! With the resoultion of PCB etching you could make some really intricate designs on the watchface.
How about using a piezo-sensor instead of a touch pad? I recently got some Stick'n'Find (http://http://www.sticknfind.com/) devices, and when you get them they're in some low-power mode, and are woken by tapping them a couple of times. I've never used piezo-devices, so I don't know the details, but I think they generate voltage when tapped, so they could be energy efficient.
Another idea would be to have the LEDs on the bottommost PCB facing up, drill holes above the LEDs on the middle layer, and then etch away the copper on the bottom side of the clockface layer below numbers on the clockface to have the LEDs shine through. Would give a very clean dial. Hm, I wonder if light will shine through the black soldermask?
For my own use, I think I'd like more than 5 minute resolution. You could have three rings of LEDs, 60 for 1-minute resolution, 12 or a bit more for seconds and 24? for the hours. 10 pins can charlieplex (http://http://en.wikipedia.org/wiki/Charlieplexing) 90 LEDs according to Wikipedia, so you wouldn't need a huge number of pins. Of course soldering 100 LEDs sounds tedious.
If I didn't have so many active projects of my own at the moment, I'd start making a watch like yours right away ;-)
Greetings from rainy Stockhom!
How do you measure such low currents?, the ucurrent or other tools?
Have been looking a bit on the Silicon labs C8051F9xx series, it supposedly draws about 500nA when sleeping
And it have capacitive sensor.. AND it's so darn small it's a bit fiddly to solder..
Erl: I was thinking for a while to have the leds mounted upside down on the back of the topmost pcb (along with the rest of the parts). But having it all on the bottom pcb is definitely an option, but I probably have to make the watch slightly bigger do do that. Having a small piezo that can be tapped to activate the watch would be very nice - it will be hard to fit it though without getting it squished by the battery.
( Stockholm... Lived there for the first 30 years of my life, but for the last 7 years I've only been back there for two days. Too cold ^_^ )
Neslekkim: I used my Agilent 34401A, with 6.5 digits of resolution even the 10mA range gives decent figures. But I probably should invest in a proper dedicated uA/nA meter or atleast a uCurrent from Dave....
ah, that's something else than my fluke 75 ;)
Congrats matseng, you made HaD ;-)
One suggestion maybe.
the minute led could blink (minutes % 5 )+ 1 times to signal intermediate minutes (e.g. the 5 minutes led blinks twice when it's 6 minutes past 9).
Keep up the nice work!
Very cool! A couple of suggestions for version 2:
1. I'd suggest adding strap loops on the middle layer too, just to help keep a yank on the strap from snapping the existing single layer right off. If you left them plated, the copper might add a little strength too, and give room for a soldered support wire for added strength.
2. If you enlarge one of the screw holes in the middle layer, you could use a small spring contacting pads on the top and bottom layers to transfer the positive battery lead. No soldered wire holding the two halves together makes for easier assembly/disassembly (at the cost of a small loose part). Or... maybe a top layer solder pad under the screw head and a via where the screw goes into in the bottom layer.
I like the push button idea, as that could be interrupt driven and thus use less battery than either resistive or capacitive. That said, the cool factor of a touchpad is hard to beat. Oh, and if you used a piezo sensor, i wonder if it could double as a speaker as well. That would make it worth the extra battery consumption!
I also like the idea someone else gave of flashing the minute LED to indicate the final digit with more precision. You could go crazy by putting it in a second mode where the LED chases the second around the face for a while. If there's room for a phototransistor, you could dim the LEDs according to ambient light too. Or I wonder if it's possible to use an existing LED to read the ambient light level... Have a "club" mode where it syncs to the music and strobes. :p Or use the LEDs on the front face to set or adjust the time without needing to open it up.
Nice job, very inspiring.
I was looking for a cool project combining small ICs, RTC and power consumption optimization, and I think I found one !
As someone said, I was thinking about soldering the LEDS on the top of the lowest PCB. Holes on the middle PCB, and on the top PCB, "holes" of copper.
I have some questions about your design : the screws are threaded in the lowest PCB only ? Is it robust enough ?
What are those pads next to the battery positive terminal ?
I made some PCBs on Eagle with MSP430G2452 16QFN package. Thinking about a capacitive touch button as TI MSP430G2xxx has CapTouch IO feature.
[quote author="Montspy"]I have some questions about your design : the screws are threaded in the lowest PCB only ? Is it robust enough ?
What are those pads next to the battery positive terminal ? [/quote]
The holes are 1.3mm in the bottom and middle pcbs and 1.5 mm in the top, I'm using M1.4 x 4 mm screws bought at ebay http://r.ebay.com/bAaohV (http://r.ebay.com/bAaohV).
I'd say that they hold the pcbs together good enough. I even put in a CR1220 battery (0.4 mm higher than the size the watch was made for) and could screw it together without any issues.
I've opened and closed the watch at least ten times and it still feels rigid and stable. But of course I've been careful not to over-tighten the screws since I think the threads in the FR4 would strip if you're a bit heavy-handed with the screwdriver.
The holes are non-plated, maybe they would be even more robust if I had them plated...
On the top pcb there's a row of five pads that are the standard PIC ICSP progamming connector at 0.1" distance that I can connect via pogopins to my Pickit3 for (re-)programming. But during development I just soldered a standard 0.1" header to it so I could have it plugged into the Pickit all the time.
And yes.... I glued the bottom and middle pcbs together with a few dabs of epoxy. I'n not sure that was necessary but it makes life things easier.
Originally I planned to have two large plated holes in the middle PCB and some exposed copper on the bottom pcb so I could solder them together, but I realized that the plating of the hole might come in contact with the iscp pads on the top board so I took them away.
Thank you very much for the link to the screws, I was looking for some small screws and those are perfect.
The design is ready for prototyping I think. I'm just waiting for my Launchpad which is out of stock (no luck!). And for the answers from Seeedstudio since the cutouts are a lot more complicated.
I tried to use all the good advices I got here.
It's sad we can't use blue, green, pink, white LEDs since their voltage is >3.0V...
Plus I need to use current limiting resistors as the MSP430 don't have any built-in.
Most green and yellow leds have Vf well below 3 volts so they should work pretty well.
I used two current limiting resistors in my watch. The less are in a 6 by 2 grid and the anodes connects directly to 6 port pins and the two cathode groups are connected to two pins via resistors. Since I only drive one single led at a time I don't need to worry about getting different light levels depending on how many less I light up.
My tip is don't ask Seeed, just send the files and look happy. I've exceeded the max 5 subboards rule and had 25 or so tiny subboards on a pcb. Didn't ask first and it was accepted. Sometimes they even do v-scoring. And another guy did panelizing with both long slots and drillines.
I'm gonna use red and orange LEDs. As I have less room to put the µC, I used a 16QFN, and I have to drive 16 LEDs (12 for hours + 4 for 1-minute precision). Using charlieplexing gives 5 pins, and 5 resistors.
Seeedstudio order is passed, I need to buy the crystal, and wait ;)
My Launchpad is sent too, so I'll be able to program before the boards arrival, which is cool.
We'll see how it goes.
I built my watch :)
I got one major problem : the contacts to drive the LEDs from the top to the bottom were not good enough, I had to use magnet wire to get good connections. Well, this is a working prototype. I have only unpopulated picture for the moment.
Here is the back of the bottom PCB : MSP430G2452 in 16QFN, 32768Hz crystal, few passives and contact grid (bottom left)
The middle PCB with hole for the LEDs, coin cell, and 5 current limiting resistors (soldered in the rectangular castellated holes).
And the bottom PCB with LEDs and positive coin cell pad.
For a video, click here (http://https://www.youtube.com/watch?v=I24ClLsrP_A). I was under a huge light to be able to record with my phone. External LEDs are red, center ones are orange. They are brighter than they appear.
I paste the Youtube description here as it contains more technical info :
This is the demonstration of my prototype of LED wristwatch.
It has 12 red LEDs to display hours and slices of 5 minutes. And 4 orange LEDs to obtain a minute-precision display.
How to read it :
Press. First is the hour. It is displayed like on a clock dial.
Then it changes after 1 second to minutes display. Each red LED is 5 minutes.
Then you add the orange ones : none is +0, the top one is +1, the right one is +2, the bottom one is +3 and the left one is +4.
It uses a capacitive button. It is powered by a standard CR1216 coin cell (~25mAh).
The MCU is a MSP430G2452 for Texas Instruments (the same one that come with the Launchpad). The capacitive button is handled by the built-in PinOsc in the MCU. I added a 37.768kHz crystal to keep time as accurately as possible.
It is composed of 3 PCBs :
- The bottom one holds the LEDs.
- The middle one has 5 current limiting resistors and a hole for the coin cell.
- The top one has the MCU, crystal, capacitive button and a few passives.
Thanks to tle Low Power Modes of the MSP430, I was able to lower the current draw in sleep mode to less than 35µA (Includes wake up every 250ms to keep track of time and to check if the capacitive button is pressed).
The 16 LEDs are controlled by only 5 pins by using charlieplexing (http://en.wikipedia.org/wiki/Charlieplexing (http://en.wikipedia.org/wiki/Charlieplexing)).
PCBs were produced by Seeedstudio Fusion PCB service (really cheap and high quality boards).
The QRCode links to my LinkedIn account : http://www.linkedin.com/in/valentintrimaille (http://www.linkedin.com/in/valentintrimaille)
The idea came from matseng (viewtopic.php?f=56&t=5417 (http://dangerousprototypes.com/forum/viewtopic.php?f=56&t=5417)).
Ooooohhhhh.... Really nice! I'm glad that my first prototype inspired someone to take it to the next level.
The holes for in the top pcb where the outer and inner rings coincide - are they drilled as vias/holed or milled (Eagle laye6 46)? I thought that Seeed don't like to make two holes that are too close due to the risk of breaking the drill bits.
About the "holes". They are not holes. I just removed copper and coating. It is translucid enough to see the leds shine through.
Ah, I see. That's smart.
The wall here at the milled half-moon seems very thin - do you have the actual size of it? And did Seeed complain about it? I think the spec is minimum 1 mm thickness of "walls".
Looks great Val! How long do you think the watch will last one one battery?
The battery will be completely drained in 25mAH/35uA hours = 25000/35=714 hours = 29 days. So I guess 2-3 weeks if looking at the time a few times a day.
[quote author="matseng"]Ah, I see. That's smart.
The wall here at the milled half-moon seems very thin - do you have the actual size of it? And did Seeed complain about it? I think the spec is minimum 1 mm thickness of "walls".
Yeah, they are 0.6mm (24 mils).
Seeedstudio did not sent me anything about that, and the milling is very clean. I think 0.5mm (20mils) is OK.
They were worried about the castellation of the middle PCB because the milling cut more than half of the via. Some boards are OK, not each board.
[quote author="matseng"]The battery will be completely drained in 25mAH/35uA hours = 25000/35=714 hours = 29 days. So I guess 2-3 weeks if looking at the time a few times a day.[/quote]
Yes, exactly. I managed to get the MCU to sleep even more, but I haven't been able to measure the current draw with the last firmware. It's sad rechargeable CR1216 (like CR2032 -> Lir2032) doesn't exist.
2-3 weeks is too short for me, but with the capacitive touch button, the MCU has to wake up every 250ms to monitor the sensor.
Maybe using a specialized IC, but they all draw more than 15µA, which is too high to justify the addition of an new IC (less room, more expensive, more complex, etc. ...).
Here are the Eagle files of this v1 : [attachment=0]
I totally love both of these! I'm going to have to cook one up, I think. Did you guys both use fusion PCB? What layer do internal routes go on, dimensions just like OSHPark?
Yes, I used Seeedstudio Fusion - if they still are called that, but I think the name is only "PCB Service" today.
I only used 2-layer board so no internal routes.
You're saying their 4 layer service only supports routing?
Where can I find the firmware files for this project?
[quote author="alexwhittemore"]You're saying their 4 layer service only supports routing?[/quote]
Oh, sorry about that, I was thinking of the actual routing of tracks.
I use Eagle and so I draw all my internal cutouts on layer 46 (Milling) and have the boards outline on layer 20 (Dimension). Both layers are written to the .GML file by the cam-processing so it probably doesn't matter which you use.
Alright, cool. Thanks!
[quote author="systemstech"]Hi Mats;
Where can I find the firmware files for this project?[/quote]
Hm... It seems like it's not at github. I'll upload the files soon to https://github.com/SmallRoomLabs?tab=repositories (https://github.com/SmallRoomLabs?tab=repositories)
Cool stuff. You can make more of this and make business. Surely it will have good buyers like me.
Friend ... congratulations on the clock, very nice.
I ask: How is the project today ??
You already have a 2015 version ??
It has a commercial version ??
One suggestion: To drive the LEDs, it would be interesting one accelerometer.
When quickly turning the hand, will drive the LEDs.