Custom HOTAS project: Digital Hats

As said in my earlier post I disassembled my ancient Logitech Extreme 3D Pro and the digital hat design was beautifully simple, an array of 4 tactile switches pointed towards a central shaft with a rubberized concave piece on top and a mounting solution in the bottom that let it shift a small amount without rotating or falling out or in using a square peg in a slightly larger square hole with a lip on one side and a screw on the other.

I’ve replicated the design in 3d printed pieces and M3 and M4 vitamins, sadly photographing black plastic is very thankless, to see any details you need to bump it up to the point where it looks really bad, looks better in-person, all visible surfaces will be solvent smooted as well, and the top concave piece will not be ABS in the final version, will be filaflex (rubber filament) for a nicer feel.

The ugly gap between the 2 pieces of the top hat part have been corrected for in the model, I didn’t leave enough space for the M4 bolt head, and the top part will be printed in flex, just attached a temporary ABS version with some hotglue to test. The nut will be hidden in the final version inside a plastic collar piece and the hat itself will be inside a indented part on the otherwise flat surface.
Sorry about the levels but I wanted to make the 4 tactile switches visible.
The model in Modo, the main enclosure with the 4 screw posts is split into 2 to let me insert the peg and nut inside. White part on top is a separate part that will be printed in flex.
Enclosure hidden to show the internal mechanism, complete with 4 tactile switches and the bottom square plug is slightly oblong shaped (like an american football) to make it fit into a slightly larger square hole in such a way that it lets it rock in a pivoting motion, but not slide around as much. The curved “wings” facilitate the same thing, lets it rock but doesn’t let it push through the bottom. There is a nylon locking nut either side the plug to lock the M4 bolt going down the center’s rotation and to stop it falling out.
View of the gap of the plug, about 0.2mm sideways and vertically so the nut when tightened against the peg doesn’t stop the rocking motion.

I find designing and printing mechanism like these very therapeutic, always fun when it works of the bat but still fun to iterate on the design to come up with fixes for problems, like I forgot to give the square peg vertical slop in my first try which made the nut when tightened down stop all motion, and if I loosened it enough for the switches to trigger the top hat piece rotated freely, which feels very weird. 10min fix luckily.

The result is very nice, the travel distance of the hat is very small, I’d say about 1mm in all directions which is about half of what the logitech one has, the activation feel is very “crisp” as well, logitech one is a fair bit mushier I assume because it uses a plastic piece to push the tactile buttons while I use a M4 bolt.

Custom HOTAS project: The Gimbal

Been working on the design of the main mechanism of the joystick, partially based on Rob’s design but I realized I can’t mimic his completely because I’m also doing twist axis on the joystick which he doesn’t have (he uses pedals instead) adding twist complicates matters a fair bit since I can’t just clamp a metal pipe in the main gimbal mechanism anymore, I need an axle in the mix, and I can’t route cables down a pipe’s middle anymore either. Looked around at internal pictures of existing commercial joysticks to get ideas for my design and I’ve been shocked at how cheap and thin the mechanisms are, thin flimsy plastic with no bearings to speak of, just plastic pegs in plastic holes with grease, but I did spot an element I like in my Logitech “Extreme 3d Pro” it has a centering spring that works a lot like the x55 one except it’s reversed, the spring is attached to the bottom of the base and as the stick moves it angled down onto a plate attached to the spring, nifty design that doesn’t require the joystick’s base’s top to be structural. Also contained a nice spring in it’s twist mechanism I can re-use for the same purpose, also had a very nice digital hat design I’ll make use of, picture a square peg in a square hole with some extra room to let the peg shift in 4 directions a small amount but not not rotate, hole and pin extend into a cone like shape and at the top of the cone of the peg is a concave rubber clad thing for you to rest your thumb in, there are 4 tactile buttons near the top of the cone inside, as you move the rubber piece u/d/l/r you activate one of the 4 switches.

Here is the design currently:

Working on the pitch axis bolt design, need to look for suitable M8 bolts, ones I’ve found so far in the bins are all threaded only half way, which doesn’t work in this application, I need a nut fairly close to the head end, I originally wanted to put the head inside the blue piece but that doesn’t really work, can’t assemble it like that. One of those problems you need to keep in mind when designing something like this, it has to come together, if one step blocks another later in the sequence it doesn’t work. Yaw axis can use the head inwards because without the pitch axis installed there is ample room to push them in in that orientation, not an option for pitch.

