Introduction: ESP32 Clock Using WiFi, ESP-NOW, & Cellular
This is a ESP32 based wifi clock I made for the wireless contest. I decided to make this clock overly wireless so it uses three different forms of wireless communication(WiFi, ESP-NOW, & Cellular). The phone is connected to a cell tower and acting as a wifi hotspot. The first esp32 is connected to the phone and displaying the hour it pulls from an ntp server on the OLED.
The two colons are connected to the phone and transmit the minutes and seconds to the other units using the esp32’s own communication protocol called ESPNOW. The first colon is transmitting the minutes and the second colon is transmitting the seconds.
There are 5 separate programs for this project that I will be sharing below.
Step 2: Download the Arduino IDE and Required Libraries
First, make sure you have the latest Arduino IDE by visiting: https://www.arduino.cc/en/Main/Software
Then make sure you properly install the ESP32 arduino core by following the instructions on the GitHub page here: https://github.com/fesch/arduino-esp32
Download and install the OLED Driver library for the ESP32 here: https://github.com/squix78/esp8266-oled-ssd1306
If you want to make your own font, you should use this font generator: http://oleddisplay.squix.ch/#/home
Click create after you have decided what font you would like to use. The font I used was a plain Nimbus Mono L with a 52 pixel height. After you have installed all of the libraries copy the file from the generator and copy it. Search your computer for a file named oleddisplayfonts.h
Open it with a text editor and paste in your font code at the top and pay attention to the name because you will need to copy it to your program. For example, the name of my font is "Nimbus_Mono_L_Regular_52"
Step 3: Program Your ESP32 Units
Make sure to type in the SSID and Password for the WiFi network you will be connecting to.
Use the Arduino IDE to program the 5 different programs.
That's it! This is a great project to help you become familiar with some of the ESP32's functionality and I hope this inspires someone to make something similar.
If you found this instructable helpful, please vote for me in the wireless contest.