I am seeing a strange issue using the Adafruit_HX8357 Arduino driver on an ESP32-S3 Devkit (Adafruit pn 5310)
Before hooking up the display I went to check that I had the right GPIO pins, so I hooked a scope to the SCLK and MOSI lines and while I did see the correct signals, they were only going to a 1.8V high level.
I wrote a quick test program using the default Arduino SPI driver and both signals go to a 3.3V high level.
I then checked that the Adafruit GFX driver was using the default Arduino driver by printing out the value of the pointer to the driver class and it was.
I've looked thru the ESP32 libs and the GFX driver code but can't figure out what's wrong. Any help would be appreciated.
Thanks,
Joey
Low SPI signal voltage with Adafruit_HX8357 driver
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- joey232
- Posts: 9
- Joined: Thu Jan 24, 2013 1:35 pm
- Franklin97355
- Posts: 23910
- Joined: Mon Apr 21, 2008 2:33 pm
Re: Low SPI signal voltage with Adafruit_HX8357 driver
I'll see if the authors have any insight.
- joey232
- Posts: 9
- Joined: Thu Jan 24, 2013 1:35 pm
Re: Low SPI signal voltage with Adafruit_HX8357 driver
Thanks,
Slight correction, it's only the clock that shifts to 1.8V, the data stays at 3.3V. The following code shows the issue, the simple SPI transaction has a clock high of 3.3V, the display code clock is only 1.8V:
Slight correction, it's only the clock that shifts to 1.8V, the data stays at 3.3V. The following code shows the issue, the simple SPI transaction has a clock high of 3.3V, the display code clock is only 1.8V:
Code: Select all
#include <SPI.h>
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_HX8357.h> // LCD display lib
// Pin defines
#define CS 10 // LCD pins
#define DC 46
#define RST 3
Adafruit_HX8357 disp = Adafruit_HX8357(CS, DC, RST);
void setup(void)
{
uint16_t data = 0xAA;
// Do simple SPI transaction
SPI.begin();
SPI.beginTransaction(SPISettings(100000, MSBFIRST, SPI_MODE0));
SPI.transfer(data);
SPI.endTransaction();
// Setup display
disp.begin(); // initialize display
disp.fillScreen(HX8357_WHITE);
}
void loop()
{
delay(500);
}
Last edited by adafruit_support_carter on Mon Feb 13, 2023 11:18 am, edited 1 time in total.
Reason: added [code] tags
Reason: added [code] tags
- adafruit2
- Posts: 22144
- Joined: Fri Mar 11, 2005 7:36 pm
Re: Low SPI signal voltage with Adafruit_HX8357 driver
no reason for it to happen, what if you try ILI9341 or ST7789 adafruit TFT drivers?
- adafruit_support_carter
- Posts: 29150
- Joined: Tue Nov 29, 2016 2:45 pm
Re: Low SPI signal voltage with Adafruit_HX8357 driver
Also - which specific HX8357 display is being used? Can you link to that product page as well.
- joey232
- Posts: 9
- Joined: Thu Jan 24, 2013 1:35 pm
Re: Low SPI signal voltage with Adafruit_HX8357 driver
My apologies, looks like the issue was my scope. I was using scope made with a feather m4 express board and the max sample rate can't keep up with the frequencies used for the displays. Checked on a "real" one and it looks OK.
Please be positive and constructive with your questions and comments.