Casio F-91W Watch Mod Idea - Page 1
Forum section: electronics / projects

author: eHeadB4Bed
author_rank: Newbie
timestamp: December 12, 2015, 04:25:06 am
content: Hello,First time poster, so please be easy. I really like the simplicity of the Casio F-91W watch, but have always wanted a heart rate monitor for running. I don't want to use an extra 'fitness band' and don't want to deal with wireless comms. to extract my data. All I want to do is add another menu that will display my current heart rate.I started looking at tear downs to see what capabilities could be added and I found one here:https://www.youtube.com/watch?v=lk_-_Phiklc.It appears as though there might be some room within the F-91W's body for more components. I have another F-91W on order to tear down and reverse engineer, so I will have to use the video for the time being for evaluating the feasibility of the project.My plan is to re-use the LCD and watch body, but create a new PCB with a micro and circuitry to measure pulse rate.So here are my questions for the board:- Does anyone know of projects similar to this?- Does anyone know the interface for the LCD?- Does anyone have suggestions for measuring pulse rate? I was thinking light based, as the watch is rather tight to my skin.- Any suggestions, comments on this idea?

author: dom0
author_rank: Super Contributor
timestamp: December 12, 2015, 10:41:03 am
content: QuoteThis watch is very popular with watch modders:

author: eHeadB4Bed
author_rank: Newbie
timestamp: December 12, 2015, 01:44:03 pm
content: Some how I don't think those designers will be able to provide input to this project...But seriously, any suggestions? How about which micro to use - it's gotta be small, but have enough I/O for the screen and not consume too much power. Think an AVR will work?

author: Fungus
author_rank: Super Contributor
timestamp: December 12, 2015, 01:48:20 pm
content: Quote from: dom0 on December 12, 2015, 10:41:03 amYou know those pictures are of a bomb timer, right? You're now on the watch list...https://en.wikipedia.org/wiki/Casio_F-91W

author: Lukas
author_rank: Frequent Contributor
timestamp: December 12, 2015, 02:39:25 pm
content: Actually, a friend of mine and I are working on almost exactly this project.It started with a F91-W, but we found out that the display is somewhat 'crippled'. Casio was very clever at saving segments, so they paralled some segments. For example, they connected the A and D segment of 10 minute digit.To interface the LCD, you need a microcontroller with a builtin LCD controller since the LCD panel is a 'bare glass' one without any sort of electronics. We planned to use an MSP430F417. We got the PCB layout almost finished, but then decided that it'd be not worth it, considering that the display is that limited.So we bough a Casio W800 with a much bigger LCD. Unfortunately, the LCD is configured as 5 COMs by 27 segments, so you need MCU with an LCD controller that can drive 5 coms and is available in a QFN64 package. QFN is pretty much the only option you've got, since TQFP is way too large and when these MCUs have BGA packages, they only come with minuscule ball pitch. After searching all common and obscure MCU manufacturers there are only two MCU families left that can drive this LCD: Some PIC24 and some Renesas RL78. We went for the RL78 since they've got better compiler support (supported by GCC, not some obscure proprietary compiler). Right now, I'm evaluating whether the LCD controller of the RL78 can drive the W800 LCD, since the LCD controller only supports 4 MUX and 8 MUX. For this purpose, we made a PCB to interface the bare LCD to an RL78 eval board. See also my thread on renesasrulz:http://renesasrulz.com/renesas_forum_home/rl78/f/26/t/5850.aspxPlanned peripherals to include:- nRF24L01 2.4GHz radio- Compass, maybe accelerometerThe reason for doing all this is that the wrist strap of my ez430 Chronos is disintegrating and I really want to have a somewhat 'smart' watch that runs on a coin cell for a year and doesn't need to be recharged every year.

author: eHeadB4Bed
author_rank: Newbie
timestamp: December 12, 2015, 10:26:23 pm
content: Lukas, thanks for the insight - very helpful.Do you remember/know the configuration of the F-91W LCD? I would really like to continue with the F-91W as I prefer the overall design size (i.e. small wrist syndrome).The heart rate range is from 0 to ~200, so I'll require three 0-9 characters. If the display is wired as you indicated, the three digit grouping (hour, minute, second) should still be able to display my heart rate by using the lowest character in each grouping. I'll just have a weird space between each character, which might help in readability while running.I realized I wasn't being too helpful for casual browsers, so I attached some photos of the PCB and the overall tear down from the aforementioned video.

