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: So, would anyone be interrested in a cheap ($15) open source USB control adapter  (Read 3362 times)

0 Members and 1 Guest are viewing this topic.

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
I've worked up firmware for one of the cheapest ARM based microcontroller dev boards on the market, the TI Tiva Launchpad.  They run about $15.  The current configuration supports shows up as two gamepads (pad1 12 buttons, pad two 8 buttons) and a two button mouse.  The Launchpad has hardware QEI support, so reading the trackball position doesn't eat up nearly the system resources as a firmware implementation.  I could easily rework the firmware for a keyboard encoder rather than two gamepad devices as well, although the gamepads require less code and should show less lag.

I'm considering creating a custom PCB, which should drive the build price down even further.  I won't have a firm price in mind until I draw up the custom board and price out the components, but I am shooting for around $25 if I can get enough orders to do up a batch of 100 boards.  The custom board would also enable a few more inputs, as there are GPIO pins in use on the dev board that I cannot easily repurpose.

The firmware is open source and will be available on my Github as soon as I have a free moment to upload it.  Let me know what you think.  Also, what style of wire hookups would everyone prefer, screw terminals, pin headers, etc...?  Keep in mind screw terminals are relatively expensive and could drive up the board price.

Opinions/comments/rants are welcome and appreciated!

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9401
  • Last login:Yesterday at 09:55:06 pm
  • Designated spam hunter
Welcome aboard, Rhys.

Before you invest too much time and effort, you might want to check out the KADE.


Scott

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.
Make them $5 and you will have a customer.

KADE is very hard to beat.
If I had only one wish, it would be for three more wishes.

michelevit

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 412
  • Last login:February 05, 2019, 01:46:18 pm
isn't this already more than halfway there?

$11 and free shipping. comes with usb cable and wires for buttons...

http://www.ebay.com/itm/Zero-Delay-Arcade-USB-Encoder-PC-to-Joystick-For-2pin-Happ-Type-Push-buttons-/171033729825?pt=LH_DefaultDomain_0&hash=item27d2679b21



yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19955
  • Last login:April 12, 2024, 11:03:32 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
I'd do $20 shipped if it were a simple keyboard encoder. I'll always buy an I-Pac or Key-Wiz for a full-size cab, but for specialty projects I would love a economical keyboard option. My jukebox only needs 3 keystrokes.
***Build what you dig, bro. Build what you dig.***

michelevit

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 412
  • Last login:February 05, 2019, 01:46:18 pm
Keyboard hack is easy enough. Its how I started. If you need only 3 keys, its super easy to solder on that board for three keys.
Keyboards are cheap and plentiful. What jukebox program are you running?

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 9226
  • Last login:April 18, 2024, 12:43:52 pm
  • ...
So far, your best selling point is having one device that can cover a trackball in addition to both players.
That's a pretty common setup and I can see people preferring a single device.
This hobby is a small niche market though and full of cheap people, myself included.
So finding 100 customers up front is a tall order.

Kickstarter would probably be your best bet.

sharpfork

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 618
  • Last login:April 07, 2023, 12:43:42 pm
    • KADE
I'm all for more open source solutions in our hobby.
Cool hardware choice, I'm looking at using a launchpad to control the SMD reflow oven I'm building for some new KADE stuff we are working on.
If you ever want to chat about stuff like kickstarter or maybe contributing to the project, drop me a note.

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
I'm not really looking to turn this into a business, just wondered if anyone else besides me would be interested in a cheap all in one board that includes trackball/spinner support. I didn't like the fact that none of the devices on the market could handle keyboard or gamepad input and trackball/spinners on the same board. The Tiva uC had the hardware QEI support necessary to do this without lag, and nobody else seemed to be using that chip yet for this purpose, so I figured I'd give it a go. Took me a couple of weeks to nail down the firmware, but I don't feel that's too bad for a chip I've never coded for before.... I haven't even maxed out the GPIO pins on the chip yet. There are a few pins that are muxed on the dev board that there just isn't any easy way to access. The custom board would support a few more buttons beyond what the current firmware supports.

Let me draft up a PCB so I can estimate the build cost. The only reason for the 100 count run preference is that's where component price breaks really start to kick in and I don't have the spare funds (not the time and interest in dealing with kickstarter) to do more than a handful at a time at the much higher small quantity component pricing.

Rick

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2787
  • Last login:May 09, 2023, 01:16:55 pm
  • Bartop, Cocktail and Pinball Arcade Cabinets
    • Gameroom Designs Canada
I'd be interested in what you come up with, sure! Subscribed.

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
Just a small update.  With the chip I am currently using on a custom board, I can support a max of 39 control inputs plus a trackball.  If I step up to the largest chip in the series (cost difference is less than $.50 for the uC) I can take that up to 100 control inputs and a trackball.  If anyone is looking for a single controller for a big 4 player unit, this might be an attractive option.

I can theoretically support multiple trackball devices also, I'd just have to put a little more work into the firmware to add a software QEI implementation in addition to the hardware QEI.  I might be able to use the handful of pins I didn't use to do this without reducing the control input count also.

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19955
  • Last login:April 12, 2024, 11:03:32 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Cool! Keep up the R&D.
***Build what you dig, bro. Build what you dig.***

BobA

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5943
  • Last login:July 11, 2018, 09:52:14 pm
  • What Me Worry?
Sounds good.  Not sure what I can do with 100 inputs but it might bring out some new ideas.  Any new development work in this area is very interesting.  The more the merrier.  ;D

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19955
  • Last login:April 12, 2024, 11:03:32 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Not sure what I can do with 100 inputs



 ;D
***Build what you dig, bro. Build what you dig.***

JDFan

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3448
  • Last login:May 21, 2023, 04:07:42 pm
  • I want to build my own arcade controls!
Just a small update.  With the chip I am currently using on a custom board, I can support a max of 39 control inputs plus a trackball.  If I step up to the largest chip in the series (cost difference is less than $.50 for the uC) I can take that up to 100 control inputs and a trackball.  If anyone is looking for a single controller for a big 4 player unit, this might be an attractive option.

I can theoretically support multiple trackball devices also, I'd just have to put a little more work into the firmware to add a software QEI implementation in addition to the hardware QEI.  I might be able to use the handful of pins I didn't use to do this without reducing the control input count also.

Are those independent key presses or are they in some sort of matrix where there might be ghosting issues if pressing certain combinations ? Scary thing about having 100 inputs would be those that feel they have to use all of them !  :dizzy:

kiwasabi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 132
  • Last login:September 28, 2014, 12:14:51 pm
If you can support 2 spinners on the same board then I'd be very interested, and may potentially buy a lot of them down the road.

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
Are those independent key presses or are they in some sort of matrix where there might be ghosting issues if pressing certain combinations ? Scary thing about having 100 inputs would be those that feel they have to use all of them !  :dizzy:

That is ~100 dedicated GPIO pins for joystick and button input, no matrix, absolutely no chance of ghosting.  The largest uC in the series I am using has 105 GPIO pins, so I should be able to squeak about 100 digital inputs out of it along with the trackball/spinners interface. 

Also, a properly designed matrix interface won't have ghosting issues anyways.  Ghosting is caused by engineers who cut corners and leave out the diodes that keep the matrix from ghosting.  I could theoretically support 196 inputs with the smaller uC I'm currently doing the dev work on if I converted the 28 dedicated inputs into a 14x14 matrix.
:soapbox:

If you can support 2 spinners on the same board then I'd be very interested, and may potentially buy a lot of them down the road.

My current test setup can handle two optical encoder axis.  This can be the X and Y axis of a trackball, or the rotary encoder of two spinners.  Either way, it currently shows up as a USB mouse to the host OS.  If you have a need for it to show up as something else, that is something I can do also, just a simple change to the HID descriptor and possibly a small code tweak for the reports.  What kind of volume of boards would you be looking for, and would you be wanting the current ~28 input or the ~100 input boards I'm designing?
« Last Edit: September 01, 2013, 10:25:02 am by rhys »

kiwasabi

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 132
  • Last login:September 28, 2014, 12:14:51 pm
My current test setup can handle two optical encoder axis.  This can be the X and Y axis of a trackball, or the rotary encoder of two spinners.  Either way, it currently shows up as a USB mouse to the host OS.  If you have a need for it to show up as something else, that is something I can do also, just a simple change to the HID descriptor and possibly a small code tweak for the reports.  What kind of volume of boards would you be looking for, and would you be wanting the current ~28 input or the ~100 input boards I'm designing?

Inputting the 2 spinners as the X and Y axis of a mouse is just fine, that's what my current setup does. I could pretty quickly need 25+ of the boards if my machines sell like I hope they do (I have 2 distributors interested already). 28 input would be more than plenty, my game only needs around 8 button inputs (4 action buttons, 2 start buttons, coin, and test/operator mode).

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
Inputting the 2 spinners as the X and Y axis of a mouse is just fine, that's what my current setup does. I could pretty quickly need 25+ of the boards if my machines sell like I hope they do (I have 2 distributors interested already). 28 input would be more than plenty, my game only needs around 8 button inputs (4 action buttons, 2 start buttons, coin, and test/operator mode).

That can be easily done with the dev board, or I can do up a significantly smaller custom board.  I can tweak the firmware to only show as a single gamepad with 8 buttons, will speed up the reporting a bit.  Shoot me a PM and we can discuss in more detail.

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
Firmware is done for the dev board version, tested and working!  If anyone is interested, I will be posting it to my Github as soon as I have a chance to write up some documentation on it and gather all the files together.  If you would like it sooner, shoot me a PM.

Next up is designing a custom board for the larger chip.  Firmware will be a simple step once the board is complete.

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
Firmware code and binary have been posted to my github.

Bug reports, comments, questions, and suggestions are all welcome.

https://github.com/Rhys79/Launchpad-Mame-Control

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
Major update to the firmware, completely rewrote switch debouncing and USB transmit routines.

All of the switch inputs are fully debounced with very fast response time (~10ms).  Trackball input has been tested by a collaborator with a HAPP trackball, and also works excellent.

Can't beat a 30 switch + trackball (or dual spinner) input device for $15.

If there is any interest or questions, feel free to contact me.

michelevit

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 412
  • Last login:February 05, 2019, 01:46:18 pm
i'm interested.

shrunkenmaster

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 636
  • Last login:July 24, 2022, 10:17:33 am
Looking good so far. Always nice to see a new interface!

rhys

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 42
  • Last login:March 13, 2014, 09:43:56 pm
  • I want to build my own arcade controls!
The gamepad/trackball firmware for the Launchpad dev board is complete, just waiting for feedback on any bugs I may have failed to squash.  I'm also wrapping up an 8 input keyboard encoder w/ dual spinner custom firmware for another member as a custom job.  The keyboard encoder firmware could easily be expanded to offer more inputs if there is interest in that as well.  It will be going up on Github as well once I've worked out the bugs (almost complete).

Input mappings and everything else anyone should need to get it up and running should be included in the Readme.  If anyone has specific questions on how to get it operational, let me know.  Any suggestions or customization requests can be left here or in PM.

Next up will be designing a custom board for the higher pin count chip if there is enough interest.

Vigo

  • the Scourage of Carpathia
  • Global Moderator
  • Trade Count: (+24)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6417
  • Last login:March 21, 2024, 08:20:28 am
Very cool!  :cheers: