Skip to content

Latest commit

 

History

History
522 lines (342 loc) · 26 KB

README.md

File metadata and controls

522 lines (342 loc) · 26 KB

LaColorduino - Your own Smartwatch how it should be

Thumbnail

Click me for a short video demo (OLD)

Sneak-Peak with comment in GER and ENG

I build my own clone of LaMetric smartwatch but with 5 Colorduino. It will make use of an ESP8266 NodeMCU for the connection to the Internet. It's build for everyday use like showing your subscribers on YouTube, follower on Twitter, clicks on Twitch or the Weather at the moment. Even live-stats of CounterStrike: Global Offensive it's supported! What do you want more? Wait, don't say it loud, it also has a dark-mode. In the future, there is everything for everybody and everything is self-made! Maybe we can create something very big for the world?

❔ Interested? Well, read the Wiki and you will get Happy, yay.

😥 However, the Wiki isn't completed, yet. That's a hole bunch of work and I change almost everytime something about this project.

⚠ I have started to upgrade this project for ESP32-S2, the successor board, as I am quite unhappy with the core program of the ESP8266. However, I will still need a lot of time, as I am reprogramming the whole source code from scratch as well as dropping some libraries. The focus of this programming will be on the following aspects:

  • Performance
  • Stability
  • Fail-safe
  • Fully automated
  • User friendliness

You can see the current programming progress here.


Preview of Watchfaces

Clock

It shows the current time downloaded from a NTP-Server every few seconds. I'll try to use the clock-cycle to lower the count of requests. Currently, it shows the time in 24h. In the future I add AM/PM mode as well. Icon isn't animated and doesn't show the current time. Maybe I update this.

Clock (day)

Preview Clock Day

Clock (dark-mode)

Dark-Mode is supported which mean, it lower the light to the lowest value possible. It's very handy at night, because the icon doesn't appear and it stays at clock. (It still refreshes information in background all the time, so it can act very fast if needed.)

Preview Clock Night


Indoor

Based on the BME280 sensor, it give you some information like temperature, humidity and air-pressure.

Temperature

It show the current temperature in Celsius (°C), Fahrenheit (°F) and Kelvin (K). The logo is animated. Depending on the current temperature it change it's color and the level indicator:

  • Ice-Blue (Current not in use)
  • Blue (T < 22°C)
  • Green (22°C ≤ T < 25°C)
  • Yellow (25°C ≤ T < 30°C)
  • Red (30°C ≤ T)

Preview Indoor Temperature 1

Preview Indoor Temperature 2

Preview Indoor Temperature 3

Preview Indoor Temperature 4

...more photos incoming

Indoor Humidity

There is a watchface just for the current humidity.

Preview Indoor Humidity


Weather

Based on openweathermap it show the current weather at your location. It change the icon as well, depending on the weather. Here is a list which is more accurate. I did an update of all weather symbols due lack of space (reducing around 8%). However, this should match better to this Social-Gamer-Smartwatch.

Thunderstorm

Preview Weather Thunderstorm

Drizzle

Preview Weather Drizzle

Rain (day)

Preview Weather Rain Day

Rain (night)

Preview Weather Rain Night

Snow 1

Preview Weather Snow 1

Snow 2

Preview Weather Snow 2

Atmosphere, Fog etc.

Preview Weather Atmosphere

Clear Sky (day)

Preview Weather Clear Sky

Clear Sky (night)

Preview Weather Clear Sky2

Few Clouds (day)

Preview Weather Few Clouds1

Few Clouds (night)

Preview Weather Few Clouds2

Scattered Clouds

Preview Weather Scattered Clouds

Broken Clouds (Will changed in the future)

Preview Weather Broken Clouds

5 Day Forecast example (Currently not available due problems)

Preview Weather Forecast

Wind Speed (km/h)

Preview Weather Wind

Sunrise (Currently not available due problems)

Preview Sunrise

Sunset (Currently not available due problems)

Preview Sunset


YouTube

The ESP8266 get its information directly from YouTube it's self. Sometimes, it doesn't show any value after startup but I'm working on it. Library from witnessmenow aka Brian Lough found here.

Subscriber

This watchface shows how many people are subscribed to your YouTube channel.

Preview YouTube Subscriber

View

It also shows you how many total views you have already. Currently, non of my counters support numbers higher than 99.999.999. I'll change this later to something more readable like 99.99M.

Preview YouTube View

Comment