Blocking out the main mechanism for now, I’ll add the centering spring and all the holes/divots and brackets to hold the potentiometers and later hall effect sensors and magnets to actually read the stick’s angle later.

Custom HOTAS project: The parts

Electronics

What I have:

I have all the arduinos, wiring, potetiometers, tactile switches and locking switches I need, also have some rotary encoders, might need more of those.

What I need:

4-way switches for the digital hats.

What I want:

Some LEDs in various places would be nice, especially to light up transparent toggle switches, I’m torn on the color to use, might have to make it RGB to have options later, I have a bunch of green and red LEDs I can start with though. Hall effect sensors.

Mechanics

What I have:

8x16x5mm bearings, M8 bolts, filament

What I need:

Tensioner springs, v-slot, timing belt, pulleys, might have to buy some metal pipes and figuring out how to bend those.

What I want:

M8 and 8mm ID bearings is a bit large, could perhaps use smaller bearings and bolts to make the mechanism more compact. Though large bearings and bolts make it sturdy and might improve smoothness. Enclosure material (plastic sheet stock).

Printed Parts

The mechanical vitamins and electronics are joined together by printed parts, I will have to gradually design and print parts with designed in ways to bolt them together.

Custom HOTAS project: Design planning

I’ve been mulling over the actual mechanics of my custom HOTAS project for a long time, I still have some unanswered questions but this is what I got so far:

Joystick axis

I’ve gotten a lot of inspiration from “Rob” that designed his own custom 3d printed HOTAS: https://www.simplicate.info/building-my-own-hotas-controller/ Seems the two of us are pretty unique in this endeavor at least from looking around online, a lot of people weak HOTAS setups or make mounts for them, but finding any reference of people actually making a HOTAS setup is rare. Sadly he hasn’t released anything but descriptions and pictures because he’s still working on it and want to make a more polished and presentable set of instructions and 3d models etc at a later date. I really like several aspects of his design:

  • 2 symmetrical handles
  • Different motion
  • Looks sturdy with smart use of non-printed “vitamins” like metal ball bearings, large metal screws, metal pipes, springs etc.

Main points I’ll deviate though is that I’ll have a lot more buttons/switches and I want a sliding throttle instead of a lever style one.

I already have basically all the parts to make the joystick already if I use potentiometers, I’m tempted to get hall effect sensors though.

I’m not sure if I want to use a spring and push plate design for the centering though, not sure if it will feel good to use, might be easier to use tension springs, also considering how easy it would be to source a 20mm+ diameter spring, I have several from my x55 (comes with 4 for different amounts of tension) but if I want this design to be readily reproducible a spring like that might be too hard to source, we’ll see.

Throttle Axis

The linear throttle axis could be done using 2020 v-slot and v-slot wheels:

using the same components that go into my next 3d printer a gt2 timing belt going to pulley on a potentiometer/rotary encoder can be used to read the throttle position, adding a flywheel on the idler and potentiometer could be done to improve smoothness, other translations can be done using an analog thumb-stick, should have a concave head.

Potentiometer might not work due to the long range of motion (15-18cm~) and the limited fidelity of arduino’s analog inputs (8bit = 1024 possible values) might have to gear it out so the pot turns at a different rate than the pulley but then we’re getting into pretty complex and failure prone printed gearing etc.

Throttle Bump(s):

Throttle lock positions can be done with a ball bearing rolling against 3d printed /U\ shape pushed with a spring. Could have more than one for additional functionality like cruise/afterburer
Quick mockup:
A very quick mockup with an initial idea for the throttle movement included and joystick gimbal setup.

Custom HOTAS project: Initial outline, MO

 

