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 6493 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:April 11, 2025, 12:33:44 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: 11037
  • Last login:Today at 05:06:26 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: 19419
  • Last login:Today at 12:42:00 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 06:57:31 am
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: 19419
  • Last login:Today at 12:42:00 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: 9631
  • Last login:Today at 08:08:11 pm
  • 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)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 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: 9631
  • Last login:Today at 08:08:11 pm
  • 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)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 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: 9631
  • Last login:Today at 08:08:11 pm
  • 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: 4128
  • Last login:Yesterday at 01:53:26 pm
  • 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: 9631
  • Last login:Today at 08:08:11 pm
  • 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)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 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: 9631
  • Last login:Today at 08:08:11 pm
  • 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

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #18 on: March 17, 2025, 12:09:42 am »
Im going to try to go the optical sensor route. I found this free 3d program online and came up with a design. it would attach to the bottom of the shaft with the current screw that holds the spinner sensor disc. What do you think? I would need someone with a 3d printer to make it. I would gladly pay you for your services if you think this works.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #19 on: March 17, 2025, 04:02:17 am »
I would need someone with a 3d printer to make it. I would gladly pay you for your services if you think this works.
As a wise man once said, "Yeah, that's gonna be a no from me, dawg."

A mod like this one will almost certainly take many iterations to get it dialed in properly.
- It would be faster and less expensive for you to buy a decent entry-level printer and work through the (increasingly easy) learning curve rather than paying someone to print and mail the parts to you.  By the time you're done with this mod, I'm sure you'll find lots of other fun things to make with your new plastic poopin' robot.   :lol

If there's no way you can set up a printer at your place, see if there is a local "makerspace" or see if there's a local Facebook group for 3d printing or many libraries now have 3d printers.

Im going to try to go the optical sensor route. I found this free 3d program online and came up with a design. it would attach to the bottom of the shaft with the current screw that holds the spinner sensor disc. What do you think?
It might work.   :dunno

Impossible to say without knowing what sensors you'll be using, how you'll be mounting them, and all of the necessary dimensions for the part to have the encoder wheel properly lined up with the sensor slot.

The up-side to using the existing screw is that you don't have to find a long screw with matching threads.

The down-side to using the existing screw is that the walls of the spacer part have to be thick enough to handle any leverage applied to the wheel.  Thicker walls and adding a taper to the spacer will make it much stronger.

Without taper:

- The four main spacers were so long and thin that they broke with barely any side pressure.   :banghead:

With taper:


How I recommend that you proceed:

1. Find the optimal MAME config/settings and confirm that centering works well enough and fast enough with a quick button press in 720, otherwise there's no sense going any further.

2. Select a suitable LED/sensor.  The Adafruit ones mentioned earlier work great and I have some on-hand here so I can do test prints and provide feedback when you get to step 4.

3. Confirm that the LED/sensor works with your encoder.

4. Design, adjust, and fabricate a mount for the LED/sensor.

5. Adjust the design of the encoder wheel as needed and fabricate it.

6. Repeat steps 4 and 5 until the mod works.

7. Publish your results, settings, and files so the next guy doesn't have to wonder how you did it and struggle to reinvent your accomplishment.   ;D


Scott

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #20 on: March 17, 2025, 10:53:07 pm »
Its all good. I actually found a local library that has a makerspace and I can use the 3D printer there. As for the model, I'm really just trying to keep this as simple as possible. I think mounting the optic sensor on the side wall of the case will be the most simple solution. It will just screw right in with no need for a mount. The less moving parts for me, the better.

On a side note, I was playing around with the optic sensors that just came in today. I'm not sure if I wired it up wrong or what, but I followed a simple wiring diagram, and when the card is not present (not interrupting/breaking the light beam), the light is on. I assume that would represent the button click? When the card interrupts the beam, the lights go off. Does this sound right to you?

Here is the link to a short video.
https://youtube.com/shorts/Ba4h01zKVYM

« Last Edit: March 17, 2025, 11:19:59 pm by CKebz »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #21 on: March 17, 2025, 11:49:11 pm »
I actually found a local library that has a makerspace and I can use the 3D printer there.
Great.   ;D

As for the model, I'm really just trying to keep this as simple as possible.
Simple is good, as long as it is strong enough and stays within tolerances.

I think mounting the optic sensor on the side wall of the case will be the most simple solution. It will just screw right in with no need for a mount. The less moving parts for me, the better.

On a side note, I was playing around with the optic sensors that just came in today. I'm not sure if I wired it up wrong or what, but I followed a simple wiring diagram, and the card is not present (not interrupting the light beam), the light is on. I assume that would represent the button click? When the card interrupts the beam, the lights go off. Does this sound right to you?
1. Do you have a link and/or manufacturer+P/N for the sensor?
- Hard to predict how things might work without dimensions and (hopefully) a datasheet.

2. What diagram did you use to wire the light?
- No wiring diagram or datasheet ==> no way to tell if the sensor is an active low or active high device or if it is operating correctly.


Scott
« Last Edit: March 17, 2025, 11:52:32 pm by PL1 »

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #22 on: March 18, 2025, 01:28:23 am »
Actually, after a little more research it would appear that I got the wrong optic sensor and it was operating as it should. I need to return them and get an "Opposite-Type Count Infrared Sensor" so the circuit completes when the light beam is broken.

For reference, here is what I ordered and am returning tomorrow.
https://www.amazon.com/dp/B0CHDRF497?ref=ppx_yo2ov_dt_b_fed_asin_title

Here is what I ordered to replace.
https://www.amazon.com/dp/B0813L4XQC?psc=1&smid=A22F6H401YLDXJ&ref_=chk_typ_imgToDp

Here's a link to a video of the optical sensor doing its thing:
https://www.youtube.com/shorts/Ba4h01zKVYM

The wiring diagram was just a sketch my brother made me. It shows a 4 AA battery power supply with a positive (red) and negative (black) wire coming out of it. The positive wire connected to the optic sensors VCC pin. the GND wire went to the battery negative wire. The OUT pin on the sensor went to the light Positive wire, and the lights Negative wire went to the negative terminal at the battery pack.

Obviously, I know very little about wiring stuff, which does lead me to my (hopefully) last question... I have a button on the Tankstick that isnt being used, How would I wire the optical sensor (once its working) to replace the unused button? I assume I start by disconnecting the ground and power wires of the unused button?

« Last Edit: March 18, 2025, 01:52:03 am by CKebz »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #23 on: March 18, 2025, 04:24:18 am »
For reference, here is what I ordered and am returning tomorrow.
https://www.amazon.com/dp/B0CHDRF497?ref=ppx_yo2ov_dt_b_fed_asin_title
From the Amazon listing:
Quote
As long as a non-transparent object passes through the slot, it can trigger to output a low TTL level.
This is what you want for an "active low" encoder like your X-Arcade encoder, an IPac, and most other modern encoders.
- Ground (logic LOW) applied to the encoder input triggers the output.

The only downside to this one is that the slot is rather narrow (5.9mm) compared to the 2nd one linked below. (10mm)
- If your encoder wheel is 3mm thick, the outermost edge of the encoder wheel only has less than +/- 1.5mm clearance assuming you mount it perfectly square and get the height of the encoder wheel perfect.
- With a 3mm thick encoder wheel and a 10mm slot, you have +/- 3.5mm clearance.  It's still close, but much more likely to work well.

See if you can find one that acts like this one (blocked=LOW), but has the wider 10mm slot.
- Post what you're thinking about ordering and I'll verify that it is good so you can order with confidence.

Here is what I ordered to replace.
https://www.amazon.com/dp/B0813L4XQC?psc=1&smid=A22F6H401YLDXJ&ref_=chk_typ_imgToDp
From the Amazon listing:
Quote
The OUT pin is low leve when there is no object between the photoelectric sensor, and the OUT pin is high leve when there is a object between the photoelectric sensor
This is the opposite of what you want.

It would work for an "active high" encoder like some of the "Zero Delay" encoders where applying 5v to the input triggers the output.

The one good thing about this one is the 10mm width of the slot.
- It would be a lot easier to keep the one tooth encoder wheel from hitting the sides on this one.

Here's a link to a video of the optical sensor doing its thing:
https://www.youtube.com/shorts/Ba4h01zKVYM

The wiring diagram was just a sketch my brother made me. It shows a 4 AA battery power supply with a positive (red) and negative (black) wire coming out of it. The positive wire connected to the optic sensors VCC pin. the GND wire went to the battery negative wire. The OUT pin on the sensor went to the light Positive wire, and the lights Negative wire went to the negative terminal at the battery pack.
Either they shipped you a different part or you got something mixed up in your description.

