Hacker News new | ask | show | jobs
by cbsks 500 days ago
For watch hackers, there is an alternate PCB with programmable microcontroller available for the F91W https://www.sensorwatch.net/

I got one for Christmas and it has been super fun to hack on. I programmed a new face for mine that displays the current tide level, and next high and low tides.

6 comments

The author is working on a new version with more features: https://www.crowdsupply.com/oddly-specific-objects/sensor-wa...
I’m excited for the replacement LCD. The stock display has a bunch of restrictions on which segments can be active at once https://www.sensorwatch.net/docs/wig/display/
Wow I'm impressed at the developer experience. A reset button, flash with `make install`, woa. I've programmed plenty pro embedded systems that had substantially worse support. Hacky flasher apps, messing around with the power source, definitely no USB connector (on such a small board even). Super cool!
There’s even an emulator that is super helpful when designing new complications https://www.sensorwatch.net/docs/firmware/simulate/focus/

The firmware code quality is good as well. Well documented and easy to extend. It’s clearly a labor of love.

At this point tbf I think this protocol (UF2) that MS collaborated on is the easiest I've seen: https://makecode.com/blog/one-chip-to-flash-them-all.

Just drag and drop, or detect the specific mass storage, or save to location from browser. Super easy.

Which, after checking that Casio mod site...is exactly what they use! So never mind ha ha. But the blog post on UF2 is certainly worth a read; it's just so simple, it's brilliant.

Ironically, something Casio have been struggled with on their fancies G-SHOCK GBX-100 few years ago. Tides were based on database and not cycles and they were always wrong (contrary to the older, more basic, not connected, tides model). I’m a fan of tides G-Shock, I got one and sold it fast unfortunately… maybe the only time Casio disappointed me.

https://www.watchuseek.com/threads/need-help-gbx-100-tide-gr...

Yeah I own this watch and it is infuriatingly almost accurate for my location, but drifts over the course of the moon cycle. I now just use it as indicative but check other sources if I want the exact high and low tide times. It definitely helps solve the main thing I wanted it for though: glanceable sunrise/set, moon cycle and tide strength (as well as approximate highs and low tide).

The app is kind of clunky and I have had issues with the live GPS tracking of activities but as they're not the main reasons I got it, I don't mind too much.

As I read the article this is exactly what I wished the watch could do, and I wondered if there are any around which do it.

I have a free diving watch and always wondered… Why doesn’t it support tides? If even approximately? I wrote a script to check DFO tides once per week and alert me to potentially good diving conditions (cross referenced with the 2 week weather forecast; it’s not super reliable), but I’d love to have a read out of the tide right on my watch.

I guess I could do this with my Apple Watch, but I’m so burned out on that ecosystem.

Garmin Descent series watches have free diving activity profiles and support tides. It kind of "cheats" by downloading tide data from Garmin servers via a Bluetooth connection to your smartphone so it's not doing any tide calculations on the device.

https://www.garmin.com/en-US/p/766516/pn/010-02604-01#specs

I didn't realize you can get these in this price range. Thanks for the heads up!
Casio has a few watches with tide functionality in their G-Shock line. Bit more expensive than the F91W, but still great watches. They’re marketed to surfers, often under the G-LIDE name. Here’s a thread about some of them: https://www.reddit.com/r/gshock/comments/18jpgq5/casio_gshoc...
Too bad it doesn't support the F105, aka "F91 with a usable light".
Casio is phasing out electroluminescent backlighting and going back to a single LED, so I would buy an F105 while you still can. I've heard it said it was to improve battery life and longevity but I've never had a problem with either one.
Before EL they were using incandescent bulbs. So they're going forward to LED.
Ahh! So there is some improvement at least.
If they update F91W to include better backlight, then good riddance. Their newer models (like A700W) have single-LED backlight, and it's excellent (probably better than EL, but I haven't used EL in a while). The watch is very thin too, unlike EL models.
My son has the newer LED model, and the EL looks better. The EL watch is equally thin too.
I fixed this on my A158 (basically a silver F91) by replacing the backlight spreader. Super simple mod and only costs about $12. Granted that's close to the cost of the watch itself.

https://www.etsy.com/listing/1448973768/back-light-spreader-...

Where did you get the data for the tides?
There’s an algorithm you can use to calculate future tides but it’s complex and I wasn’t sure it would even run fast enough on the watch. I gave up after a few hours and ended up generating an array of high/low tide levels and times for the next few years. NOAA has all the tide data you could possibly want, and an api to grab it.

https://tidesandcurrents.noaa.gov/tide_predictions.html

https://api.tidesandcurrents.noaa.gov/api/prod/

Casio do have a tide watch, which presumably uses that algorithm:

https://www.greatwatches.co.uk/collections/men/products/casi...

And this approach actually works for inland waters since NOAA predictions are accounting for geographic effects. (e.g. the tide in Seattle is drastically different in timing and magnitude from the Pacific Coast)
NOAA publishes the harmonic coefficients for each tide station, so if you hard code those constants into your program you should be able to generate accurate tide predictions. I looked into it a bunch before it started to feel less fun and more like “real work”.

https://tidesandcurrents.noaa.gov/about_harmonic_constituent...

Did you publish your simple solution anywhere?
Not yet. I’ll clean it up someday. But not today.
Looking forward! I hope to work on something similar soon too, the API solution seems helpful.