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: I Created a pretty realistic 720 Controller  (Read 4163 times)

0 Members and 1 Guest are viewing this topic.

fischb

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:March 07, 2020, 05:22:58 pm
  • I want to build my own arcade controls!
I Created a pretty realistic 720 Controller
« on: September 13, 2018, 03:42:21 pm »
I watched this video and it gave me an idea. 

I took a spinner from my panel that has a 5 inch steering wheel attachment.  I found some old arcade joystick parts and drilled an angled hole in which to insert the joystick and now I have a reproduction of the 720 controller.  I wonder what other games can use this type of controller.

Note: I free-handed the drill hole but it came out pretty close to the real one.  This is for the arcade game 720 played in MAME
« Last Edit: September 13, 2018, 04:06:19 pm by fischb »

Nephasth

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1381
  • Last login:February 15, 2025, 12:57:26 pm
  • Bitches love Centipede
Re: I Created a pretty realistic 720 Controller
« Reply #1 on: September 13, 2018, 05:48:11 pm »
Nailed it!
%Bartop

pixel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 102
  • Last login:December 24, 2019, 05:33:55 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #2 on: September 14, 2018, 11:11:14 am »
Not bad Fischb.


 From looking at the original assembly... it appears that the Top of the Ball,  would travel in about a  3" to 4"  Diameter circle.

 Your adaptation appears to be more like 7 to 8 inches in diameter.

 As a result... this will make it very difficult to pull off quick 360 degree movements, as your hand would have
to travel much much further,  to get the same result.

processedmeat

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 252
  • Last login:March 13, 2025, 07:44:27 pm
  • Ikeakade Here I come!
Re: I Created a pretty realistic 720 Controller
« Reply #3 on: September 14, 2018, 11:21:44 am »
Did you have issues with the spinner not lining up with the direction of the skater after a while like the guy did in his video?  If so how did you solve it?  Thanks

pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11032
  • Last login:Yesterday at 02:01:11 pm
  • Obey.
    • The Chris Burke Band
Re: I Created a pretty realistic 720 Controller
« Reply #4 on: September 14, 2018, 12:11:10 pm »
Hm.  There's some potential here.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19407
  • Last login:Today at 01:33:02 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: I Created a pretty realistic 720 Controller
« Reply #5 on: September 14, 2018, 01:45:50 pm »
I think it would work better if you took a sold aluminum knob and drilled a hole in that.  This would make the travel smaller and more like the original.  It's pretty damn brilliant though. 

pixel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 102
  • Last login:December 24, 2019, 05:33:55 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #6 on: September 14, 2018, 02:52:32 pm »
 If the spokes on the Wheel are metal... you could probably angle grind away the wheel..
and then re-attach the Stick to a single spoke.

 To keep it from wearing...  I suggest at minimal... making an E-Clip groove on the top of
the shaft... and maybe putting a washer right under the E-Clip.

 Otherwise... Howard's idea is good  (solid block of metal,  cut and carved down to a circular
