I just realized I have a scrap drone RC controller that could be cannibalized for parts. Two real joysticks. One with centering on both axes, and the other with centering on one and detents (can those get smoothed out?) on the other.
The detents were just an area of toothed plastic with a metal clip, so I sanded it down, and now it’s not notchy, but holds position.
The sticks don’t cover the full travel of the pots, but enough to give me 300+ change on Arduino’s ADC either way on both axes. Joystick.cpp (1.0 KB)
This is really an “.ino” file.
BTW: that joystick with the red bat can optionally recenter, and it’s available a bit cheaper at some RC specialty shops. Still not free like parts from my junk heap.