author: Lukas
author_rank: Frequent Contributor
timestamp: December 13, 2015, 02:21:50 am
content: For the F-91W LCD, see the attached SVG. Open it in inkscape and look for the segment names in the 'object properties' dialog. Some segments have the same name, like DIG2_AD.When looking at the PCB as in your picture and counting from left to right, pads 7,8,9 are the COMs. I traced out which display segment maps to which COM/SEG combination, but I can't find the file right now.

author: timb
author_rank: Super Contributor
timestamp: December 13, 2015, 05:25:19 am
content: Why not just get an eZ430-Chronos from TI? Fully programmable MSP430 on board, plus 915/433MHz wireless, barometer, temp sensor... It's even got a heart rate icon on the LCD!They sell direct from TI for under $50 last time I checked. As a matter of fact, I've got 5 or 6 here, brand new in the box. (One 433MHz unit, the rest are 915Mhz.) If you're interested I'll hook you up.

author: Lukas
author_rank: Frequent Contributor
timestamp: December 13, 2015, 12:06:42 pm
content: I've attached the eagle design files of our project. Component placement is rather critical, since there is this white plastic frame touching the PCB. You'll also have to take care of getting the PCB outline exactly right, because the PCB and plastic frame have to fit very precisely.

author: eHeadB4Bed
author_rank: Newbie
timestamp: December 13, 2015, 04:26:52 pm
content: Quote from: timb on December 13, 2015, 05:25:19 amThanks for the off timb! But truly I like the form factor of the F-91W and I'm hoping to learn a little bit about designing for this project. You know you're really interested when you start to day dream about how to deal with the project.Quote from: Lukas on December 13, 2015, 12:06:42 pmLukas, thanks again - this will definitely kick start my design. I'll attempt to post any updates on the work here.

author: MrSlack
author_rank: Frequent Contributor
timestamp: December 14, 2015, 09:48:56 am
content: As an F91W fan this sounds awesome but I suspect I wouldn't wear it to the airport

author: actuallyjaseg
author_rank: Contributor
timestamp: December 25, 2015, 01:23:53 pm
content: Quote from: Lukas on December 12, 2015, 02:39:25 pmThat sounds interesting.Did you reverse-engineer the W800 LCD segment map yet?As for package sizes, the RL78L12 is available in an unusually small-pitch (0.5mm) LQFP-48. Being still quite a bit higher than the QFN-64 (1.4mm vs. 0.8mm) it might still fit inside the watch case. Including pins, the LQFP has a slightly larger footprint (9mm*9mm) compared to the QFN (8mm*8mm). I would feel comfortable soldering the 0.4mm QFN, but an LQFP (if applicable) would make the project more approachable for someone with just a regular soldering iron.Aside, have you gotten the Renesas toolchain to work? My last memory of working with an (32-bit) Renesas microcontroller is my host GCC hard-crashing while compiling the target gcc.As far as microcontrollers go the Freescale/NXP Cortex-M0-based Kinetis KL33 might be interesting. It's available in .5mm LQFP-64, .5mm QFN-48 and .5mm BGA-64 and has a built-in LCD controller that also supports 1-to-6 multiplexing (as opposed to 1-to-8), thereby improving the duty cycle for the W800 display. From the datasheets it looks as it won't consume significantly more current than the Renesas part. Apart from the improved LCD duty cycle I find the fact that this is an ARM-based controller quite tempting.I think this is a neat project. I'll order a W800 and one of Freescale's admirably cheap dev boards as soon as I'm back home after 32C3.

author: Lukas
author_rank: Frequent Contributor
timestamp: December 25, 2015, 03:35:36 pm
content: I haven't reverse engineered the W800 LCD completly yet, but there aren't any severe limitations like on the F-91W.I've built the RL78 toolchain by literally replacing msp430 with rl78 in the Arch Linux PKGBUILDs. I'll upload the modified PKGBUILDs to the AUR soon. When working with the RL78, I've found the register description in the manual rather confusing. I can't exactly tell why, but the manuals from TI and ST are easier to understand.I spent some more time searching for MCUs and found the MSP430FR4133. Its LCD controller can drive 5-mux LCDs. Although it isn't available in a QFN64 package, the TSSOP56 package fits inside the W800 case as well. I've ordered a eval board for the MSP430FR4133.I've taken a look at the KL33 manual, but couldn't find that it can drive 5-mux LCDs.And see you at the 32C3

