{"id":392,"date":"2015-05-31T02:28:19","date_gmt":"2015-05-31T07:28:19","guid":{"rendered":"https:\/\/makecoolthings.com\/?p=392"},"modified":"2016-10-08T03:50:20","modified_gmt":"2016-10-08T08:50:20","slug":"week-22-2015-we-are-now-in-control-part-i","status":"publish","type":"post","link":"https:\/\/makecoolthings.com\/?p=392","title":{"rendered":"Week 22, 2015 &#8211; We Are Now In Control (Part I)"},"content":{"rendered":"<p>Ever since I saw a magazine ad for one over a decade and a half ago (Yes, a magazine, like\u00a0the printed-on-paper kind!) I desperately wanted a Saitek X36 HOTAS, but they cost like $200 and that was the gameport version! They later released a version that also had <acronym title=\"Universal Serial Bus\">USB<\/acronym>, but by then I had too much other stuff on my mind and years passed (As they tend to do.) until finally, a few years ago, I snagged one on eBay for $12 shipped (!?) and then a few months later another for like $30, because why wouldn&#8217;t I have spares? \u00a0This was of course just in time for the\u00a0<em>Elite: Dangerous<\/em>\u00a0hype.<\/p>\n<div id=\"attachment_373\" style=\"width: 655px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-373\" class=\"wp-image-373 size-large\" src=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_01-1024x683.jpg\" alt=\"x36throttlemod_01\" width=\"645\" height=\"430\" srcset=\"https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_01-1024x683.jpg 1024w, https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_01-300x200.jpg 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/a><p id=\"caption-attachment-373\" class=\"wp-caption-text\">A little worse for wear, but not bad for being over a decade old, and certainly not bad for $11.95 including shipping!<\/p><\/div>\n<h3><\/h3>\n<p>But, because this is me we&#8217;re talking about, things cannot possibly be that easy, can they?<!--more--><\/p>\n<h3>Driver Shenanigans!<\/h3>\n<p>Soooo, problem numero uno: There are no 64-bit Windows 7 drivers for the Saitek X36&#8230; \u00a0<em>I know, right?<\/em> \u00a0However, there\u00a0<em>are<\/em> for the X45, which is functionally identical but seriously hideous. So I hatched a plan&#8230; \u00a0This isn&#8217;t the first time I&#8217;ve had to roll my own 64-bit drivers; back when I was running Windows XP Pro x64 I had this little <acronym title=\"Universal Serial Bus\">USB<\/acronym> dongle for programming the high-end Futaba speed controller\u00a0in my Tamiya TA05 RC car chassis, and it was based off of a standard commercial <acronym title=\"Universal Serial Bus\">USB<\/acronym>-to-serial chipset, but with a custom <acronym title=\"Universal Serial Bus\">USB<\/acronym> VID\/PID&#8230; The chipset&#8217;s vendor had 64-bit reference drivers, but Futaba only provided a 32-bit driver\u00a0that worked with their customized version&#8230; So, I took the VID\/PID of the customized Futaba device, and put them in the reference 64-bit driver from the chip vendor, and boom! Worked. \u00a0Anyway, as I was saying&#8230;this wasn&#8217;t my first rodeo, so I did basically the same thing; I took the X45 driver, but stuck the X36&#8217;s PID in the .inf file and changed the folder name to match, so it&#8217;d get loaded as the X36 driver, and it worked flawlessly!<\/p>\n<p>About the only problems are that without the Saitek software&#8211; the modern version of which doesn&#8217;t even support the X45 anymore, and the older versions of which are too decrepit to run on Win7 &#8211;I lose some of the configuration bells and whistles, which I don&#8217;t need anyway, and windows only recognizes the main hatswitch as being a true POV Hat, so all the others just show up as four buttons. \u00a0Also, the two 3-position switches show up as two clusters of \u00a0three buttons, one of which is constantly on&#8230;and this can bugger some games&#8217; controller implementations. (I&#8217;m working on a hardware fix, other than just disconnecting the switches.)<\/p>\n<h3>Hardware Modding!<\/h3>\n<p>Well, first thing on my agenda was to make the two rotary dials on the throttle less useless. (They&#8217;re more suited to traditional flight sims.) My first thought was to replace each potentiometer with two pushbuttons, which would require designing and then 3D printing little &#8216;pods&#8217; to house the buttons&#8230; Nothing I came up with there seemed right, so I looked at it again. \u00a0Well, with RC planes and quadcopters and stuff, when you want to replace a dial on your radio with multiple &#8216;binary&#8217; controls, you use a switch. (Can also be used to replace an analog dial with a multi-position switch to create a &#8216;range&#8217; of commands on a radio channel, being interpreted by a\u00a0software flight controller.)<\/p>\n<p>Of course this is already where I got the idea to replace the pots with buttons, since I&#8217;d have to wire them up with a common ground, and then wire the hot sides of each button through a different value of resistor. (So one would look like the &#8216;high&#8217; end of the axis, and the other the &#8216;low&#8217;.) Neat thing about\u00a0<em>Elite: Dangerous<\/em> is that the controller setup is very accommodating when it comes to using analog axes for &#8216;binary&#8217; commands. Most games won&#8217;t let you do that. \u00a0But <em>Elite<\/em> will let you set positive and negative motion on an axis&#8211; not even a specific point, but just &#8220;it\u00a0just moved\u00a0in that direction&#8221; &#8211;to a command.<\/p>\n<p>At any rate, I wired in an On-Off-On momentary toggle switch, and I tested it&#8230;success! \u00a0It&#8217;s in the perfect position on the throttle for my thumb, which is otherwise only used to initiate the Frame Shift Drive with the throttle&#8217;s main button, or navigate menus with the little &#8216;mouse&#8217; thumbstick&#8230; So what can I use it for? <em>Oh, I know!<\/em>\u00a0Ha! Perfect!<\/p>\n<p>So, I click it down, and I boost. \u00a0I put my thumb under it and lift up, and it reverses my throttle. (The X35T doesn&#8217;t have a center detent on the throttle axis, so I prefer the &#8220;0-100% w\/reverse&#8221; setting in <em>Elite<\/em>.)\u00a0It&#8217;s\u00a0amazing in combat, because it\u00a0lets me fly with the throttle wide open\u00a0but moderate\u00a0my speed by feathering the reverse&#8211;\u00a0to the point that I can basically come to a zero-relative-velocity hover and circle-strafe my enemy &#8211;hold it in reverse if I&#8217;m getting too close,\u00a0and release it and boost if they start to break away. \u00a0Of course&#8230;that little metal toggle switch was\u00a0<em>terribly uncomfortable.<\/em> \u00a0Let&#8217;s see what I can do about that. \u00a0It&#8217;s time to\u00a0<em><del>science<\/del>\u00a0engineer the shit out of things.<\/em><\/p>\n<h3>Mistakes\u00a0Were Made, Also\u00a0Things<\/h3>\n<p>I already had a pretty good idea what I wanted, so it was just a matter of getting it done&#8230;so I did it! \u00a0Aren&#8217;t 3D printers great?! \u00a0I couldn&#8217;t make it as low-profile as I wanted, because of the length of the lever\u00a0on the switch, but someday I&#8217;ll have a workaround for that.<\/p>\n<div id=\"attachment_680\" style=\"width: 655px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36thumbswitch_blueprint.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-680\" class=\"wp-image-680 size-large\" src=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36thumbswitch_blueprint-1024x683.png\" alt=\"x36thumbswitch_blueprint\" width=\"645\" height=\"430\" srcset=\"https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36thumbswitch_blueprint-1024x683.png 1024w, https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36thumbswitch_blueprint-300x200.png 300w, https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36thumbswitch_blueprint-768x512.png 768w, https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36thumbswitch_blueprint.png 1500w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/a><p id=\"caption-attachment-680\" class=\"wp-caption-text\">Not bad! Looks like it <em>belongs<\/em> on military flight controls!<\/p><\/div>\n<p>It took several\u00a0tries printing it&#8211;\u00a0I&#8217;m still really new to this whole amazing as hell 3D printing thing &#8211;but the results were outstanding.<\/p>\n<div id=\"attachment_374\" style=\"width: 350px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_02.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-374\" class=\"wp-image-374\" src=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_02-1024x683.jpg\" alt=\"x36throttlemod_02\" width=\"340\" height=\"227\" srcset=\"https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_02-1024x683.jpg 1024w, https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_02-300x200.jpg 300w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><\/a><p id=\"caption-attachment-374\" class=\"wp-caption-text\">Compared to the unmodified throttle.<\/p><\/div>\n<div id=\"attachment_375\" style=\"width: 350px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_03.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-375\" class=\"wp-image-375\" src=\"http:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_03-1024x683.jpg\" alt=\"x36throttlemod_03\" width=\"340\" height=\"227\" srcset=\"https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_03-1024x683.jpg 1024w, https:\/\/media.makecoolthings.com\/wp\/2015\/05\/x36throttlemod_03-300x200.jpg 300w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><\/a><p id=\"caption-attachment-375\" class=\"wp-caption-text\">Closer look at the profile. At some point I&#8217;d like to design a snap-on bezel that better blends the throttle&#8217;s contour and hides the stem of the switch.<\/p><\/div>\n<p>With that all taken care of and working&#8230; I tossed all my progress out the window!\u00a0\u30fd(\uff61\u2200\uff9f)\uff89 \u00a0 lol, the mode-selector switch on this throttle was a little janky and had\u00a0a slight flutter, add to that the fact that the second set I got had a stick with a much tighter deadzone, and I switched this set out\u00a0for the other pair. \u00a0(Which is fine, I&#8217;d only modded the one dial so far.) So I modded\u00a0<em>both<\/em> dials on the second throttle.<\/p>\n<p><a href=\"https:\/\/makecoolthings.com\/?p=394\">In Part II we&#8217;ll look at the switch panel I made for the front of the throttle to add some more controls!<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Ever since I saw a magazine ad for one over a decade and a half ago (Yes, a magazine, like\u00a0the printed-on-paper kind!) I desperately wanted a Saitek X36 HOTAS, but they cost like $200 and that was the gameport version! They later released a version that also had USB, but by then I had too [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bgseo_title":"","bgseo_description":"","bgseo_robots_index":"","bgseo_robots_follow":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[28],"tags":[45,44,55],"wf_post_folders":[79],"class_list":["post-392","post","type-post","status-publish","format-standard","hentry","category-status-report","tag-3d-printing","tag-game-controllers","tag-modifications"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6NlLW-6k","_links":{"self":[{"href":"https:\/\/makecoolthings.com\/index.php?rest_route=\/wp\/v2\/posts\/392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/makecoolthings.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/makecoolthings.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=392"}],"version-history":[{"count":4,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=\/wp\/v2\/posts\/392\/revisions"}],"predecessor-version":[{"id":795,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=\/wp\/v2\/posts\/392\/revisions\/795"}],"wp:attachment":[{"href":"https:\/\/makecoolthings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=392"},{"taxonomy":"wf_post_folders","embeddable":true,"href":"https:\/\/makecoolthings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fwf_post_folders&post=392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}