[HN Gopher] Hacking the Timex m851
___________________________________________________________________
Hacking the Timex m851
Author : taviso
Score : 281 points
Date : 2023-09-03 06:09 UTC (16 hours ago)
(HTM) web link (lock.cmpxchg8b.com)
(TXT) w3m dump (lock.cmpxchg8b.com)
| jstanley wrote:
| Very cool.
|
| If you're interested in something with a bit more features, check
| out the Bangle.js[0]. The benefits are you have Bluetooth, GPS,
| accelerometer, vibrator, and a colour screen. The main downside
| is that the battery lasts considerably less than 3 years.
|
| [0] https://banglejs.com/
| vosper wrote:
| For anyone wondering, the battery on the Bangle is claimed to
| be 4 weeks.
|
| > With a sunlight readable always-on screen, 4 week battery
| life, complete flexibility, and complete control of your data,
| Bangle.js 2 is a refreshing break from expensive smart watches.
| forkerenok wrote:
| Can confirm from personal experience: in standby mode with
| infrequent app usage it was clocking a good 4 weeks.
| puzzlingcaptcha wrote:
| I am most impressed by the documentation provided in the
| references. Looks like it was ahead of its time.
| nxobject wrote:
| Credit where credit is due; I can imagine many people here
| right now would want to find the "NINO ALDRIN L. SARMIENTO"
| credited in the changelogs and shake their hand...
| TapamN wrote:
| Fun fact: It's possible to password protect apps using the PC
| software with a two character password (there's no
| encryption, it's just intended to slow down anyone from
| casually examining user data if they happen to find the watch
| unattended). When the DLU boots up, it initializes the
| password variable to "NS".
|
| It doesn't really mean much, since all apps default to
| unprotected on boot, so you can never use it, but it's
| interesting.
| CliffStoll wrote:
| Has anyone informed the original programmer, Nino Sarmiento?
| ck2 wrote:
| Does the Timex m878 have the same core cpu?
|
| Because the m878 has GPS and ANT+ support which makes it
| exponentially more powerful.
| FirmwareBurner wrote:
| I really wish more watches/wearables would be made with these
| 8-bit low-power chips and have exposed data pins to make them
| hackable. 3 years battery life is where it's at for a watch. If I
| have to think about charging my watch is a no-go for me.
| djmips wrote:
| There's a new model that looks the same?
| https://www.timecentershop.gr/ents/timext53722.html
| FirmwareBurner wrote:
| Hardly new, Amazon lists is as discontinued by the manufacturer
| which probably explains why it's tough to find.
| jeroen79 wrote:
| Cool, but its not really hacking if you just use an sdk to write
| code for a platform.
| _joel wrote:
| I think you misunderstand the origin of hacking. It's not about
| breaking into systems, that's cracking. Using an SDK to program
| a watch is definitely hacking on the watch. The media are
| generally to blame for this miscategorisation.
| vbezhenar wrote:
| Using an SDK to program a watch is... programming a watch?
| Otherwise every iOS developer is iPhone hacker?
|
| I'm not an English native speaker, however to me "hack" means
| something not standard. Not necessary cracking, of course,
| but just using SDK to write some software does not sound like
| something very "hacky". Those watches were explicitly
| designed to be extendable.
| _joel wrote:
| Yet here we are on a site called "Hacker News" with the
| current top story being about a consensus algorithm with a
| load of implementations and real world usage, libraries in
| multiple languages.
|
| The original term comes, afaik, from journalists who would
| hack on typewriters, hence hacks.. it's another evolution,
| but I'm not great with etymology.
| GuB-42 wrote:
| The "hacky" part is that he didn't use the official
| "Windows XP-era wizard" development environment.
|
| Instead, he works under Linux with standard Makefiles,
| using wine and calling the compiler directly.
| smcameron wrote:
| When it comes to (mechanical) watches in particular, hacking
| has another meaning: https://en.wikipedia.org/wiki/Hack_watch
| saagarjha wrote:
| One would think the author of the post would be very familiar
| with both uses.
| WithinReason wrote:
| I had this watch about 15 years ago. Among other things I could
| track:
|
| 0. Where my next class is going to be
|
| 1. Store the bus schedule to the bus stops I used
|
| 2. The phase of the moon
|
| Checking the bus schedule on your watch before smartphones looked
| like a James Bond move :)
|
| I wish they still made watches like this, at this power
| consumption you could keep your watch charged from solar power
| indefinitely
| FirmwareBurner wrote:
| _> I had this watch about 15 years ago.[...]Checking the bus
| schedule on your watch before smartphones looked like a James
| Bond move :)_
|
| To be fair, the first iPhone was launched 16 years ago, and
| smartphones that could store a bust schedule have been around
| even before the first iPhone. I would store the bus schedule as
| an SMS draft on my Siemens phone over 20 years ago.
| warning26 wrote:
| The James-Bond-like part is doing it from your _watch_
| specifically. (Consider the various wrist-gadgets found in
| the movies over the years.)
| FirmwareBurner wrote:
| Casio Databank watches had that functionality in the early
| 90s I think (without the USB/IR PC link). Not that James
| Bond for the year 2000.
| psychphysic wrote:
| This does seem nice and even simpler than TI's Ez430-chronos [0].
|
| That said, 3 years on a single battery doesn't seem great of
| course I suppose it depends what apps you use and load..and that
| it's programmable that is cool.
|
| [0] https://www.sparkfun.com/products/retired/10019
| pard68 wrote:
| Battery life is probably relative. I lost one of my Casio F91s
| in 2018. Found it last week while packing for a canoe trip, the
| time and date were within seconds of the Casio F91 on my wrist.
| omershapira wrote:
| This is a reminder that we can, in fact, have Nice Things - if
| there only were a market for Nice Things.
|
| I'd love to have a decently integrated watch with low battery
| usage (and generally low stakes for wearing/replacing) which I
| can also agree with aesthetically. Bums me out that Sensorwatch
| [1] is the best we can do.
|
| [1] https://www.sensorwatch.net
|
| edit: Sensorwatch is amazing, but not an ecosystem (yet).
| aziwa475 wrote:
| Cool. Any idea where to buy these? Thanks
| thih9 wrote:
| > Now that I've told you how much I love this thing - the bad
| news.
|
| > They're long out of production, and getting hard to come by.
|
| > I bought a set of two on eBay, they just needed new batteries
| and were as good as new.
| nxobject wrote:
| Part of the magic is how bonkers frugal the Epson SoC (PN
| S1C88349) is: when running at a low-power mode at 32kHz, it
| consumes an astoundingly low 9 _micro_ amps. [1] How much do you
| think you could get done with a cycle budget of 32k per second?
|
| That, and alongside 48K ROM and 2K RAM, you get 3 timers, a UART,
| and an A/D converter. [1]
| https://global.epson.com/products_and_drivers/semicon/pdf/id...
| ilaksh wrote:
| I found "ROM" to be confusing because I always thought that
| meant you couldn't change it, but they mention swapping
| modifiable data in and out of there. It's actually EEPROM and I
| guess that is a little similar to Flash memory.
| namibj wrote:
| Usually NOR flash. SSDs are usually NAND flash.
| zenolove wrote:
| The [E0C6S46](https://download.epson-
| europe.com/pub/electronics-de/asmic/4...) still powers the 1st
| and 2nd gen Tamagotchi!
|
| 4-bit (!) 32KHz MCU with 6,144 words of 12-bit (!!) ROM, 640
| words of internal 4-bit RAM, and a 160-word 4-bit frame buffer
| for the integrated LCD driver (enough for double-buffering)!
|
| The thing is a beauty! I wrote a Typescript emulator for it, a
| year ago or so, though for whatever reason I haven't pushed it
| to GH yet (but I will if anyone's interested! It can run
| unmodified Tamagotchi firmware.
| triyambakam wrote:
| Wow, I'd love to see the emulator
| hnwizard wrote:
| There's a staggering, mind blowing, astronomical levels of
| bloat and complexity in modern systems, be it SoCs, Operating
| systems or apps.
|
| Many mobile apps nowadays are larger in binary size than whole
| operating systems+applications doing extremely useful work.
|
| It's staggering, scary and, where is this all going? Will
| someone or something put a damper on it? Probably not.
| omneity wrote:
| One of my hopes is that LLM technology can eventually be used
| to fight technical debt and help us clean up the software
| stack.
| hdjjhhvvhga wrote:
| Only if there is an economic incentive to it. Currently,
| there is none. (A cynic in me would say the reverse is true
| at least in Apple ecosystem, as more resource-hungry apps
| push users to upgrade their devices more often.)
|
| Moreover, I'm not sure how much you can gain, actually. You
| can probably get some reduction in app size as far as code
| segment is concerned, but usually most of the space is taken
| up by assets, especially in games, and they're already well
| compressed. So basically we could optimize the last 20% which
| are the hardest to get right.
| ralphc wrote:
| In modern times the argument is the economic incentive is
| to optimize for the developer, not the hardware. Python,
| Node etc. over C.
| adhesive_wombat wrote:
| There's an ultra-low power mode in newer TMS430s, and you can
| use an external ultra-low-power RTC.
|
| From memory, it's under 100nA on paper, including things like
| the power switch leakage. Crazy stuff.
| MrBuddyCasino wrote:
| Do you mean the TI MSP430?
| WithinReason wrote:
| https://en.wikipedia.org/wiki/TI_MSP430
| adhesive_wombat wrote:
| Ugh yes! Don't know why I always get that wrong!
| FirmwareBurner wrote:
| _> Part of the magic is how bonkers frugal the Epson SoC (PN
| S1C88349) _
|
| Would it blow your mind that such ultra-frugal 8-bit parts have
| been available for about 30 years now?
|
| Those Seiko-Epson chips, alongside with EM-Swatch, and OKI-
| Casio chips, were used in all kinds of timekeeping, calculator,
| thermometers, and all kinds of cheap low-power widgets with
| segment LCD displays that need to run years on a single button
| cell.
|
| I have a calculator and a digital fever thermometer(the stick-
| type ones for the armpit or anus) that's over 15 years old,
| also using on one of those Seiko-Epson chips and it's still
| running on the same 1.5v button-cell that it came with, which
| is mind blowing when you factor in the charge decay of the
| lithium cell over time.
| hnwizard wrote:
| You should be reaching the charge decay of that cell more or
| less now. :)
|
| But yes, incredible. These are products made with a lot of
| care, unlike modern counterparts that are just so very lax on
| these things.
| Zeetah wrote:
| In the Arthur and DW ActiMates
| (https://news.ycombinator.com/item?id=36656190), my teammate,
| Craig Ranta, implemented the Real Time Clock using a Microchip
| 12C508 or 12C509. It ran at 32.768 kHz.
|
| Using the microcontroller was advantageous because we could
| implement a custom interface (data and wake up alarm signaling)
| to the main microcontroller, the functionality was exactly what
| we wanted, super low power and very inexpensive.
|
| He had to deal with complications like maintaining the time,
| running the interface, maintaining the alarm, all at the same
| time.
| hnwizard wrote:
| oh well
| 0xEF wrote:
| This comment reads like it was written by one of my high school
| teachers. "You are so capable, you should apply yourself more"
| is really just the worst thing you can say to a person who is
| actually enjoying what they do. What prompts people like you to
| think you have any measurable influence in telling someone to
| do something that _you_ find more useful? Is it a lack of
| talent on your side, or just entitlement?
| TapamN wrote:
| I got one of these for my birthday in 2003, and I'm still using
| it. The Data Link USB "only" has a battery life of about a year.
| The 3-year life Data Link would be the older model, that
| optically received data from a PC by watching light pulses from a
| CRT.
|
| I don't know why he's complaining about the Windows 98/XP PIM
| software. It worked fine, and it's open source
| <https://sourceforge.net/p/datalinkusb/code/HEAD/tree/USBPIM/>.
| It does not work on Windows 10 and later, however. I looked into
| it years ago, and it seemed related to the GUI code (I think it
| used MFC?) and not anything involving watch access. Probably
| fairly easy for someone familiar with Windows dev to fix,
| especially with the source. Edit: Wait, I misread. He was
| complaining about the SDK wizard, not the PIM. Yeah, the wizard
| wasn't great. Also, it was slow since every file assembled had
| several megabytes of headers included.
|
| Having C code running on the watch is nuts. The builtin ROM
| software was written in a high-level assembler (probably for
| size/CPU/power consumption reasons), and the user SDK was a
| regular assembler (I got the impression that back then Epson
| wasn't giving away the better development software, so the best
| that could be included for free with the SDK was the regular
| assembler.) The OS's overlay system and semi-adhoc calling
| convention isn't C friendly. Often, values were passed in
| whatever registers were convenient for the callee, with macros to
| help hide this when possible. EEPROM access functions took
| parameters from global RAM variables.
|
| The SDK documentation was great. 10/10. You could not reasonably
| ask for more. It had many examples, every single header file used
| by Timex, which documented every single function and variable
| (even ones internal to the builtin software), and PDFs describing
| every bit of data going in and out of the watch, from the
| communication protocol to the file formats used by every builtin
| app. The OS used by the watch is impressively clean and easy to
| use for a one-off 8-bit system.
|
| Most development for the watch was shared on a Yahoo Group, which
| is down now, but there are backups somewhere. I manually saved a
| bunch, and I know that people there backed up the messages and
| uploaded them to... I don't remember exactly where, I'd have to
| look it up. I remember running across a post there from the
| EEVBlog guy when looking through old posts. He was asking about
| making a fitness tracking app.
|
| It took me a long time to get around to writing anything for it,
| but I wrote several programs for it around 2013-2015ish. A timer,
| calender, expense tracker, and a viewer for the user tracking
| data (stuff like how many times you've pressed a button, entered
| an app, or had an alarm go off). The SDK had a single DOS program
| as part of the build process (it was something to feed the linker
| some addresses), so I had to rewrite a 32-bit version to get the
| SDK to work on 64-bit Windows 7. I think I later found someone
| else already did that on the Yahoo Group.
| xattt wrote:
| Short of full-blown prototype boards (ESP32 ecosystem) and dev
| environments (Apple ecosystem), are there any modern day
| consumer-facing devices running on an obscure platform that
| also come with a hidden layer of an SDK?
|
| I am thinking of the Cybiko, but that's also contemporary to
| the Timex watch.
| TapamN wrote:
| Ruputer/OnHand PC? Another smartwatch from late 90's/early
| 2000s. The specs were on part with the original Mac, 128KB
| RAM, with 102x64 pixel display and 2MB of flash, but VERY
| sluggish OS and poor battery life (but still better than
| modern smartwatches).
|
| Maybe Palm and Psion devices count? I would exclude WinCE...
| noAnswer wrote:
| Ah yes http://pconhand.com I drooled over it as a teen. But
| the price was to high for me.
| bri3d wrote:
| Garmin watches have an SDK with their own entire goofy
| "Monkey C" language and an entire bytecode VM to run it. It's
| not "hidden" I guess (there's an app store), but neither was
| this Timex one.
|
| https://www.atredis.com/blog/2020/11/4/garmin-
| forerunner-235...
| nxobject wrote:
| Somewhere, a lone programmer in a hardware engineering org
| is having the time of their life.
| saagarjha wrote:
| Not first-party, but calculators?
| brudgers wrote:
| More on the Timex Datalink series
|
| https://en.m.wikipedia.org/wiki/Timex_Datalink
| xattt wrote:
| Why was could it only encore with a CRT and not an LCD? Could
| this be replicated with modern IPS LCDs?
| canucker2016 wrote:
| Also CRT monitors were ubiquitous. consumer LCD monitors
| didn't start appearing until the late 1990s.
|
| It was magical watching a Timex DataLink watch receive data
| (at a really slow data rate though) - short moment in time
| before USB and WiFi appeared.
| robin_reala wrote:
| It's the scanning beam, that LCDs simply don't have. But fear
| not, a single LED will also work and was recently reverse
| engineered: https://lemmy.sdf.org/post/691827
| FirmwareBurner wrote:
| Ironically, I find their older models with optical receivers a
| lot more high-tech than the later USB models.
| Epa095 wrote:
| I guess it's one way? But yes, very cool. I can imagine using
| it with my phone to sync useful stuff directly from my phone
| to the watch without a cable.
| [deleted]
| [deleted]
| [deleted]
| sandreas wrote:
| Well, maybe a more modern approach to a hackable watch is
|
| https://github.com/sharandac/My-TTGO-Watch
|
| I stumbled over this, while I was researching for building my own
| DIY iPod Nano 7G with the LILYGO T5 E-Paper dev board
|
| Product: https://www.aliexpress.com/item/1005002474854718.html
|
| Code-Repo: https://github.com/Xinyuan-LilyGO/LilyGo-T5-Epaper-
| Series
|
| This would be an amazing iPod Nano 7G replacement, if I had more
| time and more skill in arduino stuff ;)
| GaggiX wrote:
| >a single battery can last 3 years! This is a big selling point
| for me, I don't think they're making consumer watches like this
| any more.
|
| Well Casio surely does. Search "Casio MIP display".
___________________________________________________________________
(page generated 2023-09-03 23:01 UTC)