This project is born as gift to Giovanni and Beatrice marriage.
The aesthetical design is built around an heart with in front a color display with touch, two capacitive sensors on Giovanni and Beatrice names and the marriage date. On the back can be found an Arduino Due board as main controller, an esp8266 as wifi client (via SPI), an SD card, an RTC chip and a buzzer. All hardware information, with schematics and rendering, can be found on the hardware
folder. Main source code can be found on src
and include
; lib
contains all external libraries fetched with git submodule
; external
contains the esp8266 firmware used as wifi client over SPI.
- wifi client with WPA2 support
- rtc timer with alarm and clock
- ntp time syncronization
- sd card with FAT/FAT32
- color display and touch screen
- capacitive sensors
- jpeg/raw image rendering
Clone the main repository with the following command
git clone --recurse-submodules -j8 [repository]
then you can use platformIO, through emacs/terminal o Visual Studio Code, to build and upload the code to the arduino board through the usb programm port. Probably can be easy to write a cmake configuration file and avoid platformIO seen that the only external requirement is the Arduino framework for the atmelsam platform.
Main configuration parameters live at include/config.h
where you can find many define to enable debugging to serial console and enable/disable functions.
- use interrupt or timer to manage changes on display, like slideshow photo change or "marriage from" clean
- multiple udp/tcp socket like, ntp and webserver at the same time
- sleep mode with wake up
- memory usage optimization
- probably a clean up/unification on class management
- Arduino/ESP8266 projects and all examples found on Internet
- Jiri Bilek for WiFiSpi and WiFiSpiESP
- Henning Karlsen for UTFT, URTouch and DS1307
- SAM scheduler repository
- Arduino SD library site
- Paul Stoffregen for TimeAlarms
- Jack Christensen for Timezone
- Bodmer for JPEGDecoder
- Graham Lawrence for the UTFT_SdRaw code