Improved version of Retro_Clock
- Redesigned all of clock case parts with freeCAD. results in cleaner parts.
- All STL files are from freeCAD redesign.
- Minor firmware changes. Added menu items.
- PCB redesign to use better audio amplifier.
This is a highly modified version of TechKiwiGadgets clock found on
- Instructables https://www.instructables.com/ESP32-Pacman-Clock/
- Makerbot Thingiverse (ESP32 Pacman Clock) https://www.thingiverse.com/thing:5136672
Modifications:
- Changed TFT display to an SPI version which has a much improved Touch interface.
- Added SPIFFS to support files for data and images. This freed up memory and added flexability.
- Added support for optional RTC (real time clock IC). Improves time keeping accuracy.
- Added support for LDR (light dependent resistor) so that display is dimmed at night.
- Added audio amplifier (LM386) and volume control via touch screen.
- Redesigned user interface (Touch menu) to support added features.
- Made many changes to firmware to improve speed and readability.
- Designed PCB to support above mentioned changes.
- Redesigned 3D printed parts to support hardware changes.
TFT_eSPI library:
- The TFT_eSPI library requires it be changed to support each particular build (unusal but that's way way it works).
- The file User_Setup_Select.h specifies which setup file in the User_Setups directory is to be used.
- Added to the User_Setups directory is the file Setup_Pacman_Clock.h which contains the specifies the configuration and features (Touch) used by this project.
- Move the file "Setup_Pacman_Clock.h" into directory ...Arduino/libraries/TFT_eSPI/User_Setups
- Move the file "User_Setup_Select.h" into the directory ...Arduino/libraries/TFT_eSPI (replaces the existing User_Setup_Select.h file).
Tools:
- Arduino IDE 1.8.19, Board: DOIT ESP32 DEVKIT V1
- Initialize SPIFFS using Arduino IDE "Tools/ESP32 Sketch Data Upload" (which will initializee SPIFFS and upload all the files from the Data directory).
- Creality Slicer, PLA, 0.2mm, no supports.
Additional Notes:
-
Arduino Sketch (IDE) Version 1.8.19
-
Board Manager -> esp32 by Espressif Systems Version 1.0.6
-
Libraries used:
TFT_eSPI at version 2.5.0 RTClib at version 2.1.1 Wire at version 1.0.1 SPIFFS at version 1.0 FS at version 1.0 XT_DAC_Audio Time at version 1.6.1 Adafruit_BusIO at version 1.14.1
-
TFT_eSPI setup file contains (see TFT_eSPI folder in Arduino/libraries):
#define USER_SETUP_ID 900 #define ILI9341_DRIVER #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 15 #define TFT_DC 4 #define TFT_RST 2 #define TOUCH_CS 5 // Required to enable Touch, getTouch() #define LOAD_GLCD #define LOAD_FONT2 #define LOAD_FONT4 #define LOAD FONT6 #define LOAD_FONT7 #define LOAD_FONT8 #define LOAD_GFXFF #define SMOOTH_FONT #define SPI_FREQUENCY 27000000 // 27 MHz #define SPI_READ_FREQUENCY 20000000 // 20 MHz #define SPI_TOUCH_FREQUENCY 2500000 // 2.5 MHz