Jump to content

Smart watches.


Recommended Posts

17 minutes ago, Pickelhaupt said:

I will play around a bit with colored corners, the shape is a bit odd though :) so let's see what I can do, might resort to bitmaps :)

Will tell you when I get it. Btw, do you know if any of rhe nrf watches with larger/round/oled displays are hackable as well?

 

many, with the work of atc1441, all dafit made watches that have the NRF inside are over the air hackable, no need to open them up. 

He was working on that one, an nrf52840, a new gen fast cpu, round oled screen 360x360 but he stopped. 

There are others though, and the search for the "Perfect Smartwatch tm" is on for him, so in the future we will have a better one than the p8. But for now, for ~$15, the p8 is unbeatable. 

 

come to this channel,

https://discord.gg/r7hzRD2

and watch this one as well

https://gitter.im/nRF51822-Arduino-Mbed-smart-watch/Lobby

fanoush and atc1441 are very helpfull and are doing amazing work. 

 

Edited by enaon
  • Like 1
Link to comment
Share on other sites

2 hours ago, mike_bike_kite said:

 

I like the simple dashboard but would never look at the full dashboard as I'd never be able to read it while riding. I'd also say the info bar at the top is pointless and harms the simplicity of what you're trying to show. Not sure why I need to be told battery % twice on the same screen. I know I'm getting on a bit but I'm fairly sure I can remember what wheel I'm riding. The time might be useful but in that tiny font I could never read it.

Hopefully final mockup :)

preview

  • Like 1
Link to comment
Share on other sites

Can't wait. Do you have a list of features that you'll aim to add and an order in which to add them? I assume getting it working with other wheels should be a fairly high priority - if you give me some pointers than I'm happy to add the 16S. Will turning on/off lights/horn and haptic feedback on alerts come before the full dashboard? My watch isn't arriving till mid Oct so I'll be able to test it all then.

Link to comment
Share on other sites

28 minutes ago, mike_bike_kite said:

Can't wait. Do you have a list of features that you'll aim to add and an order in which to add them? I assume getting it working with other wheels should be a fairly high priority - if you give me some pointers than I'm happy to add the 16S. Will turning on/off lights/horn and haptic feedback on alerts come before the full dashboard? My watch isn't arriving till mid Oct so I'll be able to test it all then.

It should work with the 16S with no modifications as the protocol is the same as for the 14D, even the battery voltage is the same. Other KS models should also work, only difference is that some models have an 84v battery and need a modified battery algo. I will make both dashboards first and plan to add haptic feedback as well. Will probably add gestures for lights/horn a bit later.

  • Like 1
Link to comment
Share on other sites

3 hours ago, enaon said:

many, with the work of atc1441, all dafit made watches that have the NRF inside are over the air hackable, no need to open them up. 

He was working on that one, an nrf52840, a new gen fast cpu, round oled screen 360x360 but he stopped. 

There are others though, and the search for the "Perfect Smartwatch tm" is on for him, so in the future we will have a better one than the p8. But for now, for ~$15, the p8 is unbeatable. 

 

come to this channel,

https://discord.gg/r7hzRD2

and watch this one as well

https://gitter.im/nRF51822-Arduino-Mbed-smart-watch/Lobby

fanoush and atc1441 are very helpfull and are doing amazing work. 

 

Thanks, I joined the Discord server, lots of useful info. I'll play around a bit with the P8 before I start looking at other watches. The one you linked to looks interesting though and the nrf52840 has got a bit more memory too. Should be enough for a decent frame buffer. and the round screen would make a very nice dashboard. Pity it's not oled or transreflective but I guess you cannot get everything for $30 :)

Link to comment
Share on other sites

On 9/15/2020 at 4:35 PM, Pickelhaupt said:

Just bought my first wheel and had a ttgo t-watch that I got a while ago. They are very cheap and can be programmed with the Arduino IDE, I think you could get one for around $25. Since it has Bluetooth  I thought I might try to see if I could use it as an EUC dashboard. After some research and coding I managed to build a working prototype, it's still quite rudimentary and only supports my KingSong wheel without tweaking. I uploaded it to GitHub in case anyone want to have a look or poke around.

My watch arrived earlier than expected! It's now fully charge and showing me the time in China! Is there a simple guide anywhere on :

  • How to load your software onto the watch. I've downloaded the Arduino IDE but not sure what to do next.
  • How to I set the time to GMT?

A quick 5 min review of the watch is that it looks fairly decent, the display is quite good and easily readable in sunlight. The proprietary strap looks OK but is the same length as any watch strap so won't go round wrist guards. The software it comes with looks very very very basic. The main thing though is it only costs around £20 and it's fully programmable.

Link to comment
Share on other sites

40 minutes ago, mike_bike_kite said:

