Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller  (Read 7187 times)

0 Members and 1 Guest are viewing this topic.

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
PJRC is putting together and testing firmware with well.... 128 buttons, 6 axis, 17 sliders (with 12 bit resolution) and a 4 POV joystick controller. You can read a bit more about it on his(?) forum.

I notice he's rather light on the actual hardware configuration. He's centering the build around the Teensy 3.* series which uses an ARM M4 with 34 I/O broken out. For those who don't have a grip on the specs, the Arduino platform typically run on 8 bit AVR chips running at 16MHz or less. The M4's are 32-bit chips running at (in this case) either 48or 72MHz. What's interesting is that I haven't seen any details on the actual wiring being done. He's mentioned several times he's "mux"ing the input. That would explain the diode array in the smaller circuit board he's constructed (I haven't seen the larger board).

I think it's interesting that the "community" is practically boning each other over the fact he's got 128 buttons on there. Not a big deal IMHO. A couple of GPWiz40's and you're done.

I'm far more interested in the technical backend and how he manages to shove so many I/O into Windows and have it recognizable by, apparently, specialized tools. Reading the RawInput I guess. In nearly every discussion I've come across, I've always seen the 32 button limit on the joystick HID cited. Still haven't come across this specific detail in the USB docs so I'm lead to think this has more to do with Windows rather than the USB descriptor. Anyhow, enough of my thoughts, what about yours?
« Last Edit: February 15, 2014, 08:06:12 pm by SavannahLion »

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #1 on: February 15, 2014, 09:17:36 pm »
Took a closer look at how Windows manages the USB joystick and I can see where the oft cited 32 button limit comes from.

I don't really have the time to dive further into the underlying Windows to watch what is happening. So I suppose this will get put on a watch and see list for me.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #2 on: February 15, 2014, 10:13:08 pm »
This is all theoretical, I haven't tested to confirm, so take it as you will but....

There isn't a limit on buttons in windows, rather there is a limit on how many buttons show up in the joystick properties and subsequently when polling the properties of the joystick, how many buttons it reports back. 

If you were, so say, make a 64 button joystick, it would work just fine and if you specifically ignored it's button count, polling the status of buttons 33-64 as well, it should operate normally. 

I think a better question though would be why in the world would you need more than 32 buttons?  If you do surely you'd rather separate them into different devices (which is possible in the avr's code) so they are easier to sort out. 

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19960
  • Last login:July 17, 2025, 10:00:30 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #3 on: February 15, 2014, 10:16:37 pm »
***Build what you dig, bro. Build what you dig.***

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #4 on: February 15, 2014, 10:39:08 pm »
:D

404

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1019
  • Last login:August 04, 2015, 10:19:10 pm
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #5 on: February 15, 2014, 10:44:28 pm »
saw this earlier. May have to pick up a teensy 3 to do some fiddling just for the hell of it.

here is the thread where the discussion that started it all
http://forum.pjrc.com/threads/23681-Many-axis-joystick

Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4134
  • Last login:June 11, 2025, 11:55:17 pm
  • NOM NOM NOM
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #6 on: February 16, 2014, 02:33:36 pm »
What is it about people whom "go big", get torn apart by people whom Dream small?

  Somebody out there, is in need of a large number of buttons for an amazing project, but with all the abuses and mockery that the guy may be getting.. who knows if it will get finished and sell...

 Instead of thinking "Why would you .. "  and then negatively jabbing away...

 How about finishing off with "..  Idea, Idea, Idea ... ", followed by, "Thats pretty cool, to have that possibility.  Thanks!"


 Let me start.  Without really considering all the Ramifications...  heres a 1min brainstorm:

 - Multiple Cabinets, linked.  Needs only One PC... and One powerful encoder.   Possible Use of multi-cores to run several instances of emulators.

 - Keyboard / Midi  Controller. 

 Hook up even dead / cpu fried keyboards to the unit, run your favorite keyboard emulator, and play away.    Make your own customized multi-instrument stations, without need for multiple midi inputs on the PC, nor multiple PCs.

 - Museum interactive displays / games.

 - Flight Sims?

 - Custom Pinball Input & Output Controller?  Not sure if theres output capability or not.. but Pins do have a considerable number of switches to track.. as well as needing very quick response times.

 - Custom Carnival / Party games?   For example, a "Fascination" game, has a 5x5 matrix = 25 inputs per machine.  Then probably a few extras for lockdown / release mechanism, winner light, and the main game announcers controller unit.

 - Halloween Haunted House controller.  Sensors, switches, etc... to control various pop out actions, motors, lighting..etc.

 - DJ Controller?  Lighting controller?

 - Led lit dance floor matrix?  Simulate the D & D square game that was on Starcade?  heh

 - Movie Prop / or fully functional home simulators of famous control panels... such as in Star Treks multi-console bridge,  Back to the Future's DeLorean Time Machine, X-Wing fighter with motion cockpit, etc..

 - Model Railroad controller?


 Possibilities are only limited by your level of creativity and imagination.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #7 on: February 16, 2014, 03:30:19 pm »
