nrf24/tft/remote control

hey all :slight_smile:

alright, I thought it's possible to just combine an atmega328 with the common 2.2" tft from china, rot. encoder, buttons and an nrf24l01+PA transmitter without testing it practically.
But because someone told me it's better to try it anyway, which I did, I was proven wrong.

So, now I've got some questions, maybe someone here knows what I could do or if there's any simple solution for these problems I ran into:

First problem: I can't use the nrf24 with anything else using the same hardware SPI. As soon as the radio part is loaded in the sketch (even if it's just radio.begin():wink: nothing else works anymore. For example, any comment sent to the tft won't be recognized.
I've tried to use softSPI and this works, BUT: I can't use that in my project because I don't have any other ports/pins free for softSPI -_-
Google just lists several postings from other people have this problem with nrf24, just that it's often the radio that causes their problems. No solution beside softSPI.

Next problem: no matter if I use the adafruit tft lib or ucglib, the tft is really slow. As far as I found out until now, clearing the screen works by filling it with black. But this takes like 4 or 5 sec. Is there any faster way to achieve that? Writing/printing on the same line doesn't clear the pixels that were used on the previous prints. Can I clean a dedicated region/line somehow faster?
(right now I use a resistor divider to "shift" the 5V to 3V3, for the final solution I plan to use a TXB0108)

I currently ponder about 2 solutions for my problems:
a: using 2 atmega328, one that has the tft connected and is just used for output, and another atmega328 with the nrf24 and buttons and main code
how easy can I achieve a connection between both ยตC to -for example- tell the one with the tft connected, what info to display? I've never done that before, so I have no idea if that solution makes sense.

b: use an atmega2560 instead. this way I'd have more flash memory, but also way too many free pins left, it also costs more than the 328, is bigger in size and I don't know how to address the different hardware SPIs it has.
Is this as easy as using the single hardware SPI of a 328, or -IOW- how do I tell the 2560 where which device is connected at?
Would the tft be faster than it currently is with my 328?

I've only made PCBs using atmega328 and also used the arduino IDE just for these.
(I kinda failed using an atmega32U4 in a different project, I can get the program to work but I fail using the usb port to upload the sketch or transmit serial data via uisb)

I'm grateful for any suggestion, hint and help :slight_smile:

Thanks in advance,
Nik

mmmh.
Looks like I mixed up the serials with SPI on the 2560 -_-
I grabbed my 3D printer arduino mega and tested the nrf24 and tft with it
the tft is as slow as it is using the 328, now I still don't know if it would be faster with a real level shifter instead of the resistor/voltage divider ...

what would you suggest me? Is there any 2.2" tft that's actually as "fast" as a common LCD display?
beside that, the 2560 is 5 times more expensive than a 328, but if there's no better solution I have to bite into that apple ...

really ...