ESP32 Deep Sleep GPIO Wakeup

June 1, 2020

I have nearly finished the software for my central heating thermostat and am now turning my attention to reducing its power consumption so that it can be run on batteries. The ESP32 has several power saving modes however the intention is to use the deep sleep mode and configuring the device to wake up periodically to check the temperature or to wake up immediately if either the rotary encoder is turned or the switch is pressed. ... Read more …

Tags: esp32 deep sleep gpio wakeup

ESP32 reading SD card using SPI (VSPI)

February 3, 2020

I spent a surprising amount of time today trying to get the ESP32 to read and write to the SDCARD via SPI. I checked kept getting a variety of errors from their own example program sd_card_example_main.c (esp-idf/examples/storage/sd_card/):- E (1386) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107 E (1406) example: Failed to initialize the card (ESP_ERR_TIMEOUT). Make sure SD card lines have pull-up resistors in place. E (358) sdmmc_sd: sdmmc_init_sd_if_cond: send_if_cond (1) returned 0x108 E (378) example: Failed to initialize the card (ESP_ERR_INVALID_RESPONSE). ... Read more …

Tags: esp32 hy-tft320_262k sdcard spi

ESP32 driving HY-TFT320 display

January 10, 2020

I have been interfacing the ESP32 to a HY-TFT320. This module integrates a TFT display, SSD1289 display controller, XPT2046 (ADS7843) touch screen controller and SDCARD connector all connected through to a 2×20 pin socket. The SSD1289 TFT interface has a 16 bit parallel data interface and needs 22 connections in total (CD, WR, RS, CS, RSET, LEDA and DB0-DB15). In addition, the touch interface has 6 connections (DCLK, CS, DIN, BUSY, DOUT and PENIRQ). ... Read more …

Tags: esp32 hy-tft320_262k ssd1289 tft

ESP32 Setup on a Raspberry Pi

December 1, 2019

Today I decided to see if I could get the Espressif ESP32x Development Toolkit to work on my Raspberry Pi 4. The Raspberry Pi is running Linux (albeit an Arm Architecture) so naturally the best starting places was to follow the Linux instructions at and hope that it was a dual binary. Once it had been installed it was quite obvious that it only supported the x86 architecture – which was confirmed using the ‘file’ command on one of the executables in the bin/ directory. ... Read more …

Tags: esp32 pi