Arduino ESP32 S3 Touch 3.5

Hi, I’m new to Arduino, an old school Motorola 6809 assembler programmer but I’m struggling to move ahead on my project (high speed counter) I seem to have misunderstood the libraries and now I have my knickers in a knot! Looking for some help or freelance coding to get my project off the ground….. Ill be in Sydney early Dec so if any one in the Syds area who can give me a hands up for a couple of hours just to get the gist of the libraries and the ESP32 S3 board running with a basic demo… I just cannot get the display or touch to work, I have downloaded many sketches and I can get the backlight to blink but that’s it!! …I have to be doing something silly or I’m just missing an important step…… seems the display and touch drivers are different for the same model board but different variants, cant seem to get the right combination of drivers /libraries…

Any help or pointers appreciated… Phil

BTW Ill be in the South West of Sydney….

1 Like

Hey @Phil295563 ,

We are happy to give you a hand through the forums to figure this out!

Would you be able to share some more information about your components and the demo you are running? If you could send some links, that would be great!

1 Like

Hi Samuel, Thank you for quick response.

Target board is Waveshare ESP32 S3 Touch 3.5 ( happy to change hw if preferred)
I was using Arduino IDE, tried all the installing demos from Waveshare and other feeds, no luck, I just cannot get the display to work or the touch screen!

I am communicating with the target via the USB/Arduino IDE as I can upload a blink demo which blinks the display backlight, so I know board is good and it was working with the preinstalled demo from Waveshare before my first upload to the board.

I am new to Arduin but do have HW and some 6809 assembler experience.

To make things more complicated Waveshare brought out 2 versions of the board the ESP32 S£ Touch 3.5 and the ESP32 S3 Touch 3.5B. Who knows why 2 versions but I tried both libraries as I understand after much research the Display and Touch drivers are different for the two versions!!!

So after hundreds of trues and different libraries etc I am now totally confused…not sure what libraries to use anymore.

I’m putting down to no experience and not enough knowledge about teh ESP32 and the Arduino IDE!

My project is quite simple, just 2 lines of 6 digit numeric values one the incremental upcounter and the other the keyed in target count ( thinking display divided into two halves top and bottom, top incremental and lower the target count , maybe in 2 colours too). When Accumulator equal target count then GPIO to set ( count finished), display then reads Finished Batch, then waiting for GPIO input “Start” and so a new cycle starts.

Do need some variables for the count target value and need 4 parameters for 4 GPIO outputs referring to percentage of count completed at 50% set GPIO 70% set another GPIO 85% set another GPIO and the 98% set GPIO.

Count will be GPIO input ( high speed input) and simulation increment with button on touch screen or auto internal SW count for testing counters and output stages.

I will be in Sydney from 6th Dec and can pop by to discuss details ie HW and SW and a bit of 1/2 day crash training for me ( Arduino IDE) Happy to go with your HW if it is easier. I am keen to design the screen layout ( make it a bit fancy and modern looking) using something like Squareline.

Later once counter close to working well I would like to use the Bluetooth Wifi features of the ESP board so I can set parameters and read values from a mobile phone ( Android and IOS).

Have to say I have my knickers in a knot with Arduino IDE, maybe I jumped into the deep end too quickly because now with all the utube/arduino/github tutorials etc I am slightly overwhelmed hence my reaching out. I need a side by side quick lesson to just kick start me. I do like the Waveshare ESP32 S3 touch unit as it has all the features I need and its low cost and easy to buy.

Any further questions or direction let me know. I can send a flow chart if it helps…

Look forward to your suggestions…

Cheers
Phil

Hey Phil,

Thanks for getting back to us on this. I am not much help in the configuration side of this, but if you are having trouble with Arduino Code, you can check out our Online Course for Arduino for the basics. It’s good to get foundational knowledge before jumping into a project where you may not understand why something is acting in the way that it is.

As for a drop-by training course, this is not something we currently have running. There is also a fairly decent distance between our warehouse and South West Sydney. We are approximately 2 2-hour drive (with minimal traffic) from the Fairfield area. Our warehouse is available for pickups, but with the forklifts and machinery running, it isn’t the safest place for visitors. So in-person Tech Support isn’t something we can offer on-site.

One tip I can give is getting a helping hand from an LLM, my personal favourite at the moment is Claude, as it has a better GUI and seems to be a bit smoother in the coding area. It may be able to get you out of a bind, though nothing is better for the project than learning yourself how these things are meant to interact and go together.

Cheers,

Blayden

Hi Blayden,
Great to hear back from you.
Understood, logistics and travel an issue, I’ll take your advise and follow on.

Many thanks for returning my message.
All the best to you all, I always watch your FB feeds… Nice..

I’ll scout around for more education on Arduino, been trying hard, maybe I need to reset and start again, I’m now quite confused about the Arduino IDE and all the various HW options… I am an electronics engineer ( doesn’t make me good :grinning_face_with_smiling_eyes:) but struggling with the amount of variants in Arduino libraries…

Anyway, I soldier on, looking forward to visiting Sydney in December… away from this Northern Hemisphere winter ! In my past I grew up on Motorola 6809 assembler, wrote code for an 8 Axis robot back in the 1980’s, stepper motors and Motorola Exorset SW development system, loading the OS every day from 8 Inch Floppy disks!!!
How things have changed!!!

Thanks for getting back to me.
All the best
Phil

1 Like

@Phil295563
While I don’t know what your issue is, I have played a little bit with color screens and hacked together my own drivers, so the following is just some thoughts.

When I was working on a smaller screen size and resolution the 3.2" 16 Bit color, I was attempting to have a full frame buffer. This worked as long as I did not need wifi. After a bit of testing and digging and adding some memory based debug lines, what I found was a memory issue.
e.g. 320*240 * 2 = 153,600 Bytes. Now this does not seem much and you think it should fit, BUT a single 2d array needs continuous memory and finding free 153K was the tricky bit once the RTOS was running.

From looking at the specs for your setup, it has twice the resolution (320 * 480) and more colors (I think). Even if based at 16Bit (65K colors) a full frame buffer would be a little over 307K Bytes. So if the driver is attempting to create a frame buffer, it could be running into the same issue (so checking logs and just before you try to init the display driver, see if you can add a debug to show free memory and biggest continuous free memory block.

Note: The key to my issue was to enable the PSRAM (not enabled by default).
Since i was writing my own driver, I enabled the PSRAM for direct allocation. i.e. you use a special version of things like malloc. But there are other options. Im not an Arduino person, but I assume there is an option to enable the 8Meg PSRAM in the ESP32 S3 chip.

For reference. The PSRAM is like a (slow) memory extension, but its normally fast enough for many things like big arrays :slight_smile:

Just a thought…

1 Like