Waveshare e-paper displays with SPI

Thank you ZinggJM for your answer.

You're right there was no much details in my previous post. It was rather indication:)
The only progress i made so far after playing with various libraries was when i modified Waveshare 'string' example found here:

in arduino/string/ folder.
The following files are in this folder:
Display_Lib.h
EPD_drive.cpp
EPD_drive.h
EPD_drive_gpio.cpp
EPD_drive_gpio.h
string.ino

As you said: Nano doesn't have enough RAM for these files so i included

#include <avr/pgmspace.h>

in two files:
Display_Lib.h
EPD_drive.h

and then i changed big data tables like:

const unsigned char waveshare[4736] = {........ton of data....};

to

const unsigned char waveshare[4736] PROGMEM = {........ton of data....};

Now compilation is errorless.
Loaded things up to Nano and my progress is e-paper screen was cleared (waveshare logo that was on screen when i bought it disappeared).
No test text string was displayed.

On serial monitor i can see this:

------------Clear full screen-----------------
full init
*set register Start
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
*set register end
send data :
Busy is Low

full clear

send data :
send data :

------start send display data!!---------<<<<<<<
Busy is Low

send data1
Busy is Low

full over
*set register Start
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
*set register end
send data :
Busy is Low

po operacji clear full
--------------Clear part screen------------
*set register Start
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
send data :
*set register end
send data :
Busy is Low

------start send display data!!---------<<<<<<<
send data :
send data :
send data :
send data :
Busy is Low

Busy is Low

send data :
send data :
send data :
send data :
Busy is Low

po czyszczeniu czesciowym ekranu
h
FFFFFFD5 FFFFFFD5 FFFFFFD5 FFFF

and so on. I seems Nano resets itself.

I wonder why BUSY line on display module is low?

The code part that checks this looks like this:

/*******************************************************************************
function:
read busy
*******************************************************************************/
unsigned char WaveShare_EPD::ReadBusy(void)
{
unsigned long i=0;
for(i=0;i<400;i++){
// println("isEPD_BUSY = %d\r\n",isEPD_CS);
if(isEPD_BUSY==EPD_BUSY_LEVEL) {
Serial.println("Busy is Low \r\n");
return 1;
}
driver_delay_xms(10);
}
return 0;
}

In for loop that you can see that during first loop execution BUSY line is compared with EPD_BUSY_LEVEL, if its true "Busy is Low" is printed and the whole ReadBusy procedure is terminated with " return 1; ".
Why this procedure returns 0 or 1 if it is not checked anywhere in the code whether 0 or 1 is returned?

Then i modified main program loop to check BUSY line status: it is LOW all the time. Maybe there is sth wrong with my module?
I checked BUSY line with multimeter and in fact it is 0 V almost all the time:/