EEVblog Electronics Community Forum

Electronics => Open Source Hardware => Topic started by: Lukas on May 21, 2016, 06:10:40 am

Title: DIY watch based on the Casio F-91W
Post by: Lukas on May 21, 2016, 06:10:40 am
Hi There,

I used to own the ez430 Chronos programmable watch, but after several years, the wrist strap disintegrated. Since I can't live without a watch with binary time display, I made my own based on the case of the famous Casio F-91W. It's called "pluto": https://github.com/carrotIndustries/pluto

Features:
    Displays time in decimal/binary/hexadecimal base
    Multiple alarms
    Multiple countdown timers
    Uses RTTTL ringtones for alarm sound
    Stopwatch
    Compass (WIP)
    Generation of time-based one-time passwords according to RFC 6238 (WIP)
    Menu-driven interface
    Infrared receiver for software updates and TOTP secret transfer (WIP)
    Useless customisation (Key beep frequency, etc.)
    approx. 1 year battery life (estimate based on current consumption)

Lukas
Title: Re: DIY watch based on the Casio F-91W
Post by: bitwelder on May 21, 2016, 03:48:36 pm
Awesome project!  :-+
Thanks for sharing it.
Title: Re: DIY watch based on the Casio F-91W
Post by: kripton2035 on May 21, 2016, 04:42:38 pm
yes pretty amazing to hack an old watch like this. awesome !
Title: Re: DIY watch based on the Casio F-91W
Post by: ptr on June 08, 2016, 07:51:43 pm
very impressive work!
I really like your software. you even made a simulator.
very extensive feature set!

I have just triggered a pcb order at elecrow.

I'm kean to edit the pcb and add a pressure sensor to get even more smart readings from it.
would be a nice feature to watch the weather.

are you working already on an bootloader / update implementation?
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on June 08, 2016, 11:07:18 pm
very impressive work!
I really like your software. you even made a simulator.
very extensive feature set!

I have just triggered a pcb order at elecrow.

I'm kean to edit the pcb and add a pressure sensor to get even more smart readings from it.
would be a nice feature to watch the weather.

are you working already on an bootloader / update implementation?
We're working on getting the the IR receiver running for firmware updates and loading OTP secrets. Don't have too high expectations, firmware updates will take several minutes since the IR receiver only does 1kBit/sec.
I'm not sure whether a pressure sensor will work through the rubber gasket. Also take a look at the "mech" directory, there's an inkscape document for verifying that all components fit inside the plastic frame.
Title: Re: DIY watch based on the Casio F-91W
Post by: ptr on June 09, 2016, 09:11:03 pm
great to hear, I'm very curious about what you will push next !
is the plastic frame yet imported as a kicad layer ?

I think, if at all the case is tight for water, but not for air. I'm really in love with the imagination of having a barometer at my wrist.
Title: Re: DIY watch based on the Casio F-91W
Post by: ptr on June 22, 2016, 05:47:12 pm
My ordered PCBs from elecrow arrived. there are 23 of them in the batch.

if you want one, will will send them to you in exchange for the shipping cost. I'm located in germany.
Title: Re: DIY watch based on the Casio F-91W
Post by: irda86 on July 05, 2016, 08:56:08 pm
We're working on getting the the IR receiver running for firmware updates and loading OTP secrets. Don't have too high expectations, firmware updates will take several minutes since the IR receiver only does 1kBit/sec.
I'm not sure whether a pressure sensor will work through the rubber gasket. Also take a look at the "mech" directory, there's an inkscape document for verifying that all components fit inside the plastic frame.

First of all, great and amazing project!  :-+

