Fully Analog 60% HID Cluster

Custom Human Interface Device with suite of fully-analog inputs.
Keyboard, Mouse, Dual Joystick (HOSAS), Dual Throttle(HOTAT), and HOTAS.

Public Chat
Similar projects worth following
Modular Chassis centered around a 'DZ60' style compact keyboard .

The Main Chassis houses the keyboard in a simple, but stylish housing with unique but classically inspired curves.

The primary module is an Integrated USB-C Docking Station, providing external display and expanded device compatibility for any connected Computational Device.

Modular Left and Right Component blocks allow for any of the below:

* Arduino Controlled, Dual Analog Sticks and Throttles. Mounting the sticks on a linear slide potentiometer allows them to also function as dual throttles. This gives the user access to 8 analog axes (the maximum fully supported by Windows).
* Support Device Containment, such as supplemental power brick or external hard drives.
* Physical accessory storage, such as mouse, ear buds, etc.

Also exploring unobtrusive ways to support the temporary mounting of a self-contained computing device and display, like the Steam Deck or a DEX-compatible phone/tablet.

To Do:

  1. Create Rough Draft of the Key Cover / Steam Deck Nesting Wrist Rest.
  2. Develop Technique to securely store Steam Deck while Closed and Open.
    1. Must support Quick Disconnect for portable use.
    2. Must be either fully removable or fold out of sight. 
    3. Consider printing the chassis in 2 parts (held together by the keyboard mounting plate), and using the gap to contain a folded friction hinge.
    4. Consider 20 or 25mm ball joint connectors connecting to a DeckMate plate.
      1. May be worth creating a custom DeckMate mount held in place EVEN MORE SECURELY.
    5. Consider no hinge at all, and just using a stand.
  1. Create Basic RHS Stick Module
    1. No Throttle Integration.
  2. Mount Arduino Control Hub Module.
    1. Build it with PCBWAY Custom hardware compatibility in mind. 
  3. Integrate Throttle Controls into RHS Stick Module.

