Although it has a similar name, the Nano Every is very different from the classic Nano. The Nano Every uses the new ATmega4809 microcontroller instead of the ATmega328P of the classic Nano. The ATmega328P is by far the most popular microcontroller in the Arduino world, and has been so for many years, so the community support for ATmega328P is excellent. The ATmega4809 is very new and not widely used so the community support for that chip is not so great. Due to Arduino's standardized API, you'll find that some sketches and libraries written before the ATmega4809 even existed work fine. However, low level code will only work if it was written specifically for the ATmega4809, and not many library authors are doing that yet.
There are several problems you'll encounter when attempting to compile the TFTLCD library's tftpaint example sketch for Nano Every:
Adafruit GFX library uses a typedef named PORT_t, which conflicts with a struct of that name defined in avr-gcc. The solution is to do a search and replace of the C:\Users\280gb ssd\Documents\Arduino\libraries\Adafruit_GFX_Library folder for PORT_t and replace it with something unique (which Adafruit should have done from the start) like AdafruitGFXPORT_t.
There are also some differences in register names, which are reported to be fixed by adding this to Adafruit_SPITFT.h:
#define SPDR SPI0_DATA
#define SPSR SPI0_INTFLAGS
#define SPIF SPI_IF_bp
Next, there is a problem with the Adafruit Touchscreen library about RwReg not declared. I fixed this by changing touchscreen.h line 11 from:
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega32U4__) || defined(TEENSYDUINO) || defined(__AVR_ATmega2560__)
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega4809__) || defined(TEENSYDUINO) || defined(__AVR_ATmega2560__)
Next, I ran into a problem with the Adafruit TFTLCD library:
E:\arduino\libraries\TFTLCD-Library-master\pin_magic.h:350:3: error: #error "Board type unsupported / not recognized"
If you look at the contents of the file, you can see how the definitions are created for each microcontroller. You would need to spend some time with the datasheet for the ATmega4809 and figure out what needs to be added to that file to make the library support the Nano Every.
Adafruit has expressed interest in supporting these boards, so if you manage to figure it out, please be sure to submit pull requests to the relevant repositories so that others may benefit from your efforts:
There will always be more of a challenge to working with the new boards. I see these boards as being best suited for adventurous people looking for a challenge and opportunities to make significant contributions to the Arduino project (adding support for these boards to the libraries, for example). For people just wanting things to work with the minimum amount of frustration, the boards with a long history of use by the Arduino community are a better choice.