LaColorduino
LaColorduino copied to clipboard
I build my own clone of "LaMetric"-smartwatch but with some Colorduino for Twitch, YouTube, Twitter, CSGO, etc.. (Working)
LaColorduino - Your own Smartwatch how it should be
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)
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.)
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)
...more photos incoming
Indoor Humidity
There is a watchface just for the current 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
Drizzle
Rain (day)
Rain (night)
Snow 1
Snow 2
Atmosphere, Fog etc.
Clear Sky (day)
Clear Sky (night)
Few Clouds (day)
Few Clouds (night)
Scattered Clouds
Broken Clouds (Will changed in the future)
5 Day Forecast example (Currently not available due problems)
Wind Speed (km/h)
Sunrise (Currently not available due problems)
Sunset (Currently not available due problems)
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.
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.
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 😥😋
Video
Did you know, how many videos are currently public (not uploaded)? Well, now you know it.
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.
View
This watchface tells you how many views you have in total.
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.
Tweets
You are tweeting more like birds in the morning? What is this in numbers?? This one will help you.
Last Tweet Retweet
How often got your last tweet retweeted.
Last Tweet Favorite
How often got your last tweet liked.
Facebook (Currently not available due problems)
Fan Counter
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
Current
Power
Slave Device Unit
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)
Slash Delimiter (Setting 1)
Dot Delimiter (Setting 2)
Vertical Line Delimiter (Setting 3)
Colon Delimiter (Setting 4)
Hyphen Delimiter (Setting 5)
Asterix Delimiter (Setting 6)
Bomb Exploded (Video)
Bomb Defused (Video)
CT Wins (Video)
...more videos incoming
Basics
Connecting to WiFi/MiFi Device
Connecting to WiFi/MiFi Device Success
No WiFi/MiFi Device available / Wrong SSID
Wrong WiFi/MiFi Password
Testing Internet Connection
Testing Internet Connection Failed
Testing Internet Connection Succeed
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)
Succeeded
Failed
...new photos incoming
Font
Numbers
Letters
Special Character
Icon
Symbolics
Weather
...more photos incoming
I plan to add more things like
- [ ] Facebook Fan count
- [X] YouTube
- [ ] Last 32 Days as chart
- [ ] Currency
- [ ] Euro
- [ ] US Dollar
- [ ] British Pound
- [ ] Yen
- [ ] Bitcoin
- [ ] GoogleMail notification
- [ ] Steam Server state
- [ ] Spotify
- [ ] Current Track
- [X] 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)
- [X] 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
- [X] 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
- [ ] ...