Maybe because none of those ideas would inhibited by the one specific issue we were discussing?  This is a gamepad issue limiting the number of reported buttons for a hid GAMEPAD device.  Nearly none of the ideas you posted have anything to do with a hid gamepad. 

As for the ones that do, don't you think it would be more logical and easier to trace lets say a convoluted sim rig if the different portions of said convoluted sim rig showed up as different devices?  Like your autopilot buttons show up as a "auto pilot" input device, your altitude controls show up as altitude ect....  This can all be done in software/firmware... you'll still only have one avr. 

And for that matter if you need a slew of all digital inputs why not just use a keyboard encoder?  Most sims expect you to use a keyboard for all the auxiliary buttons anyway. 

I mean nice try refuting things there guy, but next time make sure you are aware of what we are actually discussing.  In this case we were just talking about an odd quirk in the windows hid interface... nothing in regards to "crushing dreams" was ever discussed.

Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4134
  • Last login:June 11, 2025, 11:55:17 pm
  • NOM NOM NOM
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #8 on: February 16, 2014, 04:20:53 pm »
Quote
I think it's interesting that the "community" is practically boning each other over the fact he's got 128 buttons on there.

 
Quote
Insert yotsuya Img.

Quote
... nothing in regards to "crushing dreams" was ever discussed.

 Im almost shocked at the blind ignorance you exhibit Howard.  Truly.  Amazing.

 As for Keyboard encoders.. they

 1) Dont have mutl Axis analog inputs
 2) Dont support Joystick buttons  (possibly faster polling rates)
 3) Who says that whatever you wish to build, is better to use Keystrokes?
 4) Who says, that the device itself, isnt capable or interchanging joysticks / keypresses?
 5) Who says, that there isnt a software method to divide the inputs across a few virtual devices?
 6) Maybe Im behind the times and functionality of windows latest.. but last I knew, you couldnt assign your own names to controllers.  If the developer put them in... thats what showed up in the driver, and thus in the controller section.  As such, a hardware Hacker - isnt going to see the name "Time Machine Panel", or "Star Wars dash 1"    In fact, the Name means nothing!   Does the switch function?  Shows blinking in control panel... so Yes.  Assigns to game function, without issue.  If No, then check switch connection, and soldier pins.   How simple is that?

 If your creating a massive rig, you dont rely on software.  Wires are individually tagged, often colored, and a legend is hand written.  Software changes, corrupts..etc.  Your legend, and wire tags, do not.

 Any hardware geek / hacker / tech  will tell you the same.

 I dont have time to argue with you.  You will just find ways to worm out of it, and deny obvious facts anyways.  As seen above.   But feel free to write your "Howards-Holy-Law" down..  so people can chuckle at your rigid self appointed, often way off-base, Opinion based beliefs. (that you turn into fact)

 I actually laughed at the last post you made about someone else being rude, when you attempted to paint your opinion, into fact..  and replied to him Rudely... then denied being rude, because in your circular self-created (not actually backed nor factual.. just Opinion based.. )  logic..  his opinion being different, was a form of personal assault and insult.  Wow.  Talk about delusion, insanity... 

 Do you have any friends in real waking life.. outside the confines of your self confined compound?  Online does not fully count either.  Im talking face to face conversation, and hanging out with people for more than 30min spans?

 Its not to personally attack you, but to make you try to realize.. your rigid opinionated back and white beliefs, are way too harsh and completely impersonal, to a level that makes my darkest post look like a Care Bear episode in comparison.

 Personal Opinions are not Facts.

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19960
  • Last login:July 17, 2025, 10:00:30 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #9 on: February 16, 2014, 06:00:53 pm »
Howard asked "why would you need 32 buttons?" I posted a photo of something that would need at least 32 buttons. I fail to see how that's tearing down a dream. Howard's question is a valid one.
***Build what you dig, bro. Build what you dig.***

leapinlew

  • Some questionable things going on in this room with cheetos
  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7919
  • Last login:July 12, 2025, 10:33:20 pm
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #10 on: February 17, 2014, 12:51:02 am »
Howard asked "why would you need 32 buttons?" I posted a photo of something that would need at least 32 buttons. I fail to see how that's tearing down a dream. Howard's question is a valid one.

Theres your new title Yotsuya!

the dream crusher

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19960
  • Last login:July 17, 2025, 10:00:30 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #11 on: February 17, 2014, 12:56:11 am »
Naw, I agree with Howard looking at the controller from the arcade joystick perspective. Half the stuff X2 mentioned is extreme niche hobbiest stuff.
***Build what you dig, bro. Build what you dig.***

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #12 on: February 17, 2014, 01:37:58 am »
Howard asked "why would you need 32 buttons?" I posted a photo of something that would need at least 32 buttons. I fail to see how that's tearing down a dream. Howard's question is a valid one.

Theres your new title Yotsuya!

