Skip to content

3urobeat/nodemcu-clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nodemcu-clock

This is a multifunctional desk clock using a ESP8266 or ESP32 and 4x20 LCD display.
The device switches between different pages, which you can see below.
By connecting the setup pins listed below with a switch, for example, you can enter a setup mode that spawns an AP to configure the device.

 

Pages

Name About Demo
Clock Displays current time, date and weekday. Automatically geolocates your timezone. Uses NTP for syncing time and ip-api for geolocating. Demo
Weather Displays city name, current weather, temp, sunrise and sunset time. Automatically geolocates your coords and city but can be overwritten in config. Uses openweathermap.org (API key required!). Demo
News Displays 4 current headlines from different news outlets, switching to the next one on page reset. Page switch on event (headline finished scrolling through) or after time supported. Uses newsapi.org (API key required!). Demo
Spotify Displays your current Spotify playback title, artist and progress. Demo

 

Display Connection Pins

Connect VCC & GND to the respective pins of your devkit board.

ESP8266:

  • SDA: D2
  • SCL: D1
  • setupMode switch: D0 -> GND
  • backlight switch: D3 -> GND

ESP32:

  • SDA: 21
  • SCL: 22
  • setupMode switch: 19 -> GND
  • backlight switch: 18 -> GND

 

Compiling and flashing firmware

TBA

 

Configuration & Setup Mode

There are two methods of configuring your nodemcu-clock.
You can either use the aforementioned setupMode at runtime or edit the config.cpp file at compile-time.

Setup Mode (click to expand)
- Bridge the setupMode pins listed above (for example with a switch which you can easily toggle)  
- Connect power to the board or reset it  
- The board should power up and display "Entering Setup" instead of "Connecting"  
- Follow the instructions on the screen:  
    - Open the WiFi settings on your phone and find the "nodemcu-clock setup wifi"  
    - Connect to it with the password "setuppassword136"  
    - Open your browser and open the webpage "192.168.1.1"  
    - When done making changes, click "Save" at the bottom  
    - Unbridge the setupMode pins again and reset the device  

Continue reading below to learn what needs to be configured.
Compile-time Config (click to expand)
- Open the `config/config.cpp` file in a text editor  
- When done making changes, save the file, recompile the firmware and flash it onto the device.  
  See [Compiling and flashing firmware](https://github.com/3urobeat/nodemcu-clock/#compiling-and-flashing-firmware) for more information.

Note:  
Changes made here will only be applied if no settings have already been saved onto the  
device by a previous start with compile-time config or by using the setup mode.  
To circumvent this you can uncomment the `CLOCK_IGNOREFS` build flag in `platformio.ini`.  
Recompile and flash the firmware again.  
The internal storage will now be ignored and only the compile-time config will be used.

 

FAQ

What needs to be configured?

  • You always need to have at least one wifi network configured.
  • Depending on which pages you use you need to have the API keys they require configured (see Pages for more information)

Everything else can be left at default.

How do I get the API keys?
TBA

The clock won't connect to my iPhone hotpot!
Open the settings app and leave the "Personal Hotspot" page open while the clock attempts to connect to available WiFi networks.
This ensures that the WiFi network is visible.

About

🕰️ Multifunctional desk clock displaying time, weather, news & Spotify playback using an ESP8266 or ESP32 and 4x20 LCD display

Topics

Resources

License

Stars

Watchers

Forks