Talking Tetris Clock
Introduction: Talking Tetris Clock
This is my take on a large digital clock
* Based on the TETRIS Library by <PERSON>:
* https://github.com/witnessmenow/WiFi-Tetris-Clock
* https://www.youtube.com/watch?v=ey2mjZ-UQNM
* Added a MP3 / WAV player to give sound to this clock
* Added a Webinterface to change settings on the fly
* Added two text tickers to display your scrolling message
* Designed a PCB that included the Audio hardware
* Based on ESP32, open source firmware and hardware
Supplies
* PCB buy it here: Talking clock Main Board
* I2S audio board: Maz98357 I2S;
* ESP32 DEVKIT V1 30pin version
* Highly Advisible: single row headers 2.54 to be used as socket for ESP32
* HUB75 display 64*64( preferable) or 32*64 Use 1 or 2( preferable) displays should be a display that is supported by the library check here to see what panel to use
* Micro SD Card
* Speaker
* Some wire's and a USB cable to program the ESP32
* You also need to install software(Arduino IDE) or upload a pre-compiled version using the webinterface
Step 1: Completing the PCB
I had my PCB produced by PCBWay, they offer great service at a good price. You can buy the PCB at my Tindie store Most components are included. You only have to solder on the ESP32 devkit, the I2s Audioboard. I highly recommend that you don't solder the EPS32 board directly onto the pcb. Use single Row headers or a socket instead! That way, you can always remove the ESP32 if needed.
Make sure you place the ESP32 in the correct orientation. See photo for example.
Step 2: Using the Arduino IDE to Program the Arduino
There are two options to program your ARDUINO ESP32
1. Use Arduino IDE
2. Use the webinterface (Only Limited changed to program possible)
The Webinterface will be explained in the next step. First we take a look at the Arduino IDE
If you haven't already, you can download it here and install it.
But wait, we are not there yet...after installing, we need to install the files for using the ESP32 and we need to install some libraries.
Installing the ESP32 plugin
Start the Arduino IDE software and use the menu to click: File->Preferences.
A new window will popup. Look for the line that says: Additional Boards Manager URLs: and enter the following link:
https://dl.espressif.com/dl/package_esp32_index.json
Now, press OK to close the window. 382
Again use the menu to click: Tools->Board:xxx->Boards Manager. Again, a new window will appear. inter ESP32 in the textbox to find the ESP32 boards and press install
Installing the libraries:
Install the following libraries from the library manager. Use the menu: Sketch->include library-> Manage Libraries-> add Zipfile
Display Driver (V2.05) Must be this version and not a new release!
Tetris animation
Time library
Audio Driver
Install the following libraries from the library manager. Use the menu: Sketch->include library-> Manage Libraries
Fastled Neomatrix (V1.1 )
Loading the Sketch
Create a folder on your harddrive named "mark_tetris.ino", download the 4 files needed and save them to that folder:
index.h , logo.h , mark_tetris.ino and settings.h
Download files
Now click on the file on your harddrive named: mark_tetris.ino. Arduino Ide will start and the sketch will open. You will see 4 tabs, 1 tab per file.
Before you compile your sketch, make sure you have selected the correct board. Use the menu: Tools-->Board-->ESP32 Arduino->Doit ESP32 Devkit V1
Now you should be able to compile all successfully and you can upload it to your ESP32 board.
Make sure the board is connected and that you have selected the correct COM port from the menu: Tools->Port
If you like, you can change some settings in the settings.h tab. However, the settings for your display will be done using the webinterface later. Make sure to recompile and upload again if you change these settings.
In case you run into compatibility problems with the libraries, this is what I used:
* Using library FastLED_NeoMatrix at version 1.1
* Using library Framebuffer_GFX at version 1. 991