author: timofonic
author_rank: Frequent Contributor
timestamp: December 26, 2015, 04:41:44 pm
content: Quote from: eHeadB4Bed on December 13, 2015, 04:26:52 pmI like the classic Casio form factor, but there's severe space limitations.What about MetaWatch?I *need* a smartwatch, but not those that only lasts a day. They are very expensive, no hackable and cumbersome in my opinion.I have ADHD. I need to be remembered about tasks, time schedules, avoid distractions, compensate spatial issues and prevent anxiety.I don't want to hijack your post, so I'll explain about this further in another forum thread.

author: actuallyjaseg
author_rank: Contributor
timestamp: December 28, 2015, 10:53:55 am
content: I don't think the space limitation is that bad. There's plenty space for a microcontroller and a bunch of sensors, and most board houses do .8mm PCBs by now.Personally, I much prefer the thin form factor of the casio watches. I find large watches very distracting.The main limitation for doing higher-level stuff is the limited display. There are a couple of models with alphanumeric dot-matrix areas in their displays (DB-36, DBC-32), but even those can only display three (ASCII) characters at once. Also, the DBC-32 is kind of whacky.I have had a look at metawatch. They look interesting on first glance, but I suspect due to the large LCD and bluetooth their claimed battery life is a meager 7 days. I was more aiming for 5-10 years, and I would not accept anything below 1 year. I suspect that this makes it impossible to use any wireless technology (e.g. bluetooth low-energy) in any sort of continuous operation (it might be possible if you only poll for changes e.g. once a day).@OP re pulse monitoring: This would be possible with optical methods exploiting infrared absorption properties of blood, AFAIK this is done by at least one commercial product. A good candidate for this if you don't want to re-invent the wheel would be an IC such as Maxim's MAX30100. The thing is about 5usd at single quantities and should be small enough to fit inside the watch case looking out through a cutout in the metal back plate.

author: Lukas
author_rank: Frequent Contributor
timestamp: January 08, 2016, 08:50:51 am
content: Bad news: Seems like there is no MCU on the market capable of driving the W800 LCD panel. Turns out that the LCD needs to be driven with 5V to 6V instead of 3V as the MSP430 provides. With the MSP430, contrast is even worse than with the RL78, since the MSP430 doesn't manage to turn on the segments, whereas the RL78 does, with the wrong timing though.RL78: can boost LCD voltage up to 5.2V, but only 1,2,3,4,8 mux.MSP430: only 3.6V LCD voltage, can do 5 muxWondering what display configuration the DB-36 uses, maybe 8-mux?

author: eHeadB4Bed
author_rank: Newbie
timestamp: January 10, 2016, 04:25:04 pm
content: Quote from: actuallyjaseg on December 28, 2015, 10:53:55 amThanks for the heads up on this - I had been looking at the Silicon Labs Si114x, but it did not include LEDs and I wasn't too sure how they could be mounted to the backside of the case with the IC. This adds the LEDs into a package and I can probably run magnet wire / flex cable to the IC. I'll add it to the list of possible pulse rate subsystems.On power:The battery is a CR2016, which has a typical capacity of 90 mAh. Using the heart rate monitoring subsystem will really limit the battery life (~2 mA+ draw), but I think I can sleep the subsystem enough to get a few good uses with a battery. For example, update the heart rate every two seconds and only when the display has the heart rate screen active. As an additional step to save the battery I'm thinking about adding a timer to stop the subsystem if it has been active for more than three (or so) hours.On PCB:I measured the PCB thickness and noticed it is rather thin (about 0.16 mm I think, please correct me if I am wrong). From what I could tell, this means the PCB will fall outside the typical boards offered by PCB services and will be somewhat expensive to manufacturer. Any thoughts on where to go for a two-sided PCB with that thickness?On MCU:I was looking at the MSP430FR6927 - I will have to order a dev. kit and start playing around with the software.On Elastomeric connector (zebra):Don't peel it off of the LCD - it won't stick back on!Thanks for all your help. I'll be working on this pretty slowly, but will update with what I find.

author: Audioguru
author_rank: Super Contributor
timestamp: January 10, 2016, 04:47:54 pm
content: Why do some people like to see their heart rate? The heart rate is automatic so you do not need to know the rate. If you work hard the rate is normally fast and if you rest the rate is normally low.If the rate is not normal then you will feel like you might die soon.