format).  Drill and tap a set-screw hole... and you can fabricate a custom bearing mount.

 2 part Epoxy Putty could probably work well too... and would be a lot easier.
 I recommend QuikSteel (white plastic's version)... as its like 5000 PSI.   Make sure to kneed it
Really good... for maybe 3 min... leaving at least 1 min for shaping.  By the 5th min... it will be
hard as a Rock... in less than a 10 second window.    Allow the stuff to cure for 24 hrs,  before
putting it under and strain,  and it should be plenty strong.

 With Epoxy putty... you could even embed a standard bearing, or dual ball bearings, right into
the assembly.

 Finally,  "Friendly Plastic"  is also an option that might be decent,  for a quick prototype.
It can be a bit of a pain to work with.. but once its set... its solid and strong.  (so long as
the parts do not get too hot... and thus melt.  As such, some sort of bearing should be used,
just-in-case)


 Finding a way to add a "Calibration Disc", would of course be the best... as otherwise.. the
Sticks direction will not match the onscreen Characters orientation.
« Last Edit: September 14, 2018, 02:55:26 pm by pixel »

DarthMarino

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 566
  • Last login:Yesterday at 04:27:43 pm
Re: I Created a pretty realistic 720 Controller
« Reply #7 on: September 14, 2018, 07:50:49 pm »
An idea I had when I was making my version and the video was to have the spinner hit a button or switch every time it was at 12:00 (instead of my doing it manually between levels). I couldn't figure out how to implement this on my setup but I think there is potential with this design.  Perhaps the bottom of the joystick shaft could very lightly come into contact with something underneath it.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19407
  • Last login:Today at 01:33:02 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: I Created a pretty realistic 720 Controller
« Reply #8 on: September 14, 2018, 08:06:32 pm »
An optical gate could do that job... just have a little tab of plastic or something at 12:00 to break the beam as it spins by. 

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9608
  • Last login:Today at 03:42:24 am
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #9 on: September 14, 2018, 09:37:54 pm »
An optical gate could do that job... just have a little tab of plastic or something at 12:00 to break the beam as it spins by.
Yep, that's pretty much how the original controller did it.  (disc with two notches)





Maybe a hole slightly inboard of the slots in a single-row optical encoder wheel similar to the hole at 90 degrees on this example's double-row encoder wheel and 3d print a mount for Adafruit 2167 3mm beam break sensors or similar.   :dunno




Scott

CKebz

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:March 14, 2025, 05:51:38 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #10 on: March 13, 2025, 01:11:50 am »
An optical gate could do that job... just have a little tab of plastic or something at 12:00 to break the beam as it spins by.

Hey Howard_Casto,
I hope you're still reading these posts 8 years later.... I've been searching the internet for a solution and THIS sounds like an awesome idea! I would love to do it. I have 720 running great on MAME thanks to DarthMario. I have a pretty legit 720 stick I found on ebay. I attached it to an X-Arcade Tank-stick Max spinner. I have the same issue though. Like DarthMario's video, the skater goes out of sync after about 10 spins. Instead of tapping the center button and holding the stick up when the skater is facing north to recalibrate, I want to create a "button click" when the spinner is in the 12 o'clock position. You mentioned an optical gate. Can you point me in the direction of what this is, or where to get it, or how it would emulate a button click when the plastic passes through the optical gate. Any info would be greatly appreciated.

-Chris

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9608
  • Last login:Today at 03:42:24 am
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #11 on: March 13, 2025, 07:58:07 am »
X-Arcade Tank-stick Max spinner.
I'm not sure which spinner that is.   :dunno

Is yours like this one where there's no shaft sticking out the bottom, just wiring connectors. . .



. . . or this one with an encoder wheel (or shaft) on the bottom?

If your spinner is like the first one, you won't be able to add an encoder wheel to signal when the spinner is at the 12 o'clock position.

It might theoretically be possible to mod the second one, but it would be a lot easier to mod a TT2 or SpinTrak.

A 1/4" flange shaft coupler like this one should be a good way to attach a 3d printed encoder wheel to the shaft of a TT2.  IIRC, the SpinTrak would need a 6mm I.D. version of this part.



I want to create a "button click" when the spinner is in the 12 o'clock position. You mentioned an optical gate. Can you point me in the direction of what this is, or where to get it, or how it would emulate a button click when the plastic passes through the optical gate.
A basic optical gate/optical circuit a.k.a. an "opto" has an LED and a photo transistor.

A spinner or trackball will have two optos per axis.
- The good spacing image shows the encoder wheel at the left edge of Phase 1.
- Data line A is transitioning from HIGH (not blocked) to LOW (blocked) and data line B is in the middle of being blocked.
- As you rotate the encoder wheel clockwise, the blocking and un-blocking of the optos will produce the quadrature waveforms shown.



For the centering "button press" on 720, you should only need one opto/data line since you don't need to determine the direction of rotation, but rather when the spinner is at the 12 o'clock position.
- The encoder wheel would only need one tab for blocking the opto.
- This design can jam/break if the encoder wheel tab and opto get out of mechanical alignment.
- To avoid this problem, you must design the sensor holder so it is adjustable and partly overlaps the body of the encoder wheel.

If I wanted to build an updated 720 controller, I would probably use the Adafruit 2167 beam break sensor mentioned in my previous post along with a custom 3d printed mount for the LED and sensor modules.  If you don't go that route, you could use a Happ "Red Board" with a custom mount.

To translate the data line signal from the opto into a button press, here are some options you could try:
- Use an "active low" gamepad encoder -- data line is HIGH until the tab blocks the LED so the phototransistor can't see it which sends the data line LOW which triggers the input to output a button press.
- Use an "active high" gamepad encoder and add a 74LS04 Hex Inverter or similar circuit to invert the logic level between the opto and the encoder.
- Make an Arduino "active low" gamepad encoder firmware and connect the data line to an interrupt pin for the fastest response.

Figuring out the correct combination of sensor/LED spacing, 3d printed mount design, encoder wheel diameter, tab width, encoder, and MAME settings is more work than I'm willing to invest.


Scott

CKebz

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:March 14, 2025, 05:51:38 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #12 on: March 13, 2025, 11:52:11 pm »
Thanks for the explanation, I am an extreme novice at this. The spinner I have is like the second one where there is a shaft and an encoder. The guy I got the 720 stick from said X-Arcade uses GRS spinners and it's an 8mm bore. Is there some kind of part I can attach to the bottom of the shaft that would hold the optic sensor and disc? I'm guessing the disc would only need one hole, correct?
« Last Edit: March 14, 2025, 12:03:25 am by CKebz »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9608
  • Last login:Today at 03:42:24 am
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #13 on: March 14, 2025, 03:07:21 am »
Is there some kind of part I can attach to the bottom of the shaft that would hold the optic sensor and disc?
If you can replace the screw on the end with a longer one, it should be easy to attach a 3d printed encoder wheel for orientation -- you shouldn't even need the flange shaft coupler.

The more difficult part of the mod will be to make a mount for the LED and sensor that attaches to the clip-on spinner opto assembly.
- Maybe attach the mount using the two screws that connect the spinner opto assembly PCB to the black plastic clip-on assembly.  You might need slightly longer screws for this.

It should be easy to remix the 3D printable mount available here on Thingiverse.
- That mount was designed for using Adafruit 2167 3mm beam break sensors in skee-ball machines.


I'm guessing the disc would only need one hole, correct?
Almost right.  You need an encoder wheel with one tooth.

When the spinner is pointed at 12 o'clock, the opto is blocked so the data line is at logic LOW.
- With an "active low" encoder, that LOW is seen as a button being pressed -- same as pressing a button connects ground to the encoder input.

When the spinner is not pointed at 12 o'clock, the opto isn't blocked so the data line is at logic HIGH.
- With an "active low" encoder, that HIGH is seen as a button not being pressed.

Here's the code to generate a one-tooth orientation encoder wheel in OpenSCAD.
- Adjust the variables as desired, render it, and export it as an .STL to make a custom 3d printable model.

Code: [Select]
// 720 Mod Orientation Encoder Wheel
// - WIP

/////////////////////////////
//      Define variables
/////////////////////////////

WheelThick = 2.4; // Encoder wheel thickness
WheelDia = 40;    // Encoder wheel diameter
SpacerThick = 8;  // Spacer thickness
SpacerDia = 10;   // Spacer diameter
ToothWidth = 4;   // Encoder wheel tooth diameter
ToothLength = 6;  // How far the tooth sticks out past the wheel.
InnerDia = 5;     // Center hole diameter

// The inner diameter value may need to be *very slightly* larger to account for the 180-sided polygon used to render circles -- see "undersized holes" at https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder

$fn=180; // Number of fragments (polygon sides) used to render a circle

/////////////////////////////
//      Make the part
/////////////////////////////
difference() { // Wheel, spacer, and tooth minus center hole

    union(){ // Wheel, spacer, and tooth

        color("red")
        translate([0,0,WheelThick/2])
        cylinder(WheelThick, d=WheelDia, center=true); // Wheel

        color("gray")
        translate([0,0,WheelThick + (SpacerThick/2)])
        cylinder(SpacerThick, d=SpacerDia, center=true); // Spacer

        color("blue")
        translate([0,-WheelDia/2,WheelThick/2])
        cube([ToothWidth,ToothLength*2,WheelThick], center=true); // Tooth

    } // End wheel, spacer, and tooth

        translate([0,0,(WheelThick + SpacerThick)/2])
        cylinder(WheelThick + SpacerThick + 0.1, d=InnerDia, center=true); // Center hole

} // End wheel, spacer, and tooth minus center hole
//


Scott
« Last Edit: March 14, 2025, 03:13:44 am by PL1 »

Xiaou2

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4118
  • Last login:Today at 01:39:22 am
  • NOM NOM NOM
Re: I Created a pretty realistic 720 Controller
« Reply #14 on: March 14, 2025, 10:30:05 am »
If you can extend the base, to have a 2nd wheel...  you could use a single Magnet... and to Track it,
a Magnetic Reed Switch, that would be mounted to the Control Panel, on a Riser.

I used a Magnetic Reed switch for a different specialty Controller.  It worked like a Charm.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9608
  • Last login:Today at 03:42:24 am
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #15 on: March 14, 2025, 02:46:05 pm »
Magnetic Reed Switch
Great suggestion, Steve.   :cheers:

This might be an especially good approach for a setup with an X-Arcade encoder that uses isolated grounds.
- You can connect the magnetic reed switch leads in parallel with any button's microswitch.
- It avoids possible ground/power problems without using a 2nd USB encoder to register the "button press".

You can use M3 or #4-40 hardware to mount a round magnet with a hole in the center like one of these on the 2nd wheel.



You can use a hole-saw to make the 2nd wheel from wood or LMK if you want a 3d printable one with a screw hole and a captive nut slot like the hub of this wheel.




Scott

CKebz

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:March 14, 2025, 05:51:38 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #16 on: March 14, 2025, 03:55:08 pm »
If you can extend the base, to have a 2nd wheel...  you could use a single Magnet... and to Track it,
a Magnetic Reed Switch, that would be mounted to the Control Panel, on a Riser.

I used a Magnetic Reed switch for a different specialty Controller.  It worked like a Charm.

I have some joystick extenders, I think they will fit where the screw for the shaft is, or maybe i can have something fabricated. From there it sounds like I would need to attach a disc to the extended shaft, either with a magnet attached at the 12 position, or a tooth at the 12 to block an optic sensor when the stick is in that position.

The stick is about 1.5/2 inches from the case wall. Could I just screw an optical sensor or magnetic reed switch to the side of the wall? For the optical sensor, I found this on Amazon, would something like this work? This will be pretty awesome if it does work, and seems not to complicated.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9608
  • Last login:Today at 03:42:24 am
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #17 on: March 14, 2025, 08:09:51 pm »
I have some joystick extenders, I think they will fit where the screw for the shaft is, or maybe i can have something fabricated.
If it's an M6 screw, then that might work well and it will add some space so the 2nd wheel clears the spinner opto.

If it's not, get a long screw and spacer to mount the 2nd encoder wheel.

The stick is about 1.5/2 inches from the case wall. Could I just screw an optical sensor or magnetic reed switch to the side of the wall?
Sounds like a good idea.

Not sure which reed switch to recommend, though.

Hopefully you can find one that has a fast enough response speed and has some screw tabs.

If you can't find one with screw tabs, you can hang the reed switch by the wires using 2 very small loop clamps/adel clamps.

For the optical sensor, I found this on Amazon, would something like this work? This will be pretty awesome if it does work, and seems not to complicated.
If you do go with an optical sensor, the one you posted might be difficult to work with because of the lack of mounting tabs and how shallow the slot between the LED and sensor is -- very little wiggle room.

It might be fine for encoder wheels with an outer rim, but a one tooth encoder wheel can get out of alignment and jam up if the red part of the wheel I posted earlier isn't riding in the slot.

One good bit of news is that 2018 and newer X-Arcade encoders don't use an isolated ground for each connector like the old ones did so that removes one possible issue mentioned in a previous post.   ;D
https://support.xgaming.com/support/solutions/articles/12000003233-advanced-byo-kit-installation-diagram-with-wiring-schematic-
Quote
NOTE: The ground wires are all ground, so you can use any ground with any input as needed.


Scott