Starfield Collectors Edition watch runs Espruino

Posted on
Page
of 2
/ 2
Next
  • Starfield is the most recent game from Bethesda Game Studios (known for the Elder Scrolls and Fallout series). It is a futuristic space exploration RPG that has received a fair deal of press coverage.

    As part of the collectors edition of the game, Bethesda worked with The Wand Company to produce a replica of the watch your character receives at the very beginning of the game. The watch and collectors edition are shown in this video at the timestamp.

    I bought the collectors edition as I was rather excited for the game and was curious as to what the watch was running. I actually discovered Espruino by watching the firmware update process of the watch. I even bought a Bangle.JS 2 so I could play with Espruino more.

    When connected to the IDE, there is no prompt and typed characters are not echoed but commands are still executed.

    Here is the output of print(process.env)

    {
      "VERSION": "2v18.2174",
      "GIT_COMMIT": "f50bb7b20",
      "BOARD": "DICKENS",
      "RAM": 262144, "FLASH": 1048576, "SPIFLASH": 8388608, "STORAGE": 327680,
      "SERIAL": "xxxxxxxx-xxxxxxxx",
      "CONSOLE": "Bluetooth",
      "MODULES": "Flash,Storage,heatshrink,locale",
      "EXPTR": 566328, "APP_RAM_BASE": 536882880
    }
    

    I rather like the watch hardware, 4 buttons and a circular 240x240 screen with 16-bit color. Accelerometer, magnetometer, temperature, pressure sensors and a vibration motor just like the Bangle, although no GPS or touchscreen. It also has 2 (not 4) pogo pins on the back for charging. I am unsure if it a completely custom board or if it is repurposed with a custom shell.

    FCC Registration

    If anyone has any suggestions I would be glad to run commands on it to learn about its hardware, as well as back up as much of the original firmware and files as I can. But I would prefer not to modify any of the storage to keep it as close to original as possible.


    1 Attachment

    • chronomark.jpg
  • Oh, so that's the mystery watch we have in Espruino tree already for 2 years!

    https://github.com/espruino/Espruino/blo­b/master/boards/DICKENS.py

    Thanks for the FCC ID link, there is also user manual there describing some features of the watch.

    Some people in comments there don't like the watch (no hr sensor :-), let's hope it will be available on ebay.

    EDIT: many of them are already available but so far for pretty insane prices https://www.ebay.com/itm/266401866971

  • Yes unfortunately this specific watch is a collectors item.

    But I still can't tell if the "DICKENS" board was custom-made by The Wand Company for this collectors edition or no. It is attributed to them in the FCC listing which makes me think is is but I'm not 100% sure how these things work.

  • I don't know but I just guess that it is custom made in a sense that they decided how the watch should look and then contracted some smartwatch manufacturer to make it. I am guessing mainly because it does not have HR sensor nor touchscreen and has so many buttons, it looks like watch you can operate in space suit :-)

    BTW, there is a marking on PCB so someone called RICHTECHIE designed this RT-H120D board , googled and found this video https://www.youtube.com/watch?v=VPVwuRLb­FrI


    1 Attachment

    • pcb.PNG
  • Very interesting! I don't know how I completely missed that writing. The initial announcement for Starfield was some time in 2018, so it's likely this board was made specifically for this device.

  • Hi! Great news you managed to find out it's based on Espruino! I've been working with the Wand company on the watch firmware - but unfortunately Bethesda have been very keen on keeping things secret so I haven't been able to say anything so far.

    The firmware is based on DICKENS.py however it's a bit out of date - we have a private branch with some changes on that aren't public, so you wouldn't be able to build exactly the same firmware. I would strongly advise against trying to run anything built from the Espruino repo on the Chronomark watch at the moment.

    I'll see about getting some more of that pulled back into the public domain, but the watch uses some font bitmaps that we may not legality be allowed to distribute for free, so there may not ever be a 100% full source available.

    I should add though that the Wand Company have been awesome here at supporting Espruino as an Open Source project, and many of the features Bangle.js users are enjoying (ANCS, AMS, UTF8, soon Pebble-style fonts) exist because they were willing to pay for their development.

    As far as I'm aware the watch PCB was based on another watch initially, but has had some modifications for the Wand company.

    There's no response from the firmware because echo is set to off by the boot code. If you do echo(1) it'll turn back on, or configure the settings with:
    require('Storage').writeJSON('setting.js­on', Object.assign(require('Storage').readJSO­N('setting.json',1)||{},{log:0,echo:1}))­ so it's always on.

    While the watch itself runs code specifically to make it look like it's from Starfield, there is the possibility of running other 'apps' on it if they were made in the right way, and potentially with a bit of tweaking even some of the stuff from https://banglejs.com/apps/ might work on it

  • i might as well through my hat into this ring, for the past few weeks ive been trying to RE this watch focusing on the firmware for a while, just to find out its espruino.......

    Now im trying to add a HR sensor to mine.... This should be very very possible. Im down to one of two ways to get it added, its to either find the watch this one is based on which would have the HRM sensor and the likes. or to add it in from scratch and simply use i2c to interface it. There is a spare unused connector on the pcb for the starfield watch which i believe was supposed to be used for the hrm sensor and could potentially have been used for NFC given its connection to those pins.

    I would love to know more about the ancestry of the watch and i have a sneaking suspicion that the GW32 smart watch which is NRF52840 based can be a strong candidate since they are similar in some ways. My plan is to either buy one or find someone with one

  • LMAO 5 minutes later update, looking through the board file for the GW32 found here

    https://github.com/jeffmer/Espruino/blob­/master/boards/GW32.py

    The pins that are suspiciously missing from the Dickens board are present here doing exactly what I thought they'd be for pins 30 and 31 for the analog inputs of the HRM and pins 9 and 10 for the NFC coil which is a native part of the NRF52840 chip on those pins

    From this i can 100% say that with 80% accuracy the GW32 is the watch that the LPV6/dickens/starfield/constellation/bet­hesda watch is based on

  • That's great! @jeffmer I guess you have this watch as it's in your repository? I don't suppose you have any pictures of the PCB do you?

  • I will look for in my photos. I am afraid that I have gifted both the GW32 watches I had. @fanoush may have a picture as I am sure he has one.

    Found this one due to @yngv126399:


    1 Attachment

    • D49F2BEE-C17E-4AA9-AB6E-9E29DCDFEACC.jpeg
  • Im lookin through the GW32.py and it seems that if pins are shown under the def get_pins(): area are they unused? or simply available to be used by apps?

    i2c is pins 9 and 10 on dickens (available on the supposed HRM header) but on the GW32 the i2c is on pins 3 and 47. I cant imagine the difference matters much. At some point these NRF52840 watches are starting to meld together in a bunch of ways. If we can confirm that the GW32 watch has the 3 and 47 pins on the HRM header then itll be more obvious that it was derived from the GW32.

    In the Dickens.py the package is shown as QFN48 but its actually the aQFN73

    I took a look at the G5 Smart Watch .js and .py file here

    https://github.com/jeffmer/WatchApps/blo­b/master/apps/main-g5/main-g5.js
    https://github.com/jeffmer/Espruino/blob­/master/boards/G5.py

    This watch seems like a far more likely candidate for the dickens parent. It has the i2c on pins 9 and 10 and 8MB of external flash like on the dickens the only difference being it uses a higher resolution display. The G5 also has some pre-exisitng multiface code which could have been used for the multifaces on the starfield watch but that may be a stretch.

    So along with the GW32 do you have any photos for the G5 watch PCB @jeffmer?

  • I have GW32 - one with back cover removed and one still new in a box never used. I don't remember removing the PCB, maybe swd pins are available without doing this (already forgot, some watches have swd under display), also @yngv126399 may have photos as he definitely took one apart(?)

    However GW32 has only one button so I think it is unlikely it is directly related to this watch. There are tons of round watches like this.

    EDIT: here are photos of GW32
    https://cdn.discordapp.com/attachments/9­16338756993310770/940619488112562176/202­20208_094243.jpg
    https://cdn.discordapp.com/attachments/9­16338756993310770/940620267883991040/202­20208_094730.jpg
    made by @yngv126399

  • This watch seems like a far more likely candidate for the dickens parent. It has the i2c on pins 9 and 10 and 8MB of external flash like on the dickens the only difference being it uses a higher resolution display.

    Oh, I am afraid this sounds more like wishful thinking . The design may be similar in some parts but it may not mean that much, there are not that many ways how you could do it.

    And BTW G5 also has additional 16MB SPI flash so there are two SPI flash chips.

  • @Gordon do you think there is much of a chance that the dickens watch was more original then we thought? like a little bit from A, a little bit from B and C and so on until they got to where they wanted.

    It may just be a case of there is no original watch. Since you could draw a load of parallels between a lot of these watches without much of an issue, like it even has similarities with the bangle.js2. Richtechie have done another watch before the HPlus watch from 2016. Its not similar to the dickens watch but it shows they've done watches before. So it is possible that either richtechie did the schematic and PCB or that the wand company did both and Richtechie manufactured it or whatever.

    I don't think the button count has any bearing on the watches origin since adding it wouldn't be at all difficult. The gw32 has the HRM connector that is the same as the one on the bangle.js2 and probably a couple other watches. With no clear original watch. My plan is to just add the HRM sensor to the dickens watch but ill love to know as much as there is to know about the origins of the dickens watch.

    I should be able to have a javascript app access i2c without having to do anything fancy so I can defo do this project. It shouldnt be too difficult to add an app specific to the starfield watch so.

  • Thanks @fanoush! Unfortunately that PCB looks quite different. I'm reasonably sure that the code on the PCB (RT-H120D) is pretty much the same on this other watch (maybe it'd RT-H120 or something like that).

    do you think there is much of a chance that the dickens watch was more original then we thought?

    As far as I'm aware, it's not really. I think it was a standard-ish board (that maybe had some slight mods because of the component shortage) and probably a custom flex PCB for the buttons.

    But that probably doesn't matter - I think Richtechie re-use a lot of designs, so all you really need is a Richtechie-based watch with a heart rate monitor, and they will likely gave used a flex PCB for the HRM with the same FPC connector, and then you could work from there.

    I know DT No. 1 (who made the original Bangle.js 1) did use Richtechie boards (the Bangle.js 1 was one of them) so I guess they might be a good place to start?

    In the Dickens.py the package is shown as QFN48 but its actually the aQFN73

    I wouldn't put any weight on that - that field isn't used for anything other that board docs so it likely wasn't updated.

    I should be able to have a javascript app access i2c without having to do anything fancy so I can defo do this project.

    Yes, absolutely - really all you need is two spare pins for I2C and you'll be fine

  • Is there a place i can find the source for bangle functions? Like there is a bangle.health() function along with bangle.getcompass() and similar but i cant find out what i2c address it uses and get more of an idea on the workings of the function.

    Its probaboy more obvious then i thought but ive not been able to easily find it. This way i may be abke to use the prexisting pins 9 and 10 i2c. Also on a similar note how did you know what went to the hrm header? Did you trace it out the pcb or was it provided to you?

    If richtechie did a bunch of these chances are the hrm header is identical across any of the watches that has it, probably only with varying digital pin assignment but otherwise same power and gnd rails. I noticed in the bangle.js2 the hrm header looks identical with the same two shorted pins in a corner

  • photos for the G5 watch

    the PCB is quite small, best shot probably here https://twitter.com/atc1441/status/14359­35831018151943
    or here https://twitter.com/atc1441/status/14366­92240563384328
    my photo here https://ibb.co/album/sKkB9v (not much there)

    Not that it matters much but G5 actually is a richtechie watch as it uses HPlus app which is named com.richtechie.hplus

    EDIT: just noticed the flex cable on G5 next to battery on https://ibb.co/ThVR4Gk has markings RT-H120C-G5

  • Thanks @fanoush those photos are really helpful. That G5 PCB looks really neat!

    It's obviously very different but just to point out, it's Richtechie, and it does have a 10 pin FPC for the heart rate sensor - so maybe if you're lucky the pinouts might work

    it uses HPlus app which is named com.richtechie.hplus

    Ahh, so if you google for a 240x240 round watch using the hplus app you might start to find some things.

  • i think that pretty much proves that the starfield watch comes after the G5 watch the back of the starfield watch has RT-H120D and the G5 not only is it richtechie but the model number is.....

    RT-H120C

    so as long as the chinese know the latin alphabet fairly well that makes the connection pretty obvious

  • Yeah, might be this HR sensor connector is the same. Too bad G5 is hard to get now and was always a bit more expensive than others. OTOH it is very fine watch, the screen is really great - high resolution, OLED, and has always on mode so personally I wouldn't sacrifice G5 to 'improve' this watch. I think it is good as it is even without HR sensor. Actually I consider HR sensor on a watch as something completely useless but it is great it kickstarted this trend of cheap smartwatches :-)

    And BTW if you would add HR sensor hardware to Dickens you would need also the software for that sensor to get something moderately useful.


    1 Attachment

    • g5-dickens.jpg
  • The second photo there is highlighting the button connector not the hrm connector. The green connector isn't populated on the starfield watch.

    The plan now is to either recreate or make an original hrm sensor setup which shouldnt be hard. The code will be modified from the bethesda clock app since i will need to replace the pedometer with an oxygen sensor

  • for anyone interested, all my info on the GW32:

    https://github.com/yngv27/EWatches/tree/­main/GW32

  • guys, you people so kind to port them to many boards,

    1. but howcome you people didn't more officially port to pinetime?
      pinetime is more popular so influence more people, also if someone buy thru
      pinetime, so far there is NO variant. so that people wont end up with a p8b-mirror which is troublsome like me.

    2.
    i read that fanoush did have a p8 port and seems eucwatch/atcwatch did mentioned could install on pinetime, but for such a large user base i will suggest make it more clear.

    3.
    yeah, i am well aware that pinetime = p8+/- something.

    thank you.

    for me, previously i wish to have espruino run on pinetime, to save money.

    but after i found bangle v2 have always on display, i have ordered a bangle v2, and wish to have espruino run on pinetime/p8 as a spare for me.

    i myself will try to instal you ppl's port on p8b-mirror later. thx

  • this one:
    https://github.com/enaon/eucWatch
    line: Espruino Installation on P8 - P22A/B/C/D/B1/C1 - pinetime how-to

    i followed thru for my p8b-mirror,
    although the screen is mirrored, i could connect to it and install apps from the jeffmer app store. thx

    ps, someone on TG suggested me to install some boot loader, claim i could switch back to wasp os; but after i flashed micropython.zip, the p8b-mir is completely bricked. i am buying those SWD tools and they are only on the way.
    thx

  • but howcome you people didn't more officially port to pinetime?
    pinetime is more popular so influence more people

    It is quite simple, we were hacking those nrf52 watches before Pinetime came. It may even be that Pinetime guys noticed our effort and picked another DaFit watch for themselves (Pinetime is a DaFit watch, first versions even came with stock DaFit firmware MOY-TBH5-1.7.8 ), or it was simply a coincidence. Anyway, I never got a Pinetime since it was quite a bit more expensive and harder to get for me than P8 and I already had far too many other watches so why to get another P8 variant. Maybe they are popular now but they still stick to the first 52382 based version and there are better and cheaper 52840 based watches now. I wonder why they did not introduce Pinetime 2 based on Magic3/QY03/Rock or anything else 52840 based from DaFit. There were some rumors long time ago about 52840 based version 2 but they probably abandoned it - probably to not to fragment community and maybe also because for C based firmware 52832 is good enough. And BTW this is topic about Starfield Watch / Dickens so maybe it is better to continue in some of your other conversations here.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Starfield Collectors Edition watch runs Espruino

Posted by Avatar for user156416 @user156416

Actions