author: Kalvin
author_rank: Super Contributor
timestamp: January 10, 2016, 05:03:54 pm
content: Quote from: Audioguru on January 10, 2016, 04:47:54 pmGotta do something with the selfiesSome people use heart rate monitoring for optimal training and recovery. During the long exercise sessions or competitions the heart rate monitoring is a big bonus as one can perform at the optimal rate without getting exhausted by the lactic acid buildup.For a person with a health concerns the heart rate monitoring could provide valuable feedback in order to limit everyday stress. Also, heart rate monitoring may provide early warning information whether you are having irregular heart beat etc. which can be hazardous without proper medical attention.

author: Lukas
author_rank: Frequent Contributor
timestamp: January 10, 2016, 08:29:13 pm
content: Quote from: eHeadB4Bed on January 10, 2016, 04:25:04 pmThe PCB is .5mm thick, with some sheets of paper I figured out that .6mm should fit as well. Some PCB manufacturers offer .6mm at no extra cost.When displaying heart rate you need to be a bit creative, since the F-91W lcd you have to be a bit creative since some of the main digits are somewhat limited (see my SVG drawing) This was the main point that made me look for other watches.

author: eHeadB4Bed
author_rank: Newbie
timestamp: January 11, 2016, 01:13:36 am
content: Quote from: Lukas on January 10, 2016, 08:29:13 pmThanks for the corrections - I'm not near my calipers/written measurements.On the LCD:I was going to use the least significant digit (LSD) in each grouping (i.e. H - com 1 , M - com 3, S - com 5) to display the heart rate. I only need three digits and will turn off the MSD such that the LSD will be easy to see. I believe this is possible, but I have never worked with LCDs before and thus do not know what I can and cannot control.I imagine you could also do a compass measurement by using the amount of degrees away from north. Would that work for your use case Lukas?

author: Lukas
author_rank: Frequent Contributor
timestamp: February 16, 2016, 06:22:14 pm
content: Bad news again. Since the W800 had a impossible-to-drive display, I ordered the F201.Unfortunately, the F201 is very similar to the W800 and has 5-mux LCD panel that requires 6V as wellThis is rather odd since it 4 COMs would have been enough to address all segments. Maybe they the F201 and W800 are using the same ASIC.The next try might be the DB36.

author: eHeadB4Bed
author_rank: Newbie
timestamp: February 22, 2016, 03:12:46 am
content: And on my front, I'm having issues with TI's code composer studio IDE (CCS, Version: 6.1.2.00015) attempting to update my Launchpad MSP-EXP430FR4133, rev 1.0 and effectively bricking it until I fix it with the energia IDE.My main goal was to gauge the battery life of a simple clock using the built-in power measuring capability of CCS. But CCS will not allow me to free run without the debugger until I update (FYI, debuggers tend to be a large power hog).For anyone interested, the console output error is:Code:"MSP430: Error: MSP-FET / eZ-FET core(communication layer) update failed"When I attempt to recover I get:Code:"MSP430: Error initializing emulator: One of the connected MSP-FETs / eZ-FETs debuggers needs recovery. Select 'Recover' to start the recovery process. Note: Only one MSP-FET / eZ-FET debugger can be connected to your system during recovery.MSP430: Error: MSP-FET / eZ-FET recovery failed"So I go to the engeria IDE and attempt an update, and get:Code:MSPDebug version 0.22 - debugging tool for MSP430 MCUsCopyright (C) 2009-2013 Daniel Beer <dlbeer@gmail.com>This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.MSP430_GetNumberOfUsbIfsMSP430_GetNameOfUsbIfFound FET: HID_FETMSP430_Initialize: HID_FETFET firmware update is required.Starting firmware update (this may take some time)...Initializing bootloader...Programming new firmware...0 percent done34 percent done67 percent done100 percent donetilib: MSP430_VCC: Internal error (error = 68)Update completetilib: device initialization failedDone, finishing...MSP430_VCC: 3000 mVEven though it "fails", I just unplug the Launchpad and re-update to fix the Launchpad.

author: Lukas
author_rank: Frequent Contributor
timestamp: May 20, 2016, 08:04:49 pm
content: Since no other watch has a display that can be driven, I went back to the F-91W:https://github.com/carrotIndustries/pluto