Inkplate 10 WiFiServer DRAM overflow error

Customer:

I’m getting a linker error when trying to create a WiFi server on my Inkplate 10. The compiler reports:

c:/users/uwe.[name removed]/appdata/local/arduino15/packages/inkplate_boards/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users[user] removed]\AppData\Local\Temp\arduino\sketches\ B96530C5F04ECF/WiFi_Test_V2.ino.elf section .dram0.bss' will not fit in region dram0_0_seg’

c:/users/uwe.[name removed]/appdata/local/arduino15/packages/inkplate_boards/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit.

c:/users/uwe.[name removed]/appdata/local/arduino15/packages/inkplate_boards/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit.

c:/users/uwe.[name removed]/appdata/local/arduino15/packages/inkplate_boards/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: section .iram0.vectors VMA [[phone removed],[phone removed]] overlaps section .dram0.bss VMA [ ffc3150, a4f]

c:/users/uwe.[name removed]/appdata/local/arduino15/packages/inkplate_boards/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: region `dram0_0_seg’ overflowed by 9930832 bytes

collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

This worked last week. The error occurs at this line:

WiFiServer server(80);

My sketch includes:

#if !defined(ARDUINO_INKPLATE10) && !defined(ARDUINO_INKPLATE10V2)
#error "Wrong board selection for this example, please select e-radionica Inkplate10 or Soldered Inkplate10 in the boards menu."
#endif

#include "Inkplate.h"
#include
#include

#define ssid "Inkplate 10"
#define pass "Soldered"

Inkplate display(INKPLATE_3BIT);
WiFiServer server(80);

#define MAX_IMAGE_SIZE

IPAddress serverIP;
char ;
int inputPos = 0;
char breakChar = '|';
SdFile file;
char *fileName = "image.png";

Originally submitted via email support on 21 June 2023. Migrated to the forum for community visibility.

Soldered Support:

Did you change anything in your sketch since last week? The library was last updated three weeks ago, so there shouldn’t be any difference in the main example. Try running the WiFi server example straight from the library without any code modifications - see if that works and what the differences are between your sketch and that one.

Do you have any large data structures like images or large arrays in your sketch? I have seen this error happen with the Google Calendar example - where the ‘entries’ array ends up being too large for the DRAM.

If you have any large data structures like images - I would suggest moving them to PSRAM using ps_malloc.

Customer:

You were right. I had defined an array that was too large.

Attachment omitted in migration: LinkedIn_0f8083c8-a1f2-4e23-9193-a91177455273.png

Attachment omitted in migration: Instagram_eda65478-8900-44e9-afbb-a8739b753381.png

Attachment omitted in migration: Mail_Signatur_myRENZbox_2021_12-einfo_844318d9-c6ed-452e-8787-245f2fabb2f1.jpg

Attachment omitted in migration: Facebook_a38640b3-ae8a-462d-9a3b-851f8dcb2621.png