Low SPI signal voltage with Adafruit_HX8357 driver

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
joey232
 
Posts: 9
Joined: Thu Jan 24, 2013 1:35 pm

Low SPI signal voltage with Adafruit_HX8357 driver

Post by joey232 »

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

User avatar
Franklin97355
 
Posts: 23903
Joined: Mon Apr 21, 2008 2:33 pm

Re: Low SPI signal voltage with Adafruit_HX8357 driver

Post by Franklin97355 »

I'll see if the authors have any insight.

User avatar
joey232
 
Posts: 9
Joined: Thu Jan 24, 2013 1:35 pm

Re: Low SPI signal voltage with Adafruit_HX8357 driver

Post by joey232 »

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:

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

User avatar
adafruit2
 
Posts: 22111
Joined: Fri Mar 11, 2005 7:36 pm

Re: Low SPI signal voltage with Adafruit_HX8357 driver

Post by adafruit2 »

no reason for it to happen, what if you try ILI9341 or ST7789 adafruit TFT drivers?

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: Low SPI signal voltage with Adafruit_HX8357 driver

Post by adafruit_support_carter »

Also - which specific HX8357 display is being used? Can you link to that product page as well.

User avatar
joey232
 
Posts: 9
Joined: Thu Jan 24, 2013 1:35 pm

Re: Low SPI signal voltage with Adafruit_HX8357 driver

Post by joey232 »

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.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”