Prototype Robot Controller

In a fit of buying interesting hardware a while ago, I picked up two of these joystick modules, each has a nice bezel, and two potentiometers on the back for sensing position; but mostly I picked them up becuase they have a really really nice feel to their movement, and the extended stick length is fantastic.

The sticks are much more like the length of a professional radio control handset than say, an games controller.

A back, interior view of the controller, with only one button and switch installed. All are laying on the print bed from a 3d printer

Naturally, these had to go into a suitable case, and therefore I just kinda… did nothing, while I psyched myself up to actually design something.

After a little bit of mental back-and-forth, I ended up on this prototype front cover design, which incorporates:

  • Both 2-axis joysticks (Model: JH-D202X-R4)
  • 6 momentary push buttons
  • 6 toggle switches
  • A 3.2 inch resistive touchscreen HMI from Nextion
  • A USB-micro-B connector for programming and/or joystick mode for PC
A close-up photograph of the interior of the controller, no components wired up

My initial plan with all of this was to simply make this a slightly exotic form of HOTAS (Hand On Throttle And Stick) controller, designed to essentially be a fancy joystick/joypad for PC games, but the more I’ve been designing the case, the more I’m inclined to actually make this an extensible, field-reconfigurable radio control handset instead.

… with joystick functionality if plugged in, of course!

A front-on photograph of the controller, hardware all populated, and showing many fingerprints on the screen

To support all of this, I had intended to go with the Teensy 4.0 or Teensy 4.1 boards, as both have software support for joysticks with amusingly large numbers of inputs, but now that I’m planning to build this as a proper RC controller, I now wonder if I should go with one of the Micromedia ‘Smart Display’ devices as the company supplies many different radio add-on ‘Click’ boards so the controller could support a wide range of protocols, software willing.

Image from, showing the stm32-m4 smart display platform
Screenshot from, showing the extension board with two click boards populated

Still, I’m very happy with the overall feel of this prototype, and once I’ve decided on a route to take with the controller, I’ll re-print the casing in a higher resolution with some minor fixes included.

Watch this space 😃