The proprietary strap looks OK but is the same length as any watch strap so won't go round wrist guards. 

be carefull with the strap, the top one has the antenna inside. 

I insist though, the esp32 is no wearable platform, the BLE part of it is a joke, it has no real sleep features, it is not BLE. 
NRF52832 is excellent for an euc dashboard on the other hand, I urge all to try it out, same arduino enviroment and all. 

Edited by enaon
Link to comment
Share on other sites

On 9/22/2020 at 6:21 PM, Pickelhaupt said:

The one you linked to looks interesting though and the nrf52840 has got a bit more memory too. Should be enough for a decent frame buffer. 

The pallete tricks I am doing are because espruino and the inline c driver I use for the 8 bit screen. In adruino those issues are not there, you have full collor support with atc1441 adruino firmware, and lvgl. 

 

https://streamable.com/r2olfp

 

Edited by enaon
Link to comment
Share on other sites

37 minutes ago, enaon said:

be carefull with the strap, the top one has the antenna inside. 

Thanks, I'll not remove it then. Is it a Wifi antenna or is it for Bluetooth?

37 minutes ago, enaon said:

I insist though, the esp32 is no wearable platform, the BLE part of it is a joke, it has no real sleep features, it is not BLE. 
NRF52832 is excellent for an euc dashboard on the other hand, I urge all to try it out, same arduino enviroment and all. 

I'll admit your comments do sound "a little" biased. In your video it showed the display as almost unreadable on my watch but, if you don't have the display brightness on it's lowest setting, then you'll find it's quite bright. It does have sleep features controlled by i2c. The old version of the watch with a 180maH battery could last 20 days in standby and the new version has a 350mah battery. Having low power bluetooth (BLE) would obviously be better though. 

Link to comment
Share on other sites

27 minutes ago, mike_bike_kite said:

Thanks, I'll not remove it then. Is it a Wifi antenna or is it for Bluetooth?

I'll admit your comments do sound "a little" biased. In your video it showed the display as almost unreadable on my watch but, if you don't have the display brightness on it's lowest setting, then you'll find it's quite bright. It does have sleep features controlled by i2c. The old version of the watch with a 180maH battery could last 20 days in standby and the new version has a 350mah battery. Having low power bluetooth (BLE) would obviously be better though. 

I think it is both, you can remove it, you have to take the backcover out first. 

I am not biased, I love the esp32, I have many projects on it. :)

20 days standby with the ESP32 is a nice joke, 3 days with the large battery would be what to expect, and that is with BT off and waiking in a loop, the BT is not BLE, it cannot be alive, or those 3 days will become 5 hours. 

I think I havent uploaded a video of the t-watch,  I know that the screen is not bad, it is the ESP32 as a wearable platform that I am questioning, especially since the NRF is an option. 

But any platform is better than no platform, so don't let me spoil your fun, I am only trying to help, if I am overdoing it , I am sorry :)

Edited by enaon
Link to comment
Share on other sites

@PickelhauptI've got the watch connected to my Windows 10 PC. I'm running the Arduino IDE. I've loaded the 3 necessary libraries from github. Loaded the zips & then the libraries into the sketch. Then I load your zip from github and I get the following error "

Quote

 

Arduino: 1.8.13 (Windows 10), Board: "TTGO T-Watch, Enabled, Default (2 x 6.5 MB app, 3.6 MB SPIFFS), 2000000, None"

Specified folder/zip file does not contain a valid library
Specified folder/zip file does not contain a valid library


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

 

I haven't edited any files. I don't think I have a config.h file either. Just not sure what to do at this point. Any ideas?

Link to comment
Share on other sites

On 9/24/2020 at 10:36 PM, mike_bike_kite said:

My watch arrived earlier than expected! It's now fully charge and showing me the time in China! Is there a simple guide anywhere on :

  • How to load your software onto the watch. I've downloaded the Arduino IDE but not sure what to do next.
  • How to I set the time to GMT?
On 9/25/2020 at 6:36 AM, mike_bike_kite said:

@PickelhauptI've got the watch connected to my Windows 10 PC. I'm running the Arduino IDE. I've loaded the 3 necessary libraries from github. Loaded the zips & then the libraries into the sketch. Then I load your zip from github and I get the following error "

I haven't edited any files. I don't think I have a config.h file either. Just not sure what to do at this point. Any ideas?

Nice,

I know my instructions ion the Github page are not that good :) I'll try to explain it a bit better.

Did do you have the ESP32 board library loaded in the Arduino IDE? If not:

1.
File->preferences:

Quite far down there is a text box called "Additional Boards Manager URLs"
Add https://dl.espressif.com/dl/package_esp32_index.json to the box and  hit OK

2.
Tools->Board->Boards Manager
Search for ESP32 and install the latest version.