If you have a multimeter, disconnect the sensor out wire from the lights and check the voltage -- it should be around 5v when unblocked and close to 0v when blocked.

If you don't have a multimeter, get one.  There are decent ones on Amazon for <$50.  You may also want to get a set of probes similar to this one with alligator clips, micrograbbers, etc.



Obviously, I know very little about wiring stuff, which does lead me to my (hopefully) last question... I have a button on the Tankstick that isnt being used, How would I wire the optical sensor (once its working) to replace the unused button? I assume I start by disconnecting the ground and power wires of the unused button?
Have you read through the FAQ?

This section should help you understand how to wire microswitches to an encoder.

https://wiki.arcadecontrols.com/index.php/FAQ#How_do_I_wire_microswitches_to_an_encoder.3F

When you press the microswitch, ground (from wire 3) is applied to the encoder input (wire 1 for the left button) which triggers the associated output.

When you block the sensor, ground (from the sensor) is applied to the encoder input (wire 1 for the left button) which triggers the associated output. (same as pressing the button)

When you don't block the sensor, logic HIGH is applied to the encoder input (wire 1 for the left button) which does not trigger the associated output. (same as not pressing the button)



Four schematics:
1.) No button pressed, no input triggered.
2.) Button 1 pressed, input 1 triggered. (red)
3.) Button 2 pressed, input 2 triggered. (green)
4.) Both buttons pressed, both inputs triggered.




Scott

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #24 on: March 18, 2025, 10:13:51 am »
On further consideration, the second sensor you mentioned (https://www.amazon.com/dp/B0813L4XQC) might work if you change from a one tooth encoder wheel to a one hole encoder wheel where the opto is blocked unless the wheel is at 12 o'clock.

As a bonus, that design change will make it easier to keep the wheel from jamming on the opto housing.   ;D

The only concern is that there is a difference in logic level voltages between active-high and active-low devices, so the sensor might not work with your encoder. 


Scott
« Last Edit: March 18, 2025, 10:28:06 am by PL1 »

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #25 on: March 18, 2025, 11:39:56 am »
Thank you so much for the very detailed information. I'm starting to get it.
Yes, I do have a multi-meter and it's showing the voltage you said it should.

As far as the sensor goes, based on what you wrote, I think I'll keep these ones and just deal with the smaller gap size.

The last thing I need to figure out is how to wire the sensor into the X-arcade board. I read over the FAQ and the diagrams you provided. I just dont get how the optic sensor can be swapped in to a button. Can you help me understand how I might use the wires from a button I dont use on the X-arcade, that are already mapped to a button function, for the optic sensor?

My thought is since its already wired into the x-arcade board and mapped as a button. Could I just replace the actual button with the optic sensor. Can I splice into it? Would the GND wire from the sensor splice into the ground daisy chain of the button I dont use? Would the VCC wire from the sensor splice into the active wire in the button I dont use? Or I do I need to do something totally different?

I read somewhere that I can splice into a button only if it has three prongs. All my buttons have 2 prongs. Would a possible solution be to get a three prong button, swap that into where my current centering button is, and splice the optical sensor into it?

And really, thanks for your help. If you have a Venmo or CashApp Id be happy to send you a few bucks for helping me out.



« Last Edit: March 18, 2025, 03:00:50 pm by CKebz »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #26 on: March 18, 2025, 10:41:20 pm »
As far as the sensor goes, based on what you wrote, I think I'll keep these ones and just deal with the smaller gap size.
I hope you can pull it off.

The last thing I need to figure out is how to wire the sensor into the X-arcade board. I read over the FAQ and the diagrams you provided. I just dont get how the optic sensor can be swapped in to a button. Can you help me understand how I might use the wires from a button I dont use on the X-arcade, that are already mapped to a button function, for the optic sensor?
The sensor works like a microswitch -- it applies ground to an input port to trigger the desired output.
- Ground is the same.
- Encoder input wire is the same.
- The two differences are 5v to power the sensor LED/transistor and a different type of connector (Dupont vs. QD) on some connections.



My thought is since its already wired into the x-arcade board and mapped as a button. Could I just replace the actual button with the optic sensor. Can I splice into it? Would the GND wire from the sensor splice into the ground daisy chain of the button I dont use? Would the VCC wire from the sensor splice into the active wire in the button I dont use? Or I do I need to do something totally different?
For this application, you can wire the sensor in parallel with the button so you can either press the button or block the sensor to trigger the encoder output.  You might want to use a button like P2B8 that is almost never used to keep it from accidently messing with gameplay during other games.

Get ground from the daisy chain.
- Use an extender or Y-splitter if needed.

Get 5v from the spinner opto 5v wire.  It should have no problem providing the needed current.
- It should be the red wire, but it never hurts to confirm before proceeding.
- If possible, pull the opto 5v wire from the encoder connector and insert a Y-splitter.
- If not, cut the middle of the wire, strip/tin the cut ends, and use a single euro-style terminal to splice in a female Dupont jumper to that 5v line like the third terminal below splices a current limiting resistor into a 5v line.



I read somewhere that I can splice into a button only if it has three prongs. All my buttons have 2 prongs. Would a possible solution be to get a three prong button, swap that into where my current centering button is, and splice the optical sensor into it?
You can use a Y-splitter to wire two inputs together.
- Substitute whatever connector(s) you need.  i.e. Male QD, Female Dupont, etc.
- This trick will not work with an optical (mouse) encoder input that decodes quadrature waveforms (i.e. a spinner/trackball axis), but it will work for microswitch style button presses.




Scott
« Last Edit: March 18, 2025, 10:56:12 pm by PL1 »

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #27 on: March 19, 2025, 12:16:57 pm »
Ok, I think I'm ready to start wiring this. Looks like I'll splice into 3 wires? Can you take a look at the diagram and let me know if it looks correct. I would want to splice into the button in the pic.

In the picture, the blue looks to be the ground and the white is the input.

In the diagram the black is the ground and the blue is the input. 
« Last Edit: March 19, 2025, 12:48:53 pm by CKebz »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #28 on: March 19, 2025, 12:38:54 pm »
let me know if it looks correct.
It does.   :cheers:


Scott

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #29 on: March 19, 2025, 07:21:02 pm »
I wired everything in and it works like a charm, bro you are the man!
Now I just need to print the disc, attach it to the spinner shaft, and mount the sensor. Feel like I'm very close to the finish line. Couldnt have done this without your knowledge.

Completed wiring:
https://youtube.com/shorts/DUW_Wee-5Cs

Button test in 720 (centering skater):
https://youtube.com/shorts/d3SrySGOwzE

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9631
  • Last login:Today at 08:08:11 pm
  • Designated spam hunter
Re: I Created a pretty realistic 720 Controller
« Reply #30 on: March 19, 2025, 10:40:08 pm »
Glad to assist.   :cheers:

One of the hard parts remaining is to dial in the settings/config in MAME so your spinner sensitivity is right and you don't have to linger at 12 o'clock for the centering correction to take effect.


Scott

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #31 on: March 20, 2025, 12:37:02 am »
Yes, the MAME is very much playable for me as is. I can get somewhere between 12-15 full spins before the skater is out of alignment by one tick, or about 3 degrees. But basically before going into each park and when I've completed a park, I need to tap the center button a few times. When this is all finished, I'll post all my settings. DarthMario provided most of those for me.

pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11037
  • Last login:Today at 05:06:26 pm
  • Obey.
    • The Chris Burke Band
Re: I Created a pretty realistic 720 Controller
« Reply #32 on: March 20, 2025, 02:38:58 pm »
That's pretty cool.  Nice work.

 :cheers:

CKebz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:March 27, 2025, 11:32:35 pm
  • I want to build my own arcade controls!
Re: I Created a pretty realistic 720 Controller
« Reply #33 on: March 22, 2025, 01:20:19 am »
All done, everything works great. I'll make a new post explaining how to do everything. In the meantime, Here are two videos showing the optic sensor and 3d printed disc in action, and a second video of the spinner auto-centering the skater when the joystick is in the 12 o'clock position (12 second mark) in game.

Optic sensor and disc:
https://www.youtube.com/shorts/YE8QXEGD5IM

Skater auto-centering by joystick position:
https://www.youtube.com/shorts/dnp8_6hsMTQ

If anyone is interested here are the MAME settings, they are specifically for GRS or Tankstick Max spinners:

« Last Edit: March 22, 2025, 01:23:48 am by CKebz »