About the IR, have you thought about using the buttons for TX/RX ? (see here: https://hackaday.com/2016/05/30/gutting-and-rebuilding-a-classic-watch/#comment-3038490 (https://hackaday.com/2016/05/30/gutting-and-rebuilding-a-classic-watch/#comment-3038490) )
(I think you'd need to solder wires to the small metal contacts that act like buttons, visible left and right of https://github.com/carrotIndustries/pluto/blob/master/photos/frame.jpg (https://github.com/carrotIndustries/pluto/blob/master/photos/frame.jpg))

Anyway, I saw on github that you had tried to use the DB36 which has a dotmatrix + segmented display, do you think that aside from contrast issues, the dotmatrix could be driven with this MCU?

I got interested in this sort of hack after seeing yours, so I don't know anything about driving LCDs, but being able to drive a dotmatrix would be great to graph barometric pressure like @ptr suggested.

I was also thinking about replacing the screen (of a suitable watch) with one of these: https://www.digikey.com/product-search/en/optoelectronics/display-modules-lcd-oled-graphic/524918?k=&pkeyword=&pv652=202&FV=fff40008%2Cfff80276&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25 (https://www.digikey.com/product-search/en/optoelectronics/display-modules-lcd-oled-graphic/524918?k=&pkeyword=&pv652=202&FV=fff40008%2Cfff80276&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25) it's a circular Sharp memory LCD, which uses a serial interface. It's a bit big, around 33x33x1.64mm, but Sharp supposedly has a smaller one 30x30: http://sharpmemorylcd.com/0-96-inch-memory-lcd.html (http://sharpmemorylcd.com/0-96-inch-memory-lcd.html)
Although reusing the dotmatrix from a compatible Casio would be a nicer hack  :)

Title: Re: DIY watch based on the Casio F-91W
Post by: alank2 on July 06, 2016, 01:14:43 am
Hi Lukas,

This is fantastic!!!  I've been wanting to do this with a casio watch for awhile, but have just never put a project together.

Part of me wants to try to retrofit an oled or led segment style display in a casio watch shell too.

Are you going to sell these pcb's as a completed item?

Thanks,

Alan
Title: Re: DIY watch based on the Casio F-91W
Post by: irda86 on July 06, 2016, 10:25:30 pm
Are you going to sell these pcb's as a completed item?

Not sure if you saw @ptr's comment here https://www.eevblog.com/forum/oshw/diy-watch-based-on-the-casio-f-91w/msg967498/#msg967498 (https://www.eevblog.com/forum/oshw/diy-watch-based-on-the-casio-f-91w/msg967498/#msg967498) but he has boards, unpopulated AFAIU.
Title: Re: DIY watch based on the Casio F-91W
Post by: irda86 on July 18, 2016, 11:15:25 pm

Anyway, I saw on github that you had tried to use the DB36 which has a dotmatrix + segmented display, do you think that aside from contrast issues, the dotmatrix could be driven with this MCU?

I got interested in this sort of hack after seeing yours, so I don't know anything about driving LCDs, but being able to drive a dotmatrix would be great to graph barometric pressure like @ptr suggested.

I read more about the MSP430 docs and LCD segmented drivers and my understanding is that there are some MSP430 parts (MSP430FR4xxx series) that have a programmable 1-8 mux, that is, they can do 5-mux, 6-mux, 7-mux and 8-mux, capable of handling up to 448 segments/dots:
https://en.wikipedia.org/wiki/TI_MSP430#Integrated_peripherals (https://en.wikipedia.org/wiki/TI_MSP430#Integrated_peripherals)
http://www.ti.com/lit/ug/slau445f/slau445f.pdf (http://www.ti.com/lit/ug/slau445f/slau445f.pdf)

Does anybody knows if the MSP430FR4xxx could replace the MCU used by Lukas? (I still have to compare both datasheets, but I'm wondering in case somebody could provide with a more educated guess)
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on July 20, 2016, 06:46:35 pm
As I wrote in the README, the problem with the Casio LCDs is that they require 5Vpp for any reasonable contrast. The MSP430 only can do approx. 3.6V.
Title: Re: DIY watch based on the Casio F-91W
Post by: Narmaraktuk on July 28, 2016, 10:31:54 pm
During construction I noticed that the LCD of my donor 'Casio F91W' was wired differently from Lukas' watch. There are stories about clones of this watch on the internets, and it seems I have one those. Pictures of this clone below. Note that most of the other components that you need to build pluto from a donor are perfectly fine. (case, rubber gasket, screws, inductor for buzzer)
Title: Re: DIY watch based on the Casio F-91W
Post by: irda86 on September 27, 2016, 10:32:05 pm
As I wrote in the README, the problem with the Casio LCDs is that they require 5Vpp for any reasonable contrast. The MSP430 only can do approx. 3.6V.

Thanks for your reply Lukas.
Yes, I had read the README, but it said "Best guess: These watches are old designs, LCDs weren't that sensitive back then", yet the F91W should be pretty old as well, right?

Would it be a good guess that you did not bought the W800, F201 and DB36 (mentioned in the README), but that you had some in hand, and that's why you are saying "they are old designs"?
Was the F91W old as well? Or did you bought it new?

The W800, F201 and DB36 are still on sale apparently:
http://www.casio.com/products/Watches/Classic/W800H-1AV/ (http://www.casio.com/products/Watches/Classic/W800H-1AV/)
http://www.casio-europe.com/euro/watch/collection/f-201wa-1aef/ (http://www.casio-europe.com/euro/watch/collection/f-201wa-1aef/)
https://www.casio.com/products/Watches/Databank/DB36-1AV/ (https://www.casio.com/products/Watches/Databank/DB36-1AV/)
Title: Re: DIY watch based on the Casio F-91W
Post by: ixt on November 16, 2016, 09:54:16 am
My ordered PCBs from elecrow arrived. there are 23 of them in the batch.

if you want one, will will send them to you in exchange for the shipping cost. I'm located in germany.

Located in UK, any chance you still have some spare?
Title: Re: DIY watch based on the Casio F-91W
Post by: WannesS on December 23, 2016, 09:03:42 am
I have very bad contrast and viewing angle, only visible from below. A lot of lcd segments don't work.

Any advice on debugging this? I had to solder wires to program the mcu, but wires make it impossible to test the lcd  |O (pogo pins on the way)
Is this bad solder joints on the mcu? It's my first time doing smd soldering, although I used stencil/solder paste & hot place. I've cleaned the board with isopropyl alcohol, so I'm fairly certain it's not just flux on the lcd pads.

(http://i.imgur.com/dli0OcRm.jpg) (http://imgur.com/dli0OcR)
(http://i.imgur.com/A7xB1Xzm.jpg) (http://imgur.com/A7xB1Xz)
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on December 23, 2016, 12:43:28 pm
Nice to see other people modifying their watches as well :)
My best guess is that it's bad soldering. You should see some non-DC waveform on each LCD pad. Also make sure that all of the metal latches are engaged.

It's easily possible to solder thin wires to the pogopin pads and run them through the holes in the frame. That's how I programmed/debugged the watch before my pogopins arrived.

EDIT: I've taken a closer look at your photos and compared them to https://github.com/carrotIndustries/pluto-fw/blob/master/target/hal/segmap.map First column is COM, second one is SEG. Seems like there's something wrong with COM0
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on December 24, 2016, 12:11:07 pm
BTW, pluto will be be at the 33c3: https://events.ccc.de/congress/2016/wiki/Projects:Pluto Feel free to drop by :)
Title: Re: DIY watch based on the Casio F-91W
Post by: WannesS on December 29, 2016, 08:37:59 am
I started over with a fresh PCB.

I also reused the led this time. It's legs raise the led a few mm above the pcb, giving a much better backlight.

Sadly, I still got some issues. The time display is perfect, afaict all segments light up ok.
However every other app is weird, some segments do nothing, other light up but with bad contrast :(
(http://i.imgur.com/GaLB39mm.jpg) (http://imgur.com/GaLB39m)
(http://i.imgur.com/GybKHlvm.jpg) (http://imgur.com/GybKHlv)

edit: after fixing a solder bridge and putting the magnetometer back everything works :)
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on January 03, 2017, 09:11:23 am
Looks great! Did you use a F-91W for donor watch?I'm wondering, since I haven't seen frames with a cutout for the inductor yet.
Title: Re: DIY watch based on the Casio F-91W
Post by: WannesS on January 03, 2017, 10:34:31 pm
Yes, I reused the inductor, backlight led, and speaker spring. And of course the loose components such as frame/lcd, battery connector on the back.
The inductor's leg came loose when desoldering, which is actually not a bad thing as it touches the transistor and it's difficult to place properly.

I still have an issue with the magnetometer. If I go to compass, the UI hangs. Once I have my pogo pins I hope to do some debugging.
I'm guessing it's bad soldering, I really should've placed the IC's first and then the passives. The magnetometer is rotated 90° CCW, right? The line underneath the markings is supposed to be facing left? It's not entirely clear from your photo.
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on January 03, 2017, 10:56:51 pm
Yeah, the laser marked bar needs to be on the MCU, i.e. left side. My best guess for the I2C crash is the SCL line being stuck low, since the I2C master waits for SCL to go high for clock stretching.
EDIT: You may also use the debugger to see where the MCU gets stuck.
Title: Re: DIY watch based on the Casio F-91W
Post by: bigjosh on January 28, 2017, 03:29:05 pm
Loving this project! Brilliant!

Curious how low you were able to get actual current usage down to?

So, based on 1 year on a battery life and assuming the battery is a CR2016 with ~90mAh capacity, does that mean you are keeping the LCD and low freq osc running with <10uA?

Thanks again!

-josh
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on January 30, 2017, 06:49:13 am
Loving this project! Brilliant!

Curious how low you were able to get actual current usage down to?

So, based on 1 year on a battery life and assuming the battery is a CR2016 with ~90mAh capacity, does that mean you are keeping the LCD and low freq osc running with <10uA?

Thanks again!

-josh

I keep the LCD, RTC, crystal, and one timer active all the time. Current consumption is definitely less than 10uA. It wasn't that hard after all, just spend as much time as possible in LMP3 and don't forget to set unused pins to output.
Title: Re: DIY watch based on the Casio F-91W
Post by: RBMK613 on May 08, 2017, 08:04:23 am
Be cool to see this modified to fit the DW5600 case, which would be more durable and aesthetically pleasing among other things.
Title: Re: DIY watch based on the Casio F-91W
Post by: Grapsus on December 10, 2017, 12:28:06 am
Hi there !

This projet is awesome ! Quite a challenge to fit different components in such a small space.

Do you have any PCB left by any chance ? If so I'd like to buy one from you.
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on December 10, 2017, 01:01:43 am
I recently sold the last PCBs of the initial order. Since there seems to be a steady demand, I'm considering ordering a second batch in the near future. Stay tuned!
Title: Re: DIY watch based on the Casio F-91W
Post by: WannesS on December 11, 2017, 08:41:50 pm
I think I got a spare pcb left. Some parts as well iirc (mcu, ir receiver, ...). I will check this evening.
PM if you're interested.
Title: Re: DIY watch based on the Casio F-91W
Post by: ripper121 on January 18, 2018, 02:06:10 am
@Lukas: I wrote you a PM :)
Title: Re: DIY watch based on the Casio F-91W
Post by: rapter87772000 on May 16, 2018, 11:54:33 am
Any update on new PCB's been dying to get one of these working
Title: Re: DIY watch based on the Casio F-91W
Post by: bleb on July 21, 2018, 02:06:55 pm
oi me too.  would definitely get one or two if you do a second run!
Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on October 01, 2018, 09:56:21 am
Hi everyone,

I am wondering whether it is feasible to add a calculator to this using morse code input, identifying some syntax for special functions and control characters. Several problems:


Does anyone more knowledgeable than I have ideas on this? Thanks
Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on October 01, 2018, 11:08:52 am
Alright well here's an initial interface idea that doesn't involve complicated timing.

So all that's left is to just come up with a good alphanumeric syntax for calculator stdin. Special character sequences are needed for:

Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on October 18, 2018, 05:26:21 am
Alright, I have written some code that compiles to the target, but it is quite buggy and undocumented (although the bugs are well contained at least!): https://github.com/enthdegree/pluto-fw/blob/master/README.md (https://github.com/enthdegree/pluto-fw/blob/master/README.md)

Can't wait to get some actual hardware to try this out on.
Title: Re: DIY watch based on the Casio F-91W
Post by: Lukas on October 19, 2018, 08:25:48 am
Great to see people using pluto as a platform to implement the features they need on a watch. I've had this idea on my mind as well, but dismissed it as not useful enough / too fiddly too operate. If you're looking for a more practical watch to implement a calculator on, maybe Travis Goodspeed's goodwatch https://github.com/travisgoodspeed/goodwatch is the thing for you.
Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on October 30, 2018, 06:03:52 am
Great to see people using pluto as a platform to implement the features they need on a watch. I've had this idea on my mind as well, but dismissed it as not useful enough / too fiddly too operate. If you're looking for a more practical watch to implement a calculator on, maybe Travis Goodspeed's goodwatch https://github.com/travisgoodspeed/goodwatch is the thing for you.

Going to make one of those next.

Do you (or does anyone else) have any left over PCBs I can buy or should I order my own?

Thanks
Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on November 14, 2018, 07:45:47 pm
Alright, I've done a few things on my branches:

- Made a new board layout that replaces the now-obsolete MAG3110 magnetometer with a LIS3MDL. New layout is probably terrible for reasons over my head, it's the first time I've ever opened a board editor.

- Updated the target HAL for the LIS3MDL.

We'll see if any of this works when the board and parts come...
Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on December 07, 2018, 10:10:29 am
Boards just came today from elecrow. The yellow looks pretty cool IMO.

Should have time to solder them up this weekend.

I might also write a metronome app, it might actually be useful.

(https://i.imgur.com/xAUZ2Rx.jpg)
Title: Re: DIY watch based on the Casio F-91W
Post by: budget_multimeters on April 01, 2019, 07:29:08 am
Very cool project!

Does anyone have extra PCBs you'd be willing to part with?
Title: Re: DIY watch based on the Casio F-91W
Post by: enthdegree on May 24, 2019, 01:19:51 am
Hi, I've got all the components soldered onto the board and I believe it is ready to program, but when I plug my Launchpad into the computer and hook up "GND" and "VCC" to their respective pads on the target board, the LED on the Lauchpad turns off as though something is shorted.

Is there any reason this could be happening other than bad soldering/fried MCU?