SMA Q3 Smartwatch

Posted on
Page
of 2
/ 2
Next
  • Just a note that I published some technical details of the SMA Q3 smartwatch here: https://hackaday.io/project/175577-hackable-nrf52840-smart-watch

    • nRF52840 (BLE 5, 64MHz, 256kB RAM, 1MB Flash)
    • LPM013M126 sunlight-readable 176x176 8 color LCD, with full touch
    • One button, IP68 waterproof
    • 4MB SPI Flash
    • GPS
    • Accelerometer, Compass, Pressure/Temperature sensor
    • Heart rate sensor

    It's quite an impressive watch, and there is a partially working Espruino build for it as well. It can be a bit tricky to get hold of though, so let me know if there's interest in a group buy.

  • let me know if you're having a group buy! and would it be possible to send the watch along any items we purchase in the espruino shop (with the christmas deal and all)

  • :) Yes, definitely! I'll post up here if I do it, and likely it'd just be through the shop anyway

  • very nice :)

  • Good idea! Has the long range mode been implemented?

  • Has the long range mode been implemented?

    Not yet, but I don't believe it's too hard. Any BLE features that can be negotiated should magically get used already since the softdevice supports it, but long range advertisements/etc will need some tweaks to enable on the nRF52840. I imagine those won't be too far off though

  • This is good news! In this case, I join the group.

  • Cool - many thanks for working on the nRF52840 chip.

    Are updates via DFU possible?

  • Are updates via DFU possible?

    Well, yes, of course. But there are SWD pins on the back :-) And also full 4 pins on usb cable so SWDIO,SWCLK can be taken from middle usb pins. (no, usb does not work)

  • Just few random comments:

    This post was made in "Other Boards / Porting to new Devices" not "Official Espruino Devices" for reasons.

    It is hard to get - over few months seen 2 sellers on aliexpress (with little or no orders), SMA manufacturer still does not fully list it on their site (you can see it from phone in mobile version) and does not sell it in their own aliexpress store. One can only get 'samples' in alibaba store. Official firmware in watch is not ready - buggy, missing features and it is like this already for few months. This may mean this 'product' may even fail and go away without full release (hopefully not)

    For developer who is now e.g. hacking P8 or DK08 watch it is however great option even now. BTW here are some photos of display compared to DK08 in various light conditions https://imgur.com/a/DzYhaIg Display has slightly better white, however in dark with backlight the black is too bright. Also it has only 8 colors.

  • I have been spending some time adapting Bangle applications to the SMAQ3. You can see some of the results in the pictures below.
    The flash memory, magnetometer, barometer and touch now all work reliably and reasonably efficiently thanks to Gordon's work to which I have contributed a few bug fixes. The heart monitor VC31 chip remains a mystery.

    Once you do the initial flash of the watch using the SWD interface, subsequent firmware updates can now be done using bluetooth which is a great convenience as the DFU loader for the NRF52840 seems to be much faster than that used for Espruino on NRF52832 devices.

    When compared with the Bangle, the always on reflective display is great in daylight, but at night, the backlight tends to wash out colours and the Bangle display looks much crisper.

    Battery life is nowhere near as good as the Bangle - I get 4 days and I am sure this can be improved, however, the battery at 175mah is smaller than the Bangle.js battery. It is also worth mentioning that the charging cable attaches very insecurely due to having 4 pogo style pins rather than only two on the Bangle. In fact overall, the SMA Q3 is a much less robust watch than the Bangle.

    The GPS works OK, however, it loses signal in places where the Bangle does not - I think the Bangle has a much better antenna.

    You can see the adapted SMA Q3 apps here together with a version of the firmware necessary to run them.

    Some Bangle Apps will run without modification on the SMA Q3, especially using the standard Espruino build for the SMA Q3 which has simulated buttons. However, most apps need to be modified to deals with the different screen size and limited colour palette and to take full advantage of the touch interface.

    Lastly, the additional RAM on the NRF52840 is liberating - you can run as many widgets as you want:)

    Screenshots

    Some pictures of apps running on the SMAQ3:

    Launcher App

    Launcher App

    Multiclock App - Clock face

    Multiclock App - BMP280 face

    GPS Recorder App - Menu

    GPS Recorder App - Track display

    Note that the red padlock icon means that the screen is locked i.e. touch disabled. On the Bangle this would be display off, however, with an always on display, we simply disable touch to save power. Enabling is controlled by the usual LCD Power On settings e.g. button press.

  • Nice!

    When compared with the Bangle, the always on reflective display is great in daylight, but at night, the backlight tends to wash out colours and the Bangle display looks much crisper.

    Indeed, this is also true for the watch based on the nRF52832 with the same display (working on getting those apart without destroying the display...).

    The GPS works OK, however, it loses signal in places where the Bangle does not - I think the Bangle has a much better antenna.

    No surprise here, since getting the a decent antenna into a case as flat as it is and the metal material it is made from without adverse effect on reception is just hinting that.

    No matter though regarding the shortcomings, it's a great piece of technology.

    Tried to source a SMA 3Q / ID 205 G - with no success though so far.

  • This looks great! Sorry I missed this when you posted last week.

    How painful do you think it'd be to make apps support both devices? My initial feeling based on what you had to change at https://github.com/espruino/BangleApps/compare/master...jeffmer:master is that the apps are pretty much completely different!

    I felt like probably some things might help:

    • remove hard-coded widget band and add a way for apps to get the available draw area - so Q3 can have a smaller widget band
    • add a system-wide theme, so we can have black on white on Q3 (which I feel might look better?)
    • maybe add some 'layout' library folks could use to draw stuff on the screen using maybe just a JS object representing what they wanted on the screen, then port apps over to that

    I did just commit a Bangle.setLCDMode("240x240") which actually seems like a half-decent hack for some apps. I tried it on some clocks and they do seem to work ok - the only issue is it breaks things for E.showMenu/etc because they're still expecting the 3 bit mode!

    About sourcing the Q3: Last time I talked with them (beginning of Feb) it actually seemed like they could ship them properly again, so potentially I could look at getting some in stock here...

  • I have also been thinking of how to have only one version of apps. It should be possible with the a bit of discipline and the ability to detect the capabilities of the underlying hardware - in most cases, I lazily hard coded in new screen coordinates. The screen size and color palette is probably the major issue but there is also the touch interface which it would be nice if apps could exploit. For example, the SMAQ3 version of my desktop style launcher allows you to click on the icon.

    Related to touch, it would be nice to have swipe up and swipe down as well as a click event with x, y coordinates. These are easy to do, however, not sure how best to combine these with the current Bangle event. My version of the firmware implemented these instead of the existing touch events, however, I would prefer to,return to the standard build.

    Having different versions of menu, prompt and message for the SMAQ3 was really flexible and means that you can have touch friendly versions without changing the app at all.

    I got a sample SMAQ3 delivered in 10days, so as you say, it looks like they are now willing to supply the watches. I think a lot of people would be interested in getting an SMAQ3 with Espruino preloaded or at least with the DFU boot loader to avoid having to deal with SWD.

    I tried emailing the VC31 manufacturer requesting a datasheet - sadly no response.

  • Tried out Bangle.setLCDMode("240x240") - it works well although Vector fonts do look - just perceptibly - a little more ragged. I found the simulated buttons to be unresponsive at times and Clock apps tend to stop after a few seconds when they get the lcdPower off event. So - I suppose in general - multi-platform apps will need to query the type of the underlying watch.

  • Thanks - yes, I guess having everything 'just work' was a bit hopeful of me!

    I'll have to have a think then, but I feel like the 'layout' is something that would make this easier if apps needed changing anyway, and would help a lot of people going forward too.

    Strange about the fake button behaviour though.

    In terms of swipe, presumably it's not specifically the single event, but the series of coordinates so you can do scrolling/etc? If so, since the events happen alongside the touch events, maybe we could just extend E.touch with some extra fields that signify if there's a swipe/etc? like:

    E.on('touch', e=> {
      if (e.swipe=="down") // ...
    });
    
  • With regards to Swipe, I have just extended the existing Bangle swipe event to add UP and DOWN. I use the events for navigation - specifically swipe down to look at old notifications - swipe up to return to the clock. These are just gestures recognised by the CST816 touch chip as is “click”. Smooth scrolling is quite ambitious given the display and might it be possible that the stream of touch events makes other activities unresponsive? In fact, in my prototype, I have made the `E.touchˋ event the “click” rather than the stream of touch coordinates as a quick hack. The “click” makes it easy to implement buttons.

  • Hope someone is still checking this thread. I am considering ordering two of these (https://smartcare.en.alibaba.com/product/60602047741-819857284/Special_Memory_Lcd_Smart_Watch_Heart_Rate_Fitness_Wristband_Ios_wholesales_Fitness_Tracker_Touch_Screen_Sleep_Tracker.html?spm=a2700.shop_plgr.41413.10.2f735091VSZpkM), but I'm not 100% sure it's the same device! My questions are:

    • is the link above indeed a Q3?
    • is there a downloadable build for the Q3 or do I have to build it myself?

    I am a long time tech guy, but haven't done a cross-compile in eons.

  • yes, that link is Q3
    as for builds - you need to use SWD to unlock/mass erase it and then load full hex file including softdevice and bootloader over SWD. So getting it built might be easier step than updating it :-)

  • Completely agree! Are you offering ;-) ? Part of me wants to learn the process, and another just would like it "just work". Although I'm also tempted to tweak some code for myself.. I've been dying for some extra Graphics functions (I mainly make watch faces).

  • as for graphics/watchfaces - Q3 has always on 176x176 screen with only 8 fixed colors

    Are you offering ;-)

    not sure what you mean. I do have Q3 and make builds occasionally for myself but at current beta stage it is more practical if you could make a build from the source yourself, and I guess for most people who can handle SWD flashing rebuilding from source is not an issue . In linux or WSL on windows it is quite easy, just get latest toolchain from ARM , checkout espruino repo and follow https://github.com/espruino/Espruino/blob/master/README_Building.md - the provision script for SMAQ3 board should download nordic SDK15 and then just make BOARD=SMAQ3 RELEASE=1

  • I'm pretty sure I can manage that.. it's actually the SWD flashing that I'm not sure about. I know just enough to be dangerous. I'll google it to see what I need. Probably should practice on a cheap nrf board first...

    Thanks!

  • Probably should practice on a cheap nrf board first...

    I'd always suggest just buying an nRF52832DK - you can practice and then you can even wire it up as a programmer to program the watch.

    However I do now have 100 of the SMA Q3 watches here in the UK, and I'm getting ready to put them (pre-programmed, with bootloader) in the shop. I've just been making a few changes recently to try and get the software polished a bit more.

  • Oh, the Q3 will be Bangle V2?

  • YES! Glad to hear it! I will be among the first purchasers. I enjoy tinkering but I sure have a knack for bricking things, so I'll be happy to have it ready to go. I'll watch the site for updates.

    Thank you!

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

SMA Q3 Smartwatch

Posted by Avatar for Gordon @Gordon

Actions