Hulp met E-paper display programmeren

Ik ben momenteel bezig met een projectje. Helaas ben ik echter een beetje aan het vastlopen met het programmeren van een E-paper display. Het betreft een 4.2 inch kleuren display van E-paper. Hier de link naar de library: GitHub - waveshare/e-Paper .

Nu heb ik het volgende geprogrammeerd:

#include <SPI.h>
#include <mcp_can.h>

#include "epd4in2b_V2.h"
#include "imagedata.h"
#include "epdpaint.h"

#define COLORED     0
#define UNCOLORED   1

Epd epd;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  
  if (epd.Init() != 0) {
    Serial.print("e-Paper init failed");
    return;
  }
}

void loop() 
{
  Serial.print("begin loop");
  unsigned char image [1500];
  Paint paint(image, 400, 28);
  Epd epd;
  
  epd.ClearFrame();
  
  int minvolt = 147;
  String een = String(minvolt) + "milliVolts";
  char const *voltmin = een.c_str();

  int maxvolt = 245;
  String twee = String(maxvolt) + "milliVolts";
  char const *voltmax = twee.c_str();

  int gemvolt = 197;
  String drie = String(gemvolt) + "milliVolts";
  char const *voltgem = drie.c_str();
  
  paint.Clear(UNCOLORED);
  paint.DrawStringAt(7, 0, voltmin, &Font16, COLORED);
  epd.SetPartialWindowBlack(paint.GetImage(), 0, 60, paint.GetWidth(), paint.GetHeight());

  paint.Clear(UNCOLORED);
  paint.DrawStringAt(7, 0, voltmax, &Font16, COLORED);
  epd.SetPartialWindowBlack(paint.GetImage(), 0, 100, paint.GetWidth(), paint.GetHeight());

  paint.Clear(UNCOLORED);
  paint.DrawStringAt(7, 0, voltgem, &Font16, COLORED);
  epd.SetPartialWindowBlack(paint.GetImage(), 0, 140, paint.GetWidth(), paint.GetHeight());

  epd.DisplayFrame();
 
  epd.Sleep();  

  delay(1000);
}

De output op het scherm is nu leeg.

Als ik de code nu aanpas om alleen de waardes zonder eenheden te versturen worden deze wel netjes weergegeven op het scherm.

Zou iemand weten hoe dit is op te lossen? Bij voorbaat alvast heel erg bedankt.

Je sketch is niet hetzelfde als het voorbeeld van de fabrikant: https://github.com/waveshare/e-Paper/blob/master/Arduino/epd4in2b_V2/epd4in2b_V2.ino.
Werkt dat voorbeeld ?

Er is een array van 1500 byte. Dat wordt erg krap in een Arduino Uno. Het dynamisch geheugen (SRAM) zou vol kunnen zitten.

Dit is een erg specifieke vraag, misschien had je dit beter in het Engelstalige deel kunnen vragen.

De voorbeeldcode van de fabrikant werkt zonder enige problemen.

Zodra ik eenheden ga toevoegen wordt de tekst niet meer op het schermpje gezet. Ik begin steeds meer te denken dat dit inderdaad te veel zou kunnen zijn voor het SRAM. Dat het schermpje een langere reeks simpelweg niet trekt

Ik ken het display en de library verder niet, dus ik kan er weinig over zeggen.
Het lijkt me het beste om een Arduino met meer geheugen te proberen.

Is dit je display ? https://www.waveshare.com/wiki/4.2inch_e-Paper_Module.
Dan is misschien een ESP32 iets.

Ja dat is mijn display inderdaad.

Een ESP32 of een Arduino met meer geheugen lijkt me inderdaad de beste manier om dit op te lossen. In ieder geval bedankt voor het advies!