Now the IDE is set up for ESP32 and you can add the t-watch library. It also contains some examples you could play around with

https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library

Download the zip and add as a library:
Sketch->Include library->Add .ZIP Library

Now you need to edit a config file :) (this is only needed for the version currently on github)
If you are running windows 10, the libraries are probably in Documents\Arduino\libraries
go to TTGO_TWatch_Library-master\src

There should be a file called lv_conf in there edit it so the font section looks like this:

#define LV_FONT_MONTSERRAT_12    0
#define LV_FONT_MONTSERRAT_14    1
#define LV_FONT_MONTSERRAT_16    1
#define LV_FONT_MONTSERRAT_18    1
#define LV_FONT_MONTSERRAT_20    0
#define LV_FONT_MONTSERRAT_22    1
#define LV_FONT_MONTSERRAT_24    0
#define LV_FONT_MONTSERRAT_26    1
#define LV_FONT_MONTSERRAT_28    1
#define LV_FONT_MONTSERRAT_30    0
#define LV_FONT_MONTSERRAT_32    1
#define LV_FONT_MONTSERRAT_34    0
#define LV_FONT_MONTSERRAT_36    1
#define LV_FONT_MONTSERRAT_38    1
#define LV_FONT_MONTSERRAT_40    0
#define LV_FONT_MONTSERRAT_42    0
#define LV_FONT_MONTSERRAT_44    0
#define LV_FONT_MONTSERRAT_46    0
#define LV_FONT_MONTSERRAT_48    1

Now you can open my sketch EUC-Dash-ESP32.ino with Arduino and compile it

Just extract the single file EUC-Dash-ESP32.ino.

Hope this helps

 

 

Edited by Pickelhaupt
  • Like 1
Link to comment
Share on other sites

On 9/25/2020 at 6:36 AM, mike_bike_kite said:

@PickelhauptI've got the watch connected to my Windows 10 PC. I'm running the Arduino IDE. I've loaded the 3 necessary libraries from github. Loaded the zips & then the libraries into the sketch. Then I load your zip from github and I get the following error "

I haven't edited any files. I don't think I have a config.h file either. Just not sure what to do at this point. Any ideas?

I have uploaded a new test version, it's still quite rough and probably buggy but it's got the new dashboard (only one test version at the moment), a time display when not connected to the wheel, power saving features and accelerometer based wake up. Thought I might just upload my test version for you to test.

There are still many missing features:

  • Haptic feedback
  • Multiple displays
  • Automatic wheel identification
  • Settings
  • Touch gestures
  • Some Dashboard functions
  • General stability and robustness

If you download the repository again, there is a directory called EUCDash-test which contain all the files. Read the readme.md in that directory for instructions on how to upgrade LVGL for the T-watch library

A couple of images, the colours are way off though. Looks very different in real life.

previewpreview

Link to comment
Share on other sites

I managed to load the batman clock onto the watch fine but unfortunately I'm still having issues with your library. I get the error:

Arduino: 1.8.13 (Windows 10), Board: "TTGO T-Watch, Enabled, Default (2 x 6.5 MB app, 3.6 MB SPIFFS), 2000000, None"

Specified folder/zip file does not contain a valid library
Specified folder/zip file does not contain a valid library


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I've added the 3 libraries you say are needed and then try to add your library using the sketch > library > load zip  option.

The code I have on screen looks like this before I try to load your zip:

#include <lvgl.h>

#include <*>

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>


void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

  • Like 1
Link to comment
Share on other sites

6 hours ago, mike_bike_kite said:

I managed to load the batman clock onto the watch fine but unfortunately I'm still having issues with your library. I get the error:

Arduino: 1.8.13 (Windows 10), Board: "TTGO T-Watch, Enabled, Default (2 x 6.5 MB app, 3.6 MB SPIFFS), 2000000, None"

Specified folder/zip file does not contain a valid library
Specified folder/zip file does not contain a valid library


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I've added the 3 libraries you say are needed and then try to add your library using the sketch > library > load zip  option.

The code I have on screen looks like this before I try to load your zip:

#include <lvgl.h>

#include <*>

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>


void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

My code is not a library, Just unzip it and and open the EUCDash-test\EUCDash-test.ino file with the Arduino IDE.

 

  • Like 1
Link to comment
Share on other sites

8 hours ago, Pickelhaupt said:

My code is not a library, Just unzip it and and open the EUCDash-test\EUCDash-test.ino file with the Arduino IDE.

Sorry, I'm a newb at this :)

This time the code compiled fine but the screen just remain grey after the hard reset from the IDE.

I tried restarting the watch. I held it near my EUC and far from it but it still remained grey.

I looked at your code (which is very readable by the way) and saw that the BLEScan library is commented out - would that be an issue?

