HI, I have a new board ESP32-S3 N16R8 and I am trying to find the board in Board Manager. Have added: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json to "Preferences" but can only find ESP32S3 Dev Module. It works with Blink program but only with Maximum is "327680" memory. So I guess I need another entry in the Preferences which includes the new board. Any help would be grateful.
Yes, you are correct. You need to add a new board entry in the preferences file to be able to use your ESP32-S3 N16R8 board with the Arduino IDE.
To add the board, you need to follow these steps:
- Open the Arduino IDE and go to "File" > "Preferences".
- In the "Additional Boards Manager URLs" field, paste the following URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Click "OK" to close the Preferences window.
- Go to "Tools" > "Board" > "Boards Manager".
- In the search bar, type "ESP32 by Espressif Systems" and press enter.
- Scroll down until you find "ESP32-S3 Dev Module". Select it and click on the "Install" button.
- Wait for the installation to finish, and then close the Boards Manager window.
- Finally, go to "Tools" > "Board" and select "ESP32-S3 Dev Module" from the list.
Once you have selected the board, you should be able to compile and upload your sketch to your ESP32-S3 N16R8 board.
Note that the maximum memory size you mentioned (327680) is likely the available program memory (flash) on your board. This is different from the RAM memory available for data storage during runtime. You can check the available RAM memory using the "ESP.getFreeHeap()" function in your sketch.
Thanks for your reply. I did get to the same point, but re-did it. Already had ESP32 by Espressif Systems installed V2.0.7 and it does load a sketch, but I don't understand the Memory. Started a new sketch with just ESP.get.FreeHeap() on the first line, is that correct?
Got it working result
Hi Managed to get it working. Result using getFreeHeap =370076 So what is the N16r8?
N16R8 (16M external flash/8M PSRAM) I have a large program which is on a ESP32 and I thought this new board would give me extra space to fit my program.
This is what I got:
Preformatted text
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
entry 0x403c98d4
370076
N16R8 means 16MB of flash for your app and 8MB of PSRam.
The Flash is used for data and app. You can select how much memory give to your app with a partition scheme.
You have 300kb of free Ram for your data. But the Esp is able to use the PSRam as second (fast) memory space. You can use it to store big variables like image from a webcam.
So are you saying the I need a partition file to create more memory for a larger program? Could you give me a clue how to do this. many thanks
How large a program are you trying to upload to the board? 16MB of flash is a LOT. I mean a real lot. You are saying that your program doesn't fit on the board?
If you select the ESP32 S3 Dev board option in the IDE you can then select the amount of Flash and PSRAM the chip has via the options in the board menu.
You also have to assign a specific partition scheme for the memory to use it the way you want to.

As you can see, there are different options that allow you to use some of that memory for files (SPIFFS) and other for your app.
You can also enable or disable PSRAM via a menu option.
You shouldn't have to create a new entry in Boards.txt.
Thanks for the info. Very helpful. So with with a ESP32-S3 n16r8 I would select Flash Size 16MB and the biggest size I can see (as I need Spiffs for storage) would be "8M with spiffs (3MB for my APP/1.5MB for Spiffs)" is that correct.? So the biggest APP size is 3MB?
Why do you think that your app need so much space?
I am sure at 99% that your app will not need more than 800kB.
If you need space for some files, you need to reserve SPIFFS or FATFS space on this flash.
Please, I just need to understand, with the setup I said in my last post am I correct?
I am saving to Spiffs but I need to increase my App. I have been using a ESP32 but are getting to the top of Memory
Top of flash memory or dynamic memory (RAM)?
If 3MB are not enough for your app, you can also create your own partition scheme and give 8MB to your app.
I think you are confused about which memory you want to increase. You speak about flash. But probably, you mean dynamic memory that has nothing to do with the memory used by your app on the flash.
Now I'm confused: On the ESP32-S3 N16r8 I have selected Flash Size 16MB , and Partition Size 8MB with Spiffs (3MB APP/1.5MB Spiffs) When I upload the program it reads Max 3342336 "Variables 327680" .... If I change the Flash Size to 4MB Default and run the program it reads Max 1310720 "Variables 327680"
So I want to increase the Max to greater than 3342336.
The program I am using is just to test the memory.
Result: Sketch uses 264229 bytes (7%) of program storage space. Maximum is 3342336 bytes. My main program gets to 99% so I need to increase the memory where the Sketch goes and still use the Spiffs area.
- Instead of save images in your sketch, it is better to save them in the data folder and upload them once. Instead of upload a 4MB sketch with all files inside the sketch. Also because you need 2 minutes to upload it, instead of 5 seconds.
- You have 16MB for app + data. It is up to you to choose how you want create the partitions.
On the ESP32 you have different partitions:
- app
- app update (for ora) with the same size
- spiff
- EEPROM
- dump
-...
I made an application to create your own partition scheme, if you want to play with it:
GitHub - Adrianotiger/ESPToolsGUI: ESP Tools GUI for Windows
You're going to upload images to your board? What are you going to use those images for? And how many of them are you going to upload?
Hi, I will try and make my problem clear. My Sketch is a Web server, Data which is entered on a web page is saved to a SD card (No problem here). Spiffs is used to store the web page, index, script and style files. (No problem here). The problem I have is that the Sketch is getting too big to fit the memory. I have followed your POST #9 instructions and selected Flash=16MB-- Partition=8MB with spiffs (3MB APP/1.5MB SPIFFS)-- When uploading the Sketch it tells me that I only have "Max 3342336" and Variables Max 327680 ::::: How can I increase "Max 3342336" for a larger Sketch which still leaves the Spiffs area? (Sorry it's a bit long.)
Max is not the sketch size, but the maximum space you have to upload your sketch.
Again: there is a partition scheme. You can use one of the default partition scheme or you can use your own partition scheme.
But you still doesn't explain your problem. Why 3MB should not be enough?
The size of your program itself, not the components you are trying to store, has to fit inside the program memory. Let me ask this, have you tried to upload your program and the IDE has told you that you are out of space? Or are you just worried that you'll run out of space? How large is the program you are trying to upload?
Hi, Have found that the sketch uses 31% (1044501) of the available 3342336. I was expecting at least 8mb so for the moment it seems you were right regarding I still have a lot of space to continue programming. This was the reason to try and move from the standard ESP32 (running out on memory) to ESP32-S3.
What is strange is that on the layout of the ESP32-S3 there is no SDL/SDA pins for I2c or VSPI...MISO/CLK/CS pins connecting to an SD Card? any thoughts?