My long list of gripes with my x55, the MIA StarCitizen HOTAS and the recent announcement of the Saitek x56:
Which according to Saitek is “Designed to meet the needs of the re-emerging space simulation genre” (hint: it’s actually a x55 with some blue paint and the joystick’s thumb button and the throttle’s mouse nub replaced with analog sticks) made it clear to me that there isn’t going to be a commercial HOTAS setup anytime soon that ticks all my boxes. So I’m making my own.
The x56 is a re-heated x55 that doesn’t really improve it, analog stick on the joystick’s thumb rest isn’t very usable, neither is the analog stick on the throttle near the lower front, your thumb doesn’t rest there naturally, only way to keep your thumb there is to basically let go of the throttle and only touch it with your finger tips in a weird claw grip. The split throttle and trim knobs are still pointless in space games, those features are only useful for games where you can control 2 engines separately and where you need to manually trim control surfaces, space games don’t have either of those things, it’s wasted space and added complexity.

What I want in a HOTAS:

Ergonomic

The x55 is legendarily uncomfortable unless you have hulk sized hands, the x52 was much better with it’s adjustable hand rest position on the stick and much more comfortable throttle layout, a custom design that is more compact and ergonomic with more controls within reach of your fingers without adjusting your grip (you can’t reach the pinky button and the lever that sticks out of the front and the hats on the top at the same time on the x55).

Customizable

This is a long-term project and I’m going to revise portions over time making it modular and come apart in screwed together pieces is key to this, if it’s printed in one solid lump each iteration would take a lot of time to print and use a lot of plastic.
Main structural sections I’ve outlined so far:
  • Trigger mount and trigger
  • Top hat/button section
  • Handle left and right halves including hand-rest
  • Gimbal parts
  • Base

Analog Axis that make sense for rotation and translation

Different people set up Joystick/HOTAS/Dual Joystick(+Pedals) to do different things in different games according to what makes sense to them, none of them seem optimal to me for use in a space game with 6dof controls.

Dual Stick (HOSAS)

A pretty weird (in my opinion) setup where you use 2 joysticks, the left joystick is used for translation (movement) and the right is used for rotation (as is the norm) This sounds great until you realize that the twist axis on the left stick doesn’t really have a natural fit, left/right to strafe left/right and up/down to strafe up/down or go forwards/back makes sense, but you can only use it for one of those, and the twist axis gets stuck with one axis of movement that doesn’t make a lot of sense, additionally which ever axis you use for forwards/back will self-center back to stationary if you let go of the stick, meaning you need a separate button to override the throttle axis and set it to full speed ahead while cruising, not very elegant and potentially tiring to fight the re-centering mechanism all the time during manual flight.

Main problem with dual stick is that there aren’t any nice ambidextrous or left handed joysticks, so you’re left with a pretty cheap and bad options and you have a lot less buttons available than a convetional HOTAS setup.

  • Pros: symmetrical layout lets you re-use the same design for both inputs and keep both ergonomic.
  • Cons: Axis doesn’t really make sense for translation.

HOTAS

A joystick in your right hand for rotation and a throttle in your left hand, the throttle doesn’t self-center meaning you can set it where you want it and leave it there which is nicer than a dual stick setup, downside is that no HOTAS throttle out there is designed with 6dof/space in mind, so they tend to only have an analog throttle axis with no additional analog axis for strafe up/down and strafe left/right the x56 “fixes” this by putting analog hat in a very uncomfortable spot, should be where your thumb naturally rests.

  • Pros: Axis make sense, though usually translation is digital, a lot of buttons.
  • Cons: Designed with airplanes in mind, lack 6dof relevant features like analog strafe.

HO(T/S)AM (Hands on throttle/stick and mouse)

A joystick/throttle in your left hand for translation and a mouse in your right for rotation/aim, become very popular recently with StarCitizen’s ongoing balancing problems with gimbals and mouse aim. Aiming with a mouse is superior technically speaking, but it’s a lot less immersive especially since you loose direct control of your ship’s direction due to the mouse controls making your ship follow your gun’s aim, also suffers from the same problems as dual stick with translation on left stick not making a lot of sense and the need for a lefty/ambi stick.

  • Pros: Superior aim
  • Cons: Lacking immersion, weird translation axis if using a stick.

Pedals

Honestly pedals don’t make sense to me in a fly by wire setup, the twist on a joystick handles yaw in a much more intuitive way than moving pedals and there isn’t really any use for a brake in space.

HOSSTAS (Hands on stick shaped throttle and stick)