the dream crusher

Then can I be "Conqueror of posts... destroyer of threads" ? :D

SL is always working on some crazy project and I'm sure there is a  good reason why he is looking into it, but from a realistic standpoint we don't have a lot of uses in our hobby or even extensions of the hobby like sims, ect.   Like I mentioned, with lots of digital only inputs a keyboard encoder makes more sense as most of the software you'll run into doesn't support that many buttons, making the whole deal pointless.  Anything that also does outputs isn't going to show up as a gamepad.  Your only real output interface via HID from a gamepad would be force-feedback, and it's not only super-cumbersome to program for, but has a similar logical limit to inputs.    So even something like a pinball controller would probably use a generic hid serial device in addition to a separate physical input device, and again, not a gamepad. 

You actually want this because managing all of that data would require a lot of processing by a single avr.  It's better to do it with two (or more) in parallel.  For devices with an extremely large of I/O operations a HID serial interface is better because you can handle the data in a custom manner, send data in banks, only send changed banks, ect.  It just makes for a speedier interface.

Gamepad devices are useful for gaming... and that's about it.  I mean even in the sim field, the thing you need are sliders and axis.  Well windows (as well as Linux) have the same logical limit of 6 axis, 16 sliders and I think 8 hat switches.  So that's 6 full axis and 16 half axis (one way).  If you can't make due with that you are doing a 747 simulator or something and saving a couple of bucks on your avr is probably the least of your concerns.  But lets say you DO need more axis.  Well the only way to do that as a hid gaming device on a single AVR is to make the AVR show up as multiple gamepads... and we are right back to my argument as to why you would put 128 buttons on a single gamepad device when you could split them out over multiple devices. 

This will make your packet size much smaller as well.  Windows joysticks can be setup with callbacks to let a program know when a joystick's state changes (this is a common method).  Well the only problem is you get a report of the full state of all buttons and axis with every callback.  Just for the buttons alone you'd send a minimum of 16 bytes per packet any time any button was pressed on a 128 button joystick.  On the other hand part it out over 4 joysticks and the size of the button report is only 4 bytes a joystick and only the joystick with pressed buttons sends the bytes.

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19960
  • Last login:July 17, 2025, 10:00:30 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #13 on: February 17, 2014, 10:52:29 am »
Oh Howard, there's no room for facts and data when we're talking about DREAMS, man....  :dizzy:
***Build what you dig, bro. Build what you dig.***

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #14 on: February 17, 2014, 02:26:05 pm »
Quote
I think it's interesting that the "community" is practically boning each other over the fact he's got 128 buttons on there.

X, when you take a quote out of context you look bad. What I said, in context, was:

I think it's interesting that the "community" is practically boning each other over the fact he's got 128 buttons on there. Not a big deal IMHO. A couple of GPWiz40's and you're done.

A number of people who are eager for this really don't understand what the design entails. Gathering the information and the comments, it's painfully clear that with a MCU with 34 I/O available, you absolutely cannot read that kind of input in parallel. And as most people here already know, there is an associated penalty with that.

Now, granted, not every situation justifies a full parallel input interface and that's fine. SNES and Genesis did just well serializing and multiplexing that input. However, unlike you, someone who chooses this controller will hopefully consider all the ramifications related to their particular project.

If someone really wants to build a replica deck from Star Trek using this firmware, they can knock themselves out. I can think of several different design options that are better, even using this same hardware, but I'm not the one spending the time or money.

I'm not out to diss on this project or this hardware. I have my own personal opinions and preferences regarding PJRC's products which I have already mentioned but will not discuss here. My interest rests almost entirely within his use of the joystick HID and the data transfer involved.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:July 13, 2025, 11:38:27 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #15 on: February 17, 2014, 02:36:21 pm »
+1

Yeah the HID interface descriptors are poorly documented and any time somebody gets them to do something unknown/untested by the hobby programmers it's extremely interesting.  Eventually I will get around to making a universal console connector, so HID tricks are always good to know for future reference. 

The hardware they are running it on though is very impractical.  I mean just the raw cost of getting all physical I/o connections via a myriad of multiplexing or muxing, or what have you doesn't make a lot of sense when you can buy a pre made avr with several I/O pins for as little as 20 bucks. 

eds1275

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2165
  • Last login:July 13, 2025, 01:10:24 pm
  • Rock and Roll!
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #16 on: February 28, 2014, 03:34:04 am »
X, when you take a quote out of context you look bad. What I said, in context, was:

...not to mention when it doesn't say who said what, I becomes confusing.

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #17 on: February 28, 2014, 04:55:36 pm »
Maybe you are looking at it, the wrong way.  ;)
If I had only one wish, it would be for three more wishes.

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
Re: The 128 Button, 6 Axis, 17 Slider, 4 POV Hat Switch Joystick Controller
« Reply #18 on: March 01, 2014, 01:14:10 pm »
Maybe you are looking at it, the wrong way.  ;)

I look at you the wrong way, is that the same thing?