ESP32-3248S035C Enhancement

All that relates to the H/W
Post Reply
User avatar
Starraker
Posts: 54
Joined: Tue Sep 03, 2024 1:53 am
Location: Canberra Australia
Been thanked: 13 times
Contact:

ESP32-3248S035C Enhancement

Post by Starraker »

If, like me, you own one of these magical boards with its beautiful TFT display and its inbuilt wide capability you will eventually want to develop its full capability. Some of these following projects allow just that and have been worked through and tested from articles and snippets found online:

NOTE: All directions are viewing the component side of the board with the ESP32 chip and aerial to the top.

1. Enhance Duty Cycle of ESP32 chip to TFT.

Due to a hard wiring of GT911 Pin2 (viewed from left) the duty cycle of the ESP32 chip runs at approximately 80% (from the maker).
If you would like to lower this to 8-10% then cut the earth tie to Pin 2 and connect Pin 2 to the right hand solder pad of the unpopulated R25.
This can be done by cutting the copper pad leading to Pin 2 then gently scraping away the solder resist on top of the copper next to Pin 2 and solder a insulated small wire from Pin 2 to R25 and remove R18. This will allow the GT911 to be interrupt driven hence lowering the duty cycle.

2. Adding a Memory Chip to the board.
(this will add much needed memory for large programs but will cost the use of the large green and blue LEDS from the Tricolour LED)

a. First purchase a 10K resistor and the specific PSRAM memory chip ( ESP-PSRAM64H ). Make sure you get the H version for voltage reasons.

b. Locate the memory PAD (SOIC-8) just below the ESP32 chip on the right hand side. This PAD consists of eight solder pads (1-8) which start at the lower left (pin1) in order to upper left (pin 8).

c. With a sharp knife sever the very small connection on pin 1 (in between pin 1 and pin 8 on the left hand side of the PAD).

d. With a sharp knife cut the long track to pin 6 leaving enough of the track next to pin 6 to solder a wire. Then scrape off the resist exposing the severed copper track next to pin 6 and solder it (tin the track).

e. Locate GPIO 17 (fourth pin up rom right hand bottom corner of ESP32) and scrape away the resist next to the pin and tin the track.

f. Locate the trace from GPIO 16 to the large tricolour LED. At some place along this trace scrape away some resist and tin the track. GPIO 16 is the third pin up from the bottom right corner of the ESP32 chip.

g. Locate R20 and R16 and remove them from the board. (This will remove the LEDs from GPIO 16 and 17 but the RED (GPIO 4) will still be available.)

h. With the PSRAM chip in hand with the indent to pin1 place the chip on the SOIC-8 PAD and solder one leg to the PAD. After this check that all legs are in the correct place above each of the eight pads and solder the PSRAM to the pads with a fine soldering iron (too much heat will destroy the RAM chip). Check that there are no solder bridges and check that each leg does not touch a neighbouring leg or pad.

i. With the PSRAM in position take your new 10K resistor and solder it between pin 1 and pin 8 of the PSRAM. This is a pull up resistor to ensure the PSRAM chip works properly.

j. Solder a small insulated wire between the prepared pads next to pin 6 and GPIO 17

k. Solder a small insulated wire of appropriate length to pin 1 and the prepared track connected to GPIO 16

l. Check that all actions have been done and that there are no short circuits because your PSRAM chip should be ready to go

m. Plug the board into your computer (without any SD card) and access the Annex 32 Web Installer and connect to the programmer. After the screen comes up select the appropriate firmware from the list and make sure that all options are ticked then select Program. After several minutes the script showing on screen should indicate that the PSRAM has been initiated and also give details of your chip. Copy these down.

You are now operational.

After logging on to the chip by accessing 192.168.1.101 (or another address given by the programmer or on your TFT screen) Select File Manager. This will show an increase in the size of the Flash Free and RAM Free. If you have an SD Card (up to 32GB) you can insert it and you will note a huge increase in available RAM and Flash Free memory.

Mine now reads : Flash Free: 31,900,762,112 RAM Free: 4,269,679 (and that contains a lot of programs, files and pictures)


3. Enhance Response of the Light Dependent Resistor