My idea (not entirely original, there are a few other examples out there), I need to come up with a better name but it basically boils down to you hold 2 sticks, but the left stick has axis that make sense for translation. I’m pondering which of my 2 axis setups makes the most sense: A: Joystick shaped handle but instead of moving like a joystick it moves backwards/forwards (like some throttles) with some resistance and there is a bump in the middle of the motion, lets you go forwards and backwards with one axis and set it to stationary easily, translation done using an analog thumbstick on the end of the joystick shaped handle where your thumb naturally rests. B: Same exact design except the base of stick also moves left/right forwards/back for translation, problem with that setup is that I’m not sure it’s easy moving something in 2 axis that are that close, can you move the throttle axis backwards/forwards without also accidentally moving the stick’s angle that controls the up/down strafe as well? Probably pretty tiring to try and stop the handle rotating when also pushing on it, I’m leaning towards A. I much prefer the throttle being a linear sliding action instead of a rotating pivot point because it improves the ergonomics a lot.

  • Pros: Allows both inputs to have symmetrical handles, reduces complexity of design and allows for optimal ergonomics. Axis makes sense for both rotation and translation.
  • Cons: Can’t think of any.

A lot of buttons and switches

It’s nice having a lot of buttons and switches most space sims need a lot of them to properly control your craft without resorting to weird combos, using a slow to access UI or resorting to the keyboard or voice commands. But there needs to be a balance, too many buttons on the sticks makes it difficult to not accidentally push something and reduces the size of the buttons can have each. I think one analog thumb-stick per joystick and one or two digital hats each should suffice for the upper area, perhaps 1-2 additional buttons if I can come up with a layout that makes sense. I need to spend a lot of time considering how many buttons I need and where they fit probably will need multiple iterations and trial and error to arrive at a satisfying answer on the layout question.

Switches that are satisfying to use

The problem with current HOTAS setups is that they don’t use actual rocker/toggle switches/buttons, they’re momentary buttons dressed up as switches, the x5(5/6) has 7 metal levers coming out of the throttle that looks like switches, but all they do is toggle a button when pushed up/down, it’s not very satisfying since the switch doesn’t stay in place to indicate it’s state, making actual switches work is non-trivial though because constant on signals interfere with keybinding and can come out of sync with the game if the game only registers on/off events. I’ve thought on this for a long time and I think I’ve come up with an acceptable compromise: A rocker/locking switch that sends 2 different button pushes, one when activated and another when deactivated, this works very well for binds that cancel each other, but doesn’t really work for binds meant to toggle in of themselves, could send the same button push when toggled on and off but can come out of sync, would require some way to reset it if out of sync.

One big benefit of making the design modular and 3d printing it myself is that I can switch out elements to better suit different games input wise and cosmetically, can also make some buttons/switches a lot fancier than normal, like have a clear cage over the self destruct button that needs to be opened first, a ejection seat handle looking thing to eject etc. Can also label buttons/switches with what they actually do to eliminate the need for a printed keymap or similar. Can also make a custom “widget” for the power balance, could make it triangular etc.

One additional input type that most HOTAS setups is missing would be cool to add as well: incremental rotary encoders, my x55 has 2 knobs on it that for the most part are useless since they’re an analog axis, most things I’d like to use them for can’t use analog axis, instead a rotary encoder can just sent 2 different button pushes, one when you spin it one way, other the other way to let you step up/down, useful for adjusting things like radar range, power to certain systems etc

Unconventional layout

Benefit of making it myself is that I can do things that no commercial setup would, like integrating tablets/phones as interactive MFDs, putting controls in separate units placed away than the joystick and throttle base, my desk is in 2 layers, I’ve made a shelf my 3 monitors stand on, the front of that shelf is prime real-estate to put some separate controls on for less frequently accessed controls, buttons/switches don’t have to be confined to 2 rectangles holding the stick and throttle. Though the wiring might get a bit messy, can hide most of it under the shelf I think, probably need a powered USB hub to plug all this into to not take all the ports on my PC, will be a minimum of 3 plugs, joystick, throttle and misc control panels.

Mounts

Since I’m designing it myself I can integrate sensible mounts, main points are ease of use and how solid they are. My current thoughts are additional separate pieces that go on the underside of my desk that the movable bases drops into and locks. Main concerns here are to not make large visible holes in my desk or block my chair arms etc.