wemos d1 mini tft display factory

I want to see If I can connect a simple TFT display to my board to view my sensor distance readings, rather than having to use the ESPHome log viewer or Home Assistant dashboard.

To keep things simple I’ve unplugged my ultrasonic sensor from my board and removed the code for it in my ESPHome config file, so that I can just test the display and the display code by itself, before trying to get my sensor readings to display.

I’ve fallen at the first hurdle and don’t know if its a problem with the GPIO pins I’ve assigned, a hardware issue with the display, or the ESPHome driver.

The first half of the display from left to right is white, however the right half of the screen is showing multicoloured ‘white noise’ - sorry , the best I can describe it!

I know that my display uses the ST7735S controller, and I am referencing the ESPHome native support for the ST7735 controller, so first thoughts, after checking my wiring/connections are ok, is this difference is causing the incompatibility?

wemos d1 mini tft display factory

Wall mounting enclosure set with 2.4 inch ILI9341 touchscreen for ESP8266, NodeMCU, Wemos D1 mini and ESP32, code examples thermostat, weatherstation, social tracker

wemos d1 mini tft display factory

The ESP32 touch sensor development kit, ESP32-Sense Kit, is used for evaluating and developing ESP32 touch sensor system. ESP32-Sense Kit consists of one motherboard and multiple daughterboards. The motherboard contains a display unit, a main control unit and a debug unit. The daughterboards have touch electrodes in different combinations or shapes, such as linear slider, wheel slider, matrix buttons and spring buttons, depending on the application scenarios. Users can design and add their own daughterboards for special usage cases.

ESP-WROOM-32 based development board with SH1106 OLED display (128×64 pixels), RJ-45 Ethernet connector, CAN-bus connector, Micro USB connector, USB-to-UART bridge, LiPo battery connector and charging circuit.

ESP32 development board with ePaper display, TI PCM5102A DAC, ICS43434 MEMS Microphone, CP2102N USB-to-UART bridge, microSD card slot, and LiPo charger.

wemos d1 mini tft display factory

This article describes the construction of a test bench whose main components are a Wemos D1 mini ESP8266 microprocessor board and a 1.6 inch 130*130 TFT display that is driven by a SSD1283A controller. The microprocessor board and the display are positioned on dedicate pin headers soldered onto a 60×80 mm print board. An additional 8-pin female pin header on the test bench supports sensor signal input, output and communication for devices being tested. Male pin headers on the bench supply 3.3V and 5V, and GND.

Having a test bench at hand centered around a particular processor and display can be very effective. After constructing a modest series of dedicated test benches a welcome addition to the fleet is a bench around an ESP-8266 type microprocessor and a 130×130 transflective TFT display. Because of its minimal footprint and its versatility I like the Wemos D1 mini. Here the microprocessor chip is mounted on a 16-pin microboard that has full Arduino functionality plus wifi support, although at the expense of GPIO pins. As a SPI display such as the current one requires four GPIO pins, a total of eight pins of the Wemos remain accessible for sensors, output and communication. That is acceptable because most of my applications concern remote sensing of one or two environmental parameters.

Test benches are robust and reliable and once they are assembled one can focus on creating the software to optimize display behavior, to study library options, read sensors and construct external output and communication functionality.

Figure 1: Wemos D1 mini 130*130 TFT test platform, completed and running the light intensity sensing demo. The two main components are placed on pin headers soldered onto a 60×80 mm double-sided universal PCB. The extra pin headers are connected to unoccupied pins of the Wemos. The PCB and its contents is conveniently mounted on an inverted cassette tape case. Bench pins D1 and D2 connect here to a BH1750 light sensor (i2c device).

The test platform (figure 1) contains a 130*130 transflective, 1.6-inch TFT display governed by a SSD1283A controller. Compared with OLED displays these TFTs have relatively large pixels. They require four wires (SCLK, MOSI, MISO and SS) (SPI interface). Remaining pins of the Wemos D1 are available for wired communication, sensors, leds and other external equipment. The SSD1283A TFT display supports graphical functions and 16-bit color instructions while individual pixels can be addressed. After assembly we will have added to the fleet an Arduino-compatible platform ready for testing a range of devices and sketches. My fleet will then consist of the bench under construction plus the following:

All the parts of the 130*130 Wemos D1 mini test bench are positioned on a 60×80 mm double-sided universal prototyping board (PCB) (schematic layout in figure 2).

Figure 2: Design of the test bench PCB with its main pin headers. Top left: layout with the two main components and the pin headers. Top right: wiring diagram for the TFT display and the test bench pin headers plus 3.3V, 5V and GND pins. Bottom left: wiring diagram for the test bench pin header. Bottom right: bottom view of the TFT wiring created to assist the soldering of the actual wires (quite helpful).

A comprehensive wiring diagram that includes extra pin headers is presented in figure 2. The essential wiring (Wemos to TFT) is presented in the top right portion of that figure. This set of wires connects specific pins of the Wemos pin headers with their corresponding pins of the display pin header. Additional sets of wires connect the Wemos pin header and the test bench pin headers. These are shown in schematic in figure 2, bottom left. Finally, a set of wiring concerns the auxiliary 3.3V, 5v and GND power pins.

The Table above indicates pins of the Wemos D1 that are ‘occupied’ by the display. This leaves the following pins available for applications: RST, A0, D0, D1, D2, D6, RX and TX. These Wemos pins are wired to the female eight-pin test bench header (visible in Figs. 1 and 3 at the top of the bench). This pin header is provided with a label on which the pin designations are printed.

Here we present the ‘lux_meter_demo.ino’ sketch which consists of the core of a light intensity meter sketch published before*****. The light intensity sensor in that project was a BH1750 with i2c interface. The purpose of the sketch is show how well this combination of microprocessor board and TFT display performs. This particular TFT is transflective, i.e., it is designed to perform well under ambient light conditions.