I also wondered if I'd lost the fonts that you mentioned earlier but when I looked in the file you mentioned my changes are there and the old font settings are commented out.

Just tried it again and it's working perfectly this time! I suspect it's because I need to start the watch after the EUC is up and running.

Congratulations on successfully releasing your project!!!

Now eagerly awaiting the easy to read simple dial - I suspect that circular battery meter might be a pain to display.

Mike

 

 

Edited by mike_bike_kite
Link to comment
Share on other sites

8 hours ago, mike_bike_kite said:

Sorry, I'm a newb at this :)

This time the code compiled fine but the screen just remain grey after the hard reset from the IDE.

I tried restarting the watch. I held it near my EUC and far from it but it still remained grey.

I looked at your code (which is very readable by the way) and saw that the BLEScan library is commented out - would that be an issue?

I also wondered if I'd lost the fonts that you mentioned earlier but when I looked in the file you mentioned my changes are there and the old font settings are commented out.

Just tried it again and it's working perfectly this time! I suspect it's because I need to start the watch after the EUC is up and running.

Congratulations on successfully releasing your project!!!

Now eagerly awaiting the easy to read simple dial - I suspect that circular battery meter might be a pain to display.

Mike

 

Cool, try the new version, I have added some new stuff in the Github repository. It's got the new dashbord (at the moment a hybrid between the full and the simple dash) Have a look:

https://github.com/Pickelhaupt/EUC-Dash-ESP32

Also, the new version should work even if the wheel is off when starting the watch.

Edited by Pickelhaupt
Link to comment
Share on other sites

New version is excellent! Connected well with the wheel and the info was readable while I was riding along. One interesting thing I found out was that I thought I'd reduced the max speed on my wheel to give myself a little safety but it turned out I must of imagined doing this as it turns out my cruising speed is just under the beep at 34kph. Ooops.

The new display is very good though, personally, I'd still prefer a larger font for the speed. I'd also prefer a larger (thicker?) graphic for the battery as that's the only other thing I'm interested in - I know you have a % number as well but it seems wrong somehow to show the battery as a graphic and as a number when screen real estate is so tight. I'd suggest giving the user an option to display an optional number if they want and otherwise the screen could be used for a larger speed readout. That optional number could turn into the warning info in red with a vibration alert if the rider needs to be made aware of anything.

I also need to find a youtube video for how to put on the watch strap - either there's a knack or I'll have to remove the strap and put velcro on the back and just stick it onto my wrist pad (which I think I'd prefer). Do you know if the strap is an antenna as enaon said, I can't find any info on this - I don't mind losing a wifi antenna but obviously, if it's for bluetooth, then I can't remove it.

  • Like 1
Link to comment
Share on other sites

9 minutes ago, mike_bike_kite said:

New version is excellent! Connected well with the wheel and the info was readable while I was riding along. One interesting thing I found out was that I thought I'd reduced the max speed on my wheel to give myself a little safety but it turned out I must of imagined doing this as it turns out my cruising speed is just under the beep at 34kph. Ooops.

The new display is very good though, personally, I'd still prefer a larger font for the speed. I'd also prefer a larger (thicker?) graphic for the battery as that's the only other thing I'm interested in - I know you have a % number as well but it seems wrong somehow to show the battery as a graphic and as a number when screen real estate is so tight. I'd suggest giving the user an option to display an optional number if they want and otherwise the screen could be used for a larger speed readout. That optional number could turn into the warning info in red with a vibration alert if the rider needs to be made aware of anything.

I also need to find a youtube video for how to put on the watch strap - either there's a knack or I'll have to remove the strap and put velcro on the back and just stick it onto my wrist pad (which I think I'd prefer). Do you know if the strap is an antenna as enaon said, I can't find any info on this - I don't mind losing a wifi antenna but obviously, if it's for bluetooth, then I can't remove it.

I'm working on a version with multiple displays to choose from, if you want I can make an option with a huge speed font, no numbers for the battery and thicker arcs. Have a look at the todo section on Github where I have added some images describing what I plan to implement.

I think there is an antenna in the upper part of the strap, you can sort of feel it close to the watch body. Don't know if it's wifi, BT or both maybe enaon knows. I haven't looked into how to remove the strap yet. But also want to replace it with something more useful.

Attaching velcro to only the plastic cover on the back might be a bit risky as the back plate only snaps into place and is fairly easy to remove.

Link to comment
Share on other sites

  • 2 weeks later...

This looks like a great tool for general EUC info while on the move! I've read through this thread and have to admit that most of it is over my head, but it appears that a few of you are doing the heavy lifting. Will this code be compatible with the Gotway Tesla V2? Don't even have my wheel yet but I'd love to pick up one of these watches and try out your stuff once I get the hang of riding. Nice work so far, guys!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...