This is an extra project for those who are skilled at soldering because the resistor (R15) is located at the top left edge of the board with very little room to move. The LED is interfaced to GPIO34 through a 1 Megohm surface mount resistor which is much improved by lowering this resistance to 10K. This requires replacing the R15 with a new 10K surface mount resistor (this can be salvaged when removing R20) or by placing a small 1/8 watt 10K resistor across R15. Do not attempt this mod unless you are good at soldering.

If you own an ESP32-3248S035R you can perform Projects 2 and 3 above but not 1.

I hope that these are useful.
User avatar
Starraker
Posts: 54
Joined: Tue Sep 03, 2024 1:53 am
Location: Canberra Australia
Been thanked: 13 times
Contact:

Re: ESP32-3248S035C Enhancement

Post by Starraker »

Following on from my desire to enhance the capabilities of the ESP32-3248S035C module I have been trying to interface the VS1053B to the module without using the TX / RX (GPIO 01 / 03) or the GPIO21/ 22 / 25/ 27 / 32 / 33 / 39 which are used by the module for other things. After you discount all the other GPIOs being used by the screen, the internal Flash RAM (GPIO 6/ 7/ 8 /9 /10/11 - these cannot be used elsewhere only for RAM), the audio amp (GPIO26), the tri LED (GPIO 4/16/17 - 17 and 16 can be used to implement PSRAM in spare SOIC8 pad), the light sensor (GPIO34) and the SD Card reader (GPIO 5 / 18 /19 / 23) this only leaves a handful of vacant GPIOs and some of these are one way. However, it is possible to reuse some of these and some unused in a parallel config (I2c x 2, I2s, and SPI - V/H).

Has anybody been successful in interfacing the VS1053 to the ESP32-3248S035C (this module is based on the ESP32 but does not have the normal ESP32 pin assignments)? I have tried and have not yet succeeded. The following connections in the Annex RDS Help file did not work unfortunately as they are meant for the standard ESP32: (Perhaps it is not possible and I am trying to push too far - but so far with this module and Annex RDS just about all things are possible!). I love this operating system and language.
VS1053B connection.gif
You do not have the required permissions to view the files attached to this post.
User avatar
Dompie
Posts: 56
Joined: Tue Feb 09, 2021 12:59 pm
Has thanked: 64 times
Been thanked: 14 times

Re: ESP32-3248S035C Enhancement

Post by Dompie »

For the default SPI pins of other ESP32-xxx modules see: [Local Link Removed for Guests], there is a list for several ESP32 devices
User avatar
Starraker
Posts: 54
Joined: Tue Sep 03, 2024 1:53 am
Location: Canberra Australia
Been thanked: 13 times
Contact:

Re: ESP32-3248S035C Enhancement

Post by Starraker »

Dompie,

Thank you for sending that.

It contains a lot of good info for ESP 32 modules but unfortunately none of those will work with the ESP32-3248S035C because of its pre-wired configuration does not allow reassignment of any GPIO pins from 6-11 (RAM), 27 (backlight), 25 and 32-33 (touch), 16 and 17 (psram) and 26 (audio). What your information told me is that I also have a problem with SD-card pre-assignments (I thought I could piggy-back on these pins but tests show that there is a problem as it affects other facilities of the module).

Actually these pre-wired pins of the module are the basis of my interfacing problem. The manufacturers and others state that any unassigned GPIO pins can be used (noting the one-way pins) but this statement seems to be in question. I will keep trying but I might be pushing it too far.

PS. After your reply I had some time so I went back and analysed the pinouts of the board and it turns out that there are three available GPIO pins unoccupied (so I might have overstated the handful a little). These are GPIO 35, 36 and 39 but the last two (36 and 39) are reserved but may be used as touch sensors. All the others have no connection or are used for functions. So I will have to use GPIO 35 for the VS1053 CS and use the TFT screen SPI connections - maybe it will work and maybe not. However, thank you once again for your reply.

For those of you who would like the pinouts of this specific module here they are - they are quite different to the brother module the ESP32-3248S035R which has resistive touch and a different board layout and very different to most ESP32 variants;

ESP32-3248S035C ONLY (the references to GPS in the following spreadsheet against RX and TX are my use for these pins, they can be used for any TX/RX purpose. Similarly Pins 21 and 22 are general purpose pins and appear on the extended IO and CN1 sockets)

[attachment=0]ESP32-3248S035C.png
You do not have the required permissions to view the files attached to this post.
Post Reply