Recopilación de conocimiento

Teensy

Puertos de entrada

La Teensy tiene puertos digitales de entrada compatibles con 5V, y con pull-up configurable:

https://www.pjrc.com/teensy/teensy31.html

5 Volt Tolerance on Digital Inputs
Today most new chips use 3.3V signals, but many legacy products output 5 volt digital signals. These can now be directly connected to Teensy digital inputs.
All digital pins are 5 volt tolerant on Teensy 3.2 & 3.1. However, the analog-only pins (A10-A14), AREF, Program and Reset are 3.3V only.

https://www.pjrc.com/teensy/td_digital.html

Input With Pullup
All of the pins have a pullup resistor which may be activated when the pin is an input. Just use pinMode() with INPUT_PULLUP.
pinMode(PIN_D7, INPUT_PULLUP);
The pullup resistors are useful when connecting pushbuttons that can connect the pin to ground (low), but when the button is not pressed there is no connection at all. The pullup resistor causes the voltage to be high when nothing is connected.
A brief delay may be needed between pinMode() configuring INPUT_PULLUP mode and digitalRead() reporting the unconnected pin as HIGH. The pullup resistor raises the voltage slowly, depending on capacitance of any circuitry attached, plus the capacitance of the pin and breadboard or wires. Usually delayMicroseconds(10) is plenty.
The INPUT_PULLUP option is a Teensy extension which is not present on the official Arduino.

Ésto nos permite leer los botones del joystick sin alimentarlos ni poner una resistencia.

Como se indica, puede ser que suba de manera muy lenta, hay que hacer medidas con el osciloscopio para ver cuánto tarda en subir, aunque seguramente será rápido, ya que la carga es simplemente un pulsador.

Joystick USB

https://www.pjrc.com/teensy/td_joystick.html