ESP32 Joystick switch : les pins interdits

Juste un petit retour sur le pullup nécessaire au switch (bizarrement oublié sur mon script modèle de kit). Toujours cette complexité des pins disponibles sur les très nombreuses déclinaisons de cette plaquette géniale.
Je viens de tester un joystick sur une Wroom U (avec port antenne 2.4 Ghz). Le switch, comme tout bouton poussoir, a besoin d'un pullup pour que l'entrée digitale soit clairement 0 ou 1. Les pins 34 à 39 étant uniquement input, ils sont inutilisables. Je l'ai mis sur le 27. C'est OK.
Est-il vraiment utile d'utiliser une librairie spécialisée ?

/* Projet joystick partiel pour commander un modèle roulant
 *  
ATTENTION pour le switch, PULLUP nécessaire, pas possible sur 34-39 only input (PULLUP = 1 forcé 5v + pin vers la terre en SORTIE
car pullup = courant sort  donc input 0 ou négatif)
J'avais fait l'erreur. pin 27  EN INPUT_PULLUP ok pour SWITCH
*/

const int SW_pin = 27; // digital pin connected to switch output
const int X_pin = 25; // analog pin connected to X output
const int Y_pin = 33; // analog pin connected to Y output

void setup() {
  pinMode(SW_pin, INPUT_PULLUP);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(115000);
}

void loop() {
  Serial.print("Switch:  ");
  Serial.print(digitalRead(SW_pin));
  Serial.print("\n");
  Serial.print("X-axis: ");
  Serial.print(analogRead(X_pin));
  Serial.print("\n");
  Serial.print("Y-axis: ");
  Serial.println(analogRead(Y_pin));
  Serial.print("\n\n");
  delay(300); // 500 original
}

//XXXX

Bonjour,

S'il n'y a pas de INPUT_PULLUP en interne, rien n'empêche de le faire en externe, en tout cas je ne vois pas ce qui s'y oppose dans le cas de l'utilisation de switchs.

Dites moi si je le trompe?

Ah oui peut-être, mais je n'ai pas essayé. Je ne suis pas expert mais je suppose que pour que le drainage vers la masse se fasse quand on appuie il faut que ça puisse 'sortir' du pin. Non ?

Pas forcément, si l'ENTREE mesure un niveau HIGH ou LOW

En tout cas, sur un UNO, sur une entrée dite analogique (donc sens PULLUP interne) et déclarée en entrée digital attaquée par un BP, j'ai procédé de cette maniére (avec un PULLUP externe), et ça marche trés bien.

Ok merci. En tout cas ça va être très sympa le modèle roulant avec le joystick. Je n'avais jamais essayé, ça traînait dans une boîte de kit Arduino depuis au moins 10 ans. Je vais bien m'amuser. Et la portée à 200m théorique de l'espNow m'ouvre des horizons, accouplé avec une esp cam et commandé à distance.. j'en rêvais pour un petit drone vpv mais ça consomme trop.