Pros of my project?

I.The Enclosure

Wooden photo frame

You can make your own frame, there are a dozen of articles about this, everywhere on the net. But a simpler solution would be finding a framing company where you can order a personalized frame with your required dimensions and you can choose from many frame types. This is exactly what I did. I ordered my frames with a specific dimension: the framed photo, in my case object (display) is 80x80mm. I also asked for an accurate dimension, I didn't want the frame to be too big for the 3D printed plastic grid.

Plexiglass support

The plexiglass support can be also be made DIY but for an amateur it is not very easy to cut and blend plexiglass. So I ordered several supports from an advertising company that makes all kinds of plexiglass objects. The dimensions I used are: width - 120mm, first part length - 180mm, second part length - 50mm, 15° bending angle.

Display plexiglass sheet

The 3mm grey smoked plexiglass sheet can be cut from a bigger sheet, obtaining the required 80x80mm dimension.

Plastic grid

The STL file for 3D printing can be downloaded from Tinkercad

Display Printed Paper Sheet

The SVG file for the Printed Paper Sheet is attached, and it can be edited with Inkscape. You can make your own display layout based on this SVG file, I used Word Search Construction Kitsoftware to generate a words layout for the time display. You can print the file repeatedly on the same sheet of paper to achieve a good, opaque, black background. I got very good results with a cheap inkjet printer and standard white copier paper. I cut off the layout with a pair of scissors.

Plastic box for electronics

The files that you can 3d print are also on Tinkercad. I used some already purchased jewelry boxes, I only designed a new box base because the boxes were too tall. The files on Tinkercad are based on this type of boxes.

II.The Electronics

ESP-01 board

Cheap and versatile microcontroller module with WiFi capability, if you don't know about it there are many howto's on the net. (For example you can read this good instructable by TonesB ESP8266 WiFi Module for Dummies)

3.3v stabilizer module

The ESP-01 requires to be powered with 3.3v, I used here a 4pin module.

Led Matrix 64led RGB Matrix with WS8212 IC

You can read more in Getting Started With NeoPixel / WS2812 RGB LED by Open Green Energy.

3 Pin Header and connector

I used this connector because it permits easy assembly-disassembly of the enclosure.

DC connector and DC power supply

The power supply is 5v and 1.5A maximum, it is rather enough because not all leds are lightened up at full brightness and full white. Also I opted for a separate DC connector because it is simple to replace a defective power supply

Schematics - Very simple, made with Fritzing, see the image bellow.

III.Programming the ESP-01 Board

My way for flashing the ESP-01 is using an adapter with a PL2303 chip (USB to Serial converter). Also to make the programming easier, I used a breadboard adapter like this and I connected it to the USB to Serial converter. You can see in the images the wiring between these two modules: 3.3v-RED, Ground-BLACK, RX from the converter to TX on adapter-PURPLE, TX from the converter to RX on adapter-GREY. On the adapter I soldered a switch (PROG) between GPIO0 and GND pins and a switch (RESET) between RST and GND pins.

IV.Configuring and Using the Clock

After correctly flashing the ESP-01 module, start the clock. On the display you will see an animation like bellow.

You will find a new WiFi Access Point on your phone called VERBIS and a serial (a bunch of numbers). You can connect to this Access Point, with no password, open a browser (Chrome is preferred) and go to http://192.168.4.1 page. (When the ESP-01 is in Access Point mode it will always have the IP 192.168.4.1 This IP is hardwired in the microcontroller's firmware). You will see now the word clock's main menu.

You will see now the word clock's main menu. Go to the 'NETWORK CONFIGURATION' submenu and wait for the search for the surrounding routers to finish. Select your router's name from the list (in my case the 'mi' router), the name will be copied to the 'SSID' textbox, enter the password and push the 'SAVE' button. Wait a little bit and try to reconnect to the clock on the same IP (192.168.4.1). 

Select 'NETWORK INFORMATION' where you can find what IP the clock has gotten. 

 Restart the clock (unplug and plug the power adapter) and you will see a pattern like bellow on the display.

The clock is trying to connect to the router and the ntp server. If there is connection with the ntp server, the word clock's internal time will synchronize with the NTP server's time and the corresponding words will appear on the display. If there is no connection, the pattern will continue to show. The clock will try to reconnect to the NTP server each minute until a successful connection.

If you have no router you can access the 'MANUAL TIME SETTING' submenu and enter the time in the corresponding text boxes. Also if the clock is connected to a router but it doesn't have a connection to the ntp server, you can use this submenu to set the time until a time synchronization. In this case, when the connection to the ntp server will occur, the time will synchronize automatically in the background.

The 'NTP SETTING' submenu options are pretty explanatory, I don't have too much to say about them...

If you access the 'DISPLAY SETTINGS' submenu you can change the two colors between which the transition occurs when the words are displayed. Also, you can change if the words 'IT IS' are displayed or not at the beginning of the time telling.