Introduction: Floating Display
This intructables show how to use a ESP8266/ESP32 and a LCD to build a floating-like display on a Acrylic photo stand.
Step 1: Preparation
Acrylic Photo Stand
Any acrylic stand that is a little bit larger than the LCD should be ok. This time I am using a 3R photo stand.
LCD Display
Any Arduino_GFX supported LCD is ok, you may find currently supported display at GitHub readme: https://github.com/moononournation/Arduino_GFX
This time I am using a YT400S0006 4" ST7796 LCD.
FPC to DIP PCB converter board
This is optional, depends on your selected LCD, FPC to DIP PCB converter board can help you soldering easier. YT400S0006 have a 40 pins 0.5 mm pitch FPC. It is not easy direct soldering on 0.5 mm pitch, so I use the converter to help me.
ESP8266/ESP32 Dev Board
To make the display floating like, it is better use a wireless dev board and also prefer support Lipo power. This time I am using a TTGO T-base ESP8266 dev board.
Lipo battery
This is optional, depends on whether you will use this display unplugged. This battery size determine by 2 factor:
- working hours: e.g. if you want it can operate 2 hours it should be sometime like ~250 mA x 2 hours ~= 500 mAH
- remaining space: for hiding all components behind the LCD, the battery size should be LCD size subtract the convertor board and dev board
Step 2: Photo Frame Patching
This steps is optional, depends on the display viewing angle.
There are near no viewing angle concern for IPS/OLED display. But it is hard to find a large size SPI IPS/OLED display in hobbyist market.
For the "wide-angle" display like YT400S0006 I am using, careful read the data sheet before actual assembly. YT400S0006 official viewing angle is 12 o'clock, that means you need to place the FPC at the upper side for best viewing angle.
If you also have a 12 o'clock display, it is required drill and patch a long hole at the upper back side of photo frame to let the FPC out. You may not do this patch if you have a 3, 6 or 9 o'clock display.
Step 3: Fixing
Fix the LCD, convertor board and dev board with some double size tap. Be aware the tape should not cover any DIP pins.
Step 4: Sordering Work
Connect your LCD to the dev board.
Here are the sample connection summary:
ESP8266 -> LCD
Vcc -> Vcc, resistor -> LED+ GND -> GND, LED- GPIO 15 -> CS GPIO 5 -> DC (if available) RST -> RST GPIO 14 -> SCK GPIO 12 -> MISO (optional) GPIO 13 -> MOSI / SDA
ESP32 -> LCD
Vcc -> Vcc, resistor -> LED+ GND -> GND, LED- GPIO 5 -> CS GPIO 16 -> DC (if available) GPIO 17 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (optional) GPIO 23 -> MOSI / SDA
Read the LCD data sheet for further connection, e.g. YT400S006 require pin 38, 39 and 40 connection to Vcc for setting to SPI mode.
You should add a resistor, normally few Ohms to few hundred Ohms, between Vcc and LED+ to adjust the brightness.
Step 5: Plug Lipo (Optional)
If you would like to use this wirelessly, plug the Lipo battery and fix it with double size tape.
Step 6: Happy Displaying!
You have decent floating display now, it's time to test on hundreds of IoT display projects.
Here are some examples:
- Arduino_GFX Library built-in example: https://github.com/moononournation/Arduino_GFX
- Clock, ref.: https://www.instructables.com/id/Arduino-Watch-Co...
- ESP32PhotoFrame, ref.: https://www.instructables.com/id/Face-Aware-OSD-P...
- ESPWiFiAnalyzer, ref.: https://www.instructables.com/id/ESP8266-WiFi-Ana...
- PDQgraphicstest
- Arduino BiJin Tokei, ref.: https://www.instructables.com/id/Arduino-BiJin-To...