Giter VIP home page Giter VIP logo

esp-matrixclock's Introduction

Dot matrix clock with weather and NTP

This is my dot matrix clock made with ESP8266 WiFi capable MCU. Accurate time signal is acquired from NTP and weather information is available through Openweathermap.org API.

esp-matrixclock

Features

  • 24 hour time display
  • NTP sync
  • Optional weather data from Openweathermap.org API
  • Outside temperature display
  • Wind speed display
  • Wind direction display
  • DST support (automatic change)
  • Over the Air (OTA) firmware upgrade capability
  • WifiManager Soft AP configuration interface

Prerequisites

  • ESP8266 board (recommended: NodeMCU/compatible see BOM)
  • MAX7219 based LED matrix display (order from China)
  • Openweathermap account (optional)
  • PlatformIO

Time display screen

esp-matrixclock

Weather display screen

Current weather is displayed 3 times per minute for 4 seconds.

esp-matrixclock

Build & Installation HOWTO

Hardware BOM

Wiring between NodeMCU and matrix board

NodeMCU 3.3V -> Matrix Vcc
NodeMCU GND  -> Matrix GND
NodeMCU D8   -> Matrix DIN
NodeMCU D7   -> Matrix CS
NodeMCU D6   -> Matrix CLK

Software installation

PlatformIO automatically downloads all required libraries, boards, and configures your environment.

Optional steps for weather info functionality

Uploading Firmware to ESP8266 module

PlatformIO serial

platformio run --target upload

PlatformIO OTA

platformio run -t upload --upload-port <IP address of ESP>

Wifi Configuration

  • Latest version of the Firmware uses the WifiManager library by tzapu to setup the clock

  • If no known WiFi AP is nearby, the clock starts the config portal

  • Connect to SSID: "MatrixAP"

  • Point your browser to 192.168.4.1

  • Follow instructions to configure your SSID, pass, API key and CityID

  • To manually force config AP mode, short D5 pin on NodeMCU to ground to enter

Obsolete config instructions for the serial version:

  • If the clock fails to connect to an AP it will ask for credentials
  • Run serial monitor (Arduino IDE) or minicom/putty, etc at 9600 bps
  • Type in your own Wifi credentials

Future plans

  • Dimmable display brightness (request)
  • Multiple NTP time-zone support
  • bugfix, testing

Special thanks

  • Vajk for beta testing & original HOWTO
  • William Moeur for NTP code

esp-matrixclock's People

Contributors

adamkovesdi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esp-matrixclock's Issues

Specify dependencies otherwise latest (incorrect ones) are used.

Builds but runs with errors. Possibly update platormio.ini with specific deps vs global ones. I've tried some older versions but don't know what combination of dependencies were used. Platformio will pull the latest when they're global unless the specific ones are added manually but they clearly aren't the ones.

Mirrored display

Hey Thanks for this awesome project, i have managed to compile the code and the display is displaying something although it appears to be mirrored. I'm using cheap AliExpress 4 tile matrix 8x8 leds.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.