All-Purpose Modular Human Interface Device Hub

  1. Create Prototype Daughterboard to facilitate the connection of (up to) 2x 3-axis joysticks, and 2 single-axis analog inputs (throttles).
  2. Create Prototype Daughterboard to facilitate the connection of (up-to) 4x 2-axis thumb sticks.
  3. Create Prototype Daughterboard to facilitate the connection of up-to (8x) single-axis analog inputs.
  4. Design modular housing for Analog Input devices. 

  • Touch-Up on Steam Dock Module

    Sp4m01/19/2023 at 21:09 0 comments

    It's been a month since my last update to this project, but I haven't stopped working!
    I've made a fork of this project to make a more specialized, even more compact version specifically for the Steam Deck Dock.

    I'll publish the project page as soon, it's almost ready :^).

    First, I have a couple design issues I need to repair! The initial design of the Steam Deck Dock module was printed with one large piece, and a cover that attached from the back. In practice, getting cables through the module was a pain, and I thought I could do better.

    So I re-designed the module to open from the bottom. It's much easier to work with, but there's not a lot of space for secure mounting of the cover, without being creative. Queue Creativity.

    I made some little tabs that nest into the main body, and made a third mounting hole on the back to hold things in place. 

    It works, BUT the tabs are small, and aren't fitting well without sanding. Time for a minor fix!

    .... 3 hours later.....

    After a lot of tweaking, I couldn't settle on a bottom-access style that I really liked, so I went back to the rear-access model.

    I updated it to make the cable routing port larger, which should solve my previous issues with the model.

    The only 'problem' with the updated model is that it will have layer lines along the top and bottom of the module, and a seam where the cover connects. I think I can solve this issue with some sanding, but that may not work well if I need to produce this for others.

  • Feedback on using the dock for a week

    Sp4m11/30/2022 at 18:39 0 comments

    I've been using the keyboard with the attached docking station for a week, and I have found several improvement opportunities. That's a nice way of saying that it's pissing me off.

    I like the design above, the in-set ball and the nice hollow around it draw the eye.

    Prototype printed in 'Purple Disappointment' with a copper ball for contrast

    View of the docking station. Look at all those tasty ports!

    • Dock + Keyboard do not work across the USB switch I use to cycle between work and personal machines at my desk.
    • RAM 25mm Ball Joint Connectors are too heavy,
    • Ball joint recess makes interior cable management difficult.
    • Lack of direct access to the keyboard plug limits usability when I wanted to just plug in the keyboard.
    • USB cables plugged into the ports bump against my laptop because they are low, and my desk is small.
    • The seam between keyboard chassis and dock is unappealing.

    Surprisingly, having the USB-C port only work in a single orientation was not a problem.

    Plans for next revision:

    • Built in cable management as a separate piece with combs.
    • Built in stand for Steam Deck, not a semi-permanent mount.

  • On USB-C Couplers, Extensions and Standards

    Sp4m11/23/2022 at 19:09 0 comments

    I learned something awesome this week!

    TLDR: If you're using a Female-Female / Receptable-Receptacle (abbreviated R-R going forward) USB-C adapter, USB-C cables get a 'Top' and 'Bottom' side, and the connection will only work if all cables and adapters are properly aligned.

    The USB-C standard [] provides instructions that help 3rd party providers create proper USB-C cables. 

    Although R-R adapters can be purchased, they violate the design standard of USB-C and cause USB-C to lose its' reversibility.

    A USB-C Cable has 12 pins on each side, and in support of establishing an initial connection, those pins are mirrored so the PLUG can be inserted into the RECEPTACLE in either orientation. After a plug is inserted and the connection is initialized, the connection MAY use pins on both sides of the cable asymmetrically to facilitate high-speed data transfer.

    See graphic below for USB2.0 protocol communications. The D+ and D- signals are only present on one side, and the CC and VCONN signals are not mirrored.

    Once a USB-C device is connected, the PLUG and RECEPTACLE coordinate on which pins will be doing what, for a given device. This is different from SOURCE (keyboard) and HOST (computer).

    If there is an R-R adapter in the middle, the pin-function coordination is established from both sides of the adapter, independently of each other.

    This creates a situation where all wires in a chain need to have the same arbitrary orientation to connect, and there are no indicators when this has failed.


    If you must use an R-R connector, test the full connection to find the proper orientation of the cables that work, then mark the upright position of all your cables.

    It will work, but it means your device will only connect if the cable in the proper orientation. 

    It's not elegant, but it is possible.

  • New Chassis, New Mistakes

    Sp4m11/22/2022 at 21:17 0 comments

    Sorry, that title was clickbait. The design process is iterative, so of course I have improvement opportunities.

    This is the primary view pf the chassis, it's pretty simple straight forward.
    On the left hand wall, you can see a black spot where I was sloppy with the soldering iron while installing the heat-set screw inserts. /SHAME

    • It may be an improvement if I push the side walls out about 4 mm. As-is, my hands brush against the walls more often than I'd like. This would add a bit of volume to the chassis, but keeping things small is just a goal. It must not compromise functionality or comfort.

    This is the view of the port connector on the rear of the chassis.

    • Still leaving a 1mm gap, there's 2.3 mm extra space below the USB-C Connector on the keyboard, and 1.9mm extra space to the left and right, so there's one opportunity to clean this up
    • The detail elements (the vertical columns) lost detail at my printing resolution, but it's no big deal. Lesson learned: don't bother to create sub-mm artful flourishes.
    • The Right Angle connector rests a lot higher than I expected, and actually protrudes farther than I expected as well. 

      2.63 mm above the chassis on the top

      3.84 mm above the chassis on the bottom.

      This connection should be covered, and the cable should be secured, so I don't think this extra space will contribute to a situation that damages the keyboard connector port, but this makes the whole cutout a bit sloppy and possibly unnecessary. 

    Here's the bottom of the Chassis:

    Looking just about perfect!

    You can see how the Hilbert Curve infill pattern adds both complexity and consistency to the feature.

    I added 2 pairs of peripheral mounting points to the front of the chassis. I was concerned that they were too far forward, and would both be visible to the user, and that the 4mm of vertical space needed to house the heat-set inserts would interfere with the keyboard module positioning, but it looks like my initial modelling was accurate, and there is even a little wiggle room over them.

    It may still be wise to push them back a little and create a recess for the screw holes, but that would create another obstacle that I need to work around if I get a steel plate cut.

  • Printing an Updated Chassis

    Sp4m11/22/2022 at 04:46 0 comments

    After working on modular components for a few weeks, and spending some time typing on my chassis, it's time to implement a few core design improvements.

    Little Things

    • Removed the holes I placed in the center of each foot crevasse.
      • Bridging did not print properly with a hole.
    • Added 4 new mounting holes on the front edge of the chassis

    Using some chassis elements originally created to facilitate the injection molding process, I bulked them up a little and added some holes that go through the base. 

    • This could be used to secure a wrist rest or a thumb-activated peripheral like a scroll-wheel or trackball.

    The Cable Cutout

    The original hole cut into the chassis was adequate for connecting a cable straight in, but if I want to do any cable management, and install an angled connector, I discovered that the rear of the chassis was far too bulky.

    • I created an indented region in the back of the chassis that's between 1 and 2 mm thick.
    • Indent is properly sized to rest a USB-C andle connector, and a connected USB-C Cable.
    • Chassis Detailing had to be adjusted to make room as well, so I gave it some personal attention.
      • The indents were replaced with canted out-dents, to make sure there was room for cables.
      • I altered the height of the out-dents by subtracting the digits of pi from the net height of 11 mm.

    Queueing the Print Job

    Printing in Black Silk, because I hate it and this is a prototype.

    I used custom supports to make sure I don't get filament stuck in the "foot holes"

    And printing it at a skinny-ass layer height, because I'm running this overnight, and I have the time.

         .4mm layer height prints crazy fast out of a .6mm nozzle, but it takes a lot of sanding to get those layer lines gone..

    Check out that delicious Hilbert Curve infill.

    In the past few weeks I've also done some Proof-of-Concept testing with the docks and the wiring, and that did not go as well as planned. It was a very valuable experiment. That update will come soon!

  • Sidetracked: New Chassis Design

    Sp4m11/21/2022 at 20:23 1 comment

    A week or so back, I was reflecting on common chassis designs for 60% keyboards, and how flatness is a major design commonality.

    I thought.. since I'm 3d printing, and not laser cutting or CNC milling, I bet I could make a chassis with a little cake.

    In this context, 'cake' refers to buttocks.

    All things considered, not too bad!

    I added a dimple to the front to accentuate the curves, but because of the off-center positioning of the space bar, it's creating some dissonance with my sense of sanity and order, so that's not going to work.

    All-in-all, I think it's okay, but the design is not compatible with my modules at the moment, so I'm going to return to my original chassis and continue from there.

  • Ooooh, Shiny!

    Sp4m11/04/2022 at 03:54 1 comment

    Today I've fleshed out the measurements of a steel plate that can be embedded in the chassis of either the original Wooting HE60 case, or the one I designed.

    Why? Because I thought it would be really fast, and I was wrong.

    The Wooting 60HE is an analog keyboard, and it uses magnetic hall-effect switches in each key to register an analog value corresponding to the depth of each key press. This means that if you take a magnet and you rub it under the keyboard, it will register key-presses. This is expected behavior, and not a common occurrence, but I still have an idea with how this can be mitigated!

    I did some testing, and about 2mm worth of a magnetically reactive metal is enough to dampen the magnetic field enough to prevent the keys from triggering. This is also a potential opportunity for me to leverage PCBWay!

    PCBWay provides not only on-demand circuit-board prototyping, but laser-cutting and CNC as well!

    So why not?

    Maybe because it's not necessary, and tangential to my higher-priority design goals?

    Eh. I'm dumb. Let's do it.

    Also, let's add some artificial design constraints!

    I want it to be reversible, so people can experiment with different finishes or colors, without needing to buy two plates.

    The one above was my first design. Like a good pair of underpants, it goes forwards, backwards, upside down forwards, and upside down backwards!

    Then I checked its fit in the original Wooting Chassis, and it wasn't great.

    So I went back to the drawing board to make a steel plate that would fit both.

    This one flips on the X-axis, and has a nice fit in the original Wooting HE chassis.

    My modular chassis was made a little roomier than the Wooting Chassis, less chamfer, and since it's printed and not injection molded, I didn't need as many injection molding access tubes.

    Parts of my chassis art aren't covered, which I can compensate for by adjusting the art. All-in-All, not a bad sacrifice if I can make a thing that works for the original chassis as well!

  • Steam Deck Dock Prototype Complete!

    Sp4m11/02/2022 at 02:48 0 comments

    Not Bad! We'll see how it looks when printed. The device connection interface was moved to a second module, and I decided to mount it at a 45 degree angle for the following reasons:

    1. It's got a little style.

    2. It preserves the majority of the depth of the device.

    3. When connected to a Steam Deck, the wire will go up?

         This one is pretty weak, I know.

    This is a small module, so there's very little lost if the printing goes awry.

  • Waste Not, Want Not

    Sp4m11/01/2022 at 00:16 0 comments

    I recently tested out "Black Silk" filament, and found it to be more like "Purple Stripe" filament, but that's okay!
    I decided to use the parts for a painting test!

    The power bank was already sanded, 150 grit dry-sanding, followed by a 400 grit wet sanding. It felt pretty smooth, so I was pretty sure the painting would go well.

    The Steam Deck Dock Module wasn't sanded yet, so I figured I'd see how it looked if I painted it, then sanded. FOR SCIENCE.

    Spoiler: It looked bad.

    I gave them both a base coat of Citadel Bone White Primer. I used that primer because it was the closest. It's a very fine primer, and since I'm hoping the paint can fill in some of the layer-lines, it was probably the worst one I could have chosen.

    Once that was try, I applied a few layers of high gloss Rustoleum Ultra-Cover.

    I let the paint dry for a couple of days, which was only possible because I had a camping trip. Otherwise I would have been much more impatient. 

    I sanded the Steam Deck Dock module (Left) by hand with a coarse sanding sponge, then a fine, wet sanding sponge. You can see that the uneven texture immediately caused the red and the primer to strip off, leaving the dark gray/purple of the "black silk" filament of shame behind. This is more or less what I expected, but the patchwork look can be pretty cool, if you can get past the layer lines.

    I wet-sanded the Power Brick Module with 1000 grit sand paper on my Harbor Freight hand sander, and I learned that I should have hand sanded that one. It's still looking pretty good, but places where I applied too much pressure stripped all the paint off. I was hoping that this would sort of be the smooth, shiny finish that I heard you can get with high-grit sand paper, but I think I'm going to need to give it another coat of paint and try again.

    Meanwhile, handling these modules brings more "Improvement Opportunities" to light.

    The Power Brick Module can be improved by removing the "support/guide rails" from the top of the box, and augmenting the distance/size of the ones on the bottom. That will give a cleaner finish to the top, AND make space to run wires, if I were so inclined.

    The 'End Cap' of the power brick can use some more style, but it's completely stand-alone, and I can iterate on that separately.

    The Steam Deck Dock Module had a lot more improvement Opportunities, though it was subtle.

    I moved the RHS mounting hole all the way to the right of the module. 

    This makes the opening for cable management a little more than 4mm tall, but that should be fine.

    I also cleaned up the Geometry a bunch, which probably isn't apparent, and made a nice rounded nook for the Steam Deck Dock's permanent Cable to wrap back through.

    I really like the short form factor with the Steam Deck Dock on the Right. The handle is nice too.

    I think I can smooth out the design by pulling the back end of the Keyboard Chassis out 27mm and using the extra interior space as a cable channel, and a way to mount the USB C panel mount.

    Unfortunately my power brick is  still way too long, but I guess I could mount it laterally, or find a similar one that's smaller.

    I think I'm going to see if I can find a new USB panel mount that's no more than 25mm deep. That would clean things up a bit!

  • Steam Deck Dock RHS Module, Version 2

    Sp4m10/27/2022 at 20:21 0 comments

    I was immediately dissatisfied with the size of the first RHS Steam Deck Dock Module. At its most simple, I want to provide a sexy keyboard and dock integration solution, and I think using the official steam deck, and keeping the form factor close to the Steam Deck is the best way.

    With the mk1 design, I had the following problems:

    1. It was too long. This off-set the aesthetics of the device.

    2. All connections are facing to the right of the device.

    This isn't too bad, but it means that the keyboard cable needs to run the full perimeter of the device to plug into the hub, and that the cable connecting the steam deck to the hub has to run a longer distance.

    3. There is no solution for cable management, and added need for cable management.

    By iterating on my design, I think I can address these issues.

    The Yellow wall shows the cable management channel. Devices plug in to the hub, and their cables tuck into the left side, and then run through the cable channel.

    Here's the end-cap. What a disaster! What was I thinking?! No wonder it broke.

    I want to move the screw-holes to the same face. The opening on the back is a cable channel, and I want it to be open on one side (closed by the end cap), so I don't need to worry about squeezing cable connectors through there.
    Also, I thought I'd try to see how the module looks with a symmetrical rounding. I'm not a fan, I think it adds too much depth to the model. 

    Doesn't that look nicer! It carries forward the slope and groove pattern from the back of the chassis. I had the opportunity to use one of the screw connectors for the back to also align with the 55mm spacing of the chassis mount points, but that particular position interfered with cable management, and it seems unlikely that I am going to connect additional modules to the back side of this one. Instead, I opted to position the connection points where they'd be most effective and easily added to the model.

    I want to point out one technique I've developed that I think is sort of clever.

    The yellow slope provides a gradual build platform for that support hole. It's going to be on the top of the model when printed, and by using a sloped edge, I can avoid the need for supports!

    Here's my print config: 

    No support in the holes this time, print temp upped to 220 (recommended for the Black Silk filament) and minimal support structures.

    Wish me Luck!

View all 18 project logs

Enjoy this project?



Sp4m wrote 10/17/2022 at 19:21 point

Low Hanging Fruit:
Modular Box 1: Storage for External Battery.
Modular Box 2: Trackball and Storage for Traditional Mouse or other components.

Thoughts: Put Holes all over this thing, with screw-on plate covers. That will add some texture and color, and keep the design simple.

  Are you sure? yes | no

Sp4m wrote 10/17/2022 at 17:58 point

Here's a thought: Steel Trackball mounted in the top of right analog stick. Capacitative touch sensor disables mouse unless in contact.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates