Ss pin for arduino nano 33 iot

HELLO EVERYONE, I HAVE A PROBLEM WHEN I WANT TO USE A TFT SCREEN 0.96 INCH ST7735 AND ARDUINO NANO 33 IOT, I AM USING THE EXAMPLE OF THE Adafruit-ST7735-Library LIBRARY, BUT WHEN LOADING THE PROGRAM TO THE ARDUINO, IT DOES NOT START THE PROGRAM ONLY THE SCREEN IN BLACK, I HAVE LOADED THE SAME PROGRAM IN A SINGLE ARDUINO NANO AND IT WORKS CORRECTLY, I THINK IT IS BECAUSE OF THE SS PIN OF THE SPI PROTOCOL, SOMEONE HAS AN IDEA OF HOW TO DECLARE THIS PIN IN SOME SPECIAL WAY OR WHAT IS THE CORRECT SS PIN FOR ARDUINO NANO IOT

[image]


NANO_33_IOT_TFT_0.96.ino (9.5 KB)

Unlike the AVR boards, there is no pin on the Nano 33 IoT that is more appropriate than any other for use as SS. You can feel free to use any free pin. But make sure that you pass the pin number you are using to the Adafruit-ST7735-Library's Adafruit_ST7735 constructor.

HI in0 , i agree with you , but i cant find the problem of why the arduino iot cant communicate with the tft display :frowning:

You just agree, or you went and made the suggested changes?

hi aarg , made the changes but any solution yet

Perhaps you should describe the actual changes that you made...

yes , just declaring different pin numbers for the SS pin but any communication with the TFT display , i compiled on arduino uno and arduino nano and its working perfectly but in arduino nano 33 IOT it doesn't have any response

Specifics of the 33 IOT changes please... which pin for SS, and the section of code where you specify it. Please post that and also details of the SS wire connection.

It could be a pin naming thing, did you try

  #define TFT_CS        D10

From packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot/variant.h:

#define PIN_SPI_MISO         (12u)
#define PIN_SPI_SCK          (13u)
#define PIN_SPI_MOSI         (11u)
#define PIN_SPI_SS           (10u)

So it looks like the default SS pin is Pin 10.

Thank you Sr johnwasser , and is some special command to avtivated or something like that ? i dont know what is happening with my arduino nano 33 iot , it sems to be connected and declaring the pin number right

Keep in mind, the SS pin idea is just a theory. You don't know for sure, it's the problem.

Yes i dont know what is happening , upload the same code but compiled for NANO and works but same code compiled for IOT and nothing ...


Why includes for two different displays? Couldn't they conflict?

#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789

Did you see the output from this, on the IOT?

  Serial.println(F("Initialized"));

I removed that lines and others that this tft display doesnt need , but still not working

no i cant see the message when im in the monitor and NANO IOT , but when i upload to NANO yes , the messages shows

NANO_33_IOT_TFT_0.96.ino (7.6 KB)

...after putting the debug lines back in? You said you removed them...

If it doesn't reach that line, then the initialization is failing...

also trying with arduino NANO BLE SENSE , BLE , IOT , OR PORTENTA H7 and realize that this code doesnt work but the same still works on UNO , MEGA OR NANO

Likely because the display libraries rely on AVR chip specific timings for some display control signals. Or, in the realm of possible error, some pin mix up.

Sometimes the header files (.h) have some info or clues in the form of #defines that select different code for different boards (ideally !).