This one is confusing me. The official API says something about current/new comments, but that's not true. Maybe they mean new Inbox messages but I can't test this; I never get any messages 😥😋

Preview YouTube Comment

Video

Did you know, how many videos are currently public (not uploaded)? Well, now you know it.

Preview YouTube Video


Twitch

Now, you reach the more important part of this Smartwatch. It gets its information directly from Twitch, same like YouTube before. In the future I try to add a Watchface which shows if you are currently online/streaming. I'm pretty sure, it looks great on camera while streaming! Library from witnessmenow aka Brian Lough found here.

Follower

This counter shows you, how many people are subscribed to your Twitch channel.

Preview Twitch Follower

View

This watchface tells you how many views you have in total.

Preview Twitch View


Twitter

Socialmedia gets more important these days. So how about a watchface as well? It works same like Twitch and YouTube before. Library from witnessmenow aka Brian Lough found here

Follower

How many people are following you.

Preview Twitter Follower

Tweets

You are tweeting more like birds in the morning? What is this in numbers?? This one will help you.

Preview Twitter Tweets

Last Tweet Retweet

How often got your last tweet retweeted.

Preview Twitter Last Tweet Retweets

Last Tweet Favorite

How often got your last tweet liked.

Preview Twitter Last Tweet Favorite


Facebook (Currently not available due problems)

Fan Counter

Preview Facebook Fan


Powermeter Watchface (Video)

You need extra hardware to make this run (ESP with Built-in button + INA226). I'll uploade the sourcecode for the second device later. However, this measuring works completly over WiFi! The Slave ESP is measuring the Voltage, Current and calculate the Power. It transmit this Information over Wi-Fi to the Social-Gamer-Smartwatch. UDP helps a lot for this use case! If you want to switch between all units, just press the button on the Slave ESP and it will change on the Smartwatch, as well. It's very easy and you can use your own measuring instead of INA226!

Voltage

Preview Voltage

Current

Preview Current

Power

Preview Power

Slave Device Unit

Preview Slave Device

Multimeter Adapter

Preview Multimeter Adapter


CounterStrike: Global Offensive

Yes my friend, it's true! It can show you your current stats as well! I just modified the official API from Valve a little. It shows you:

  • Kill
  • Assist
  • Death
  • Health (as progressbar)
  • Who wins (CT or T)
  • Bomb state (defused or exploded)(it override who win)

TBH, this watchface need additional script and software which I also uploaded here. Just follow the wiki. Currently, it's input-lag is at ~6 milliseconds (~166Hz) which is fast enough for such a device! It's not possible to decrease input-lag over Wi-Fi even more.

Livestats

You can change the delimiter of this watchface into one of the following character:

  • Space
  • Slash
  • Dot
  • Vertical line
  • Colon
  • Hyphen
  • Asterix

Space Delimiter (Setting 0)

Preview CSGO Livestats 0

Slash Delimiter (Setting 1)

Preview CSGO Livestats 1

Dot Delimiter (Setting 2)

Preview CSGO Livestats 2

Vertical Line Delimiter (Setting 3)

Preview CSGO Livestats 3

Colon Delimiter (Setting 4)

Preview CSGO Livestats 4

Hyphen Delimiter (Setting 5)

Preview CSGO Livestats 5

Asterix Delimiter (Setting 6)

Preview CSGO Livestats 6

Bomb Exploded (Video)

Preview CSGO Bomb Exploded

Bomb Defused (Video)

Preview CSGO Bomb Defused

CT Wins (Video)

Preview CSGO CT Wins

...more videos incoming


Basics

Connecting to WiFi/MiFi Device

Preview WiFi

Connecting to WiFi/MiFi Device Success

Preview WiFi Success

No WiFi/MiFi Device available / Wrong SSID

Preview WiFi Wrong SSID

Wrong WiFi/MiFi Password

Preview WiFi Wrong Password

Testing Internet Connection

Preview Internet

Testing Internet Connection Failed

Preview Internet Failed

Testing Internet Connection Succeed

Preview Internet Failed

Update-over-Air (OTA)

This one is just for the ESP8266 itself. It's not possible to update the Colorduino in this build over the air. The Icon is animated and rotating while receiving data. Based on its colour it shows you the current state (progress, succeeded, failed). Someday, if this project is finished, I make this process obsolete. Everything should be configured on a web browser. It doesn't mean I'll remove this feature, maybe it got a bugfix or an update. OTA would be very handy.

Progress (Video)

Preview OTA 1

Succeeded

Preview OTA 2

Failed

Preview OTA 3

...new photos incoming


Font

Numbers

Preview Number 0 Preview Number 1 Preview Number 2 Preview Number 3 Preview Number 4 Preview Number 5 Preview Number 6 Preview Number 7 Preview Number 8 Preview Number 9

Letters

Special Character

Preview Colon Preview Semi Colon Preview Plus Preview Hyphen Preview Asterix Preview Dot Preview Comma Preview Underline Preview Hash Preview Vertical Line Preview Degree Preview µ Preview Slash Preview Exclamation Mark Preview Percent Sign Preview Round Bracket open Preview Round Bracket closed Preview Lower Than Preview Higher Than Preview Equal Preview Question Mark Preview At Preview Square Bracket open Preview Square Bracket closed Preview Curly Bracket open Preview Curly Bracket closed Preview Circumflex Preview Grave Accent Preview Tilde Preview Space Preview Missing


Icon

Symbolics

Weather

...more photos incoming


I plan to add more things like

  • Facebook Fan count
  • YouTube
    • Last 32 Days as chart
  • Currency
    • Euro
    • US Dollar
    • British Pound
    • Yen
    • Bitcoin
  • GoogleMail notification
  • Steam Server state
  • Spotify
    • Current Track
  • Weather
    • Moon Phase
    • Wind
  • Indoor
    • Air Quality (if I/you buy a CCS811 or similar)
  • Github
    • Subscription (or something)
  • Webinterface (to read data or change settings via web under the condition OTA is still working)
  • Update over-the-air (ESP8266 only)
  • Calendar

Software/Converter to program them

  • Arduino 1.6.0 (Colorduino doesn't work properly on 1.8.6. It shows wrong color so you need to download an older version, aswell)
  • Arduino 1.8.6 for ESP8266
  • USB to TTL-Converter with CP2102 (or similar)
  • Help of the community
    • Testing
    • Bug fixing
    • Optimize
    • Adding feature

Additional to the software, it requires some hardware

  • 5x Colorduino Matrix Shield (it's possible up to 254 but never testing/using)
  • 5x Colorduino Matrix 8x8 RGB LED Full Dot/Square (Feel free to mixed them up)
    • 1st shows the symbol/logo, everything else shows the information
  • LDR (if it's dark, watchface change to clock with lowest light so you can sleep at night without any glare)
  • 3x Button (not planed to use all of them at the moment)
  • BME280 (for indoor use)
  • ADS1115 (or similar for those Buttons and LDR. Yeah, 15-bit resolution is an overkill 😄)
  • 5V-3.3V Level Shifter (if I use an ESP8266-01)
  • DC-DC 12V to 5V and 3.3V Step-down Power Supply
    • We need at least 3.3V/5V for ESP8266 and 6.5V to 7.5V for RGB Matrix, at least 1A+.
  • Messing Spacer (for mounting)

Character Set missing

  • a-z (it will convert to uppercase)
  • And-Sign
  • Dollar
  • Ä, Ö, Ü, É, etc.
  • Japanese Katakana (HELP!)
  • ...

Worksteps for Slave Colorduino's

  • Read and Parse Char
  • Print Char on Colorduino
  • Print String on Colorduino
  • Scroll String on Colorduino across
  • Print progressbar on Colorduino while Updating ESP8266
  • Print progressbar on Colorduino for Widget (e.g. Spotify Track position)
  • White-Balance Testscreen
  • AutoCAD File (2D/3D)
  • ...

Worksteps for ESP8266

  • WiFi Manager
  • EEPROM for Setting
  • Webpage for Settings and Debug
  • Optimize Watchdog for reset after some weeks (~44 Days)
  • ...

Worksteps for circuit board

  • Soldering all parts
  • Simply circuit
  • ...

Worksteps for mounting

  • Backplate (Wood, Metal or Plastic)
  • Baking paper for diffusing light
  • Black Glass/Plastic for lowering brightness after diffusing light
  • Mounting on messing spacer and screw's
  • Two holes for mounting on the Wall
  • AutoCAD draw for Colorduino
  • AutoCAD draw for Back-/Frontplate
  • ...

Worksteps for Github

  • Learn english (orthography etc. 😄)
  • Create a Wiki/Guide
    • ...in english and german
  • Create a Flowchart
  • eBook ready to Download with all Information and Tutorial
  • Create two videos and share it on Twitter/YouTube/Facebook
  • Say "Thank You" for all who helped me
  • Say "Thank You" for those who shared they library
  • ...