Build Your Own Arcade Controls Forum

Main => Main Forum => Topic started by: Mental on February 28, 2013, 01:09:13 pm

Title: How to convert a JLW for 4-8way automatic switching
Post by: Mental on February 28, 2013, 01:09:13 pm
Since I've been asked by a couple people, I thought I would start a new thread to share my technique for auto switching a JLW type joystick. I use this with the ArcadeSD board and it works wonderfully.

The easiest joystick to mod for this is the JLW. I buy the J-Stiks from Ultimarc which already have the necessary mod for rotating the restriction plate. Andy is a great guy to deal with and he also of course makes the Servo-stik which is another option.

Basically, what I do is drill out four small holes in the restriction plate, and push in threaded inserts. Then you can screw in brass motherboard standoffs to attach a lever to.

Here is a pic:

(http://arcadecabinets.ca/resources/images/tmp/joystickmod.jpg)

The levers are custom laser cut from mild steel, but you could easily substitute HDPE plastic or something similar that is easy to work with.

The inserts are manufactured by EZ-LOK (http://www.ezlok.com/InsertsPlastic/brass-flush.html) (part# 240-M3-BR).

The standoffs can be easily found in packs of ten on ebay. They are M3x10mm. (search for: Brass Standoff M3 Male x M3 Female - 10mm). The only trick with them is that you need to shave a little bit off the threads or they will protrude out the bottom of the restriction plate. I use an angle grinder, but if you have a bench grinder it would be even easier. Then you just need some M3 screws to attach the lever.

For the servos, I use the PowerHD 1501MG. It's one of the highest torque servos you can buy and so far they've been very reliable. You can get them on eBay for around $15 each.

The control arm is made by Tamiya. I bought mine from Pololu when buying the servo controller. (http://www.pololu.com/catalog/product/733 (http://www.pololu.com/catalog/product/733))

Pololu also sells all the wiring connectors and such you'll need. You can buy the servos from them too, but they're a little bit more expensive than eBay.

Here a pic, fully assembled:

(http://arcadecabinets.ca/resources/images/tmp/servoswitcher.jpg)

The servo controller is the Pololu Micro Maestro (http://www.pololu.com/catalog/product/1350).

Here is a pic showing the wiring for use with the ArcadeSD board. For MAME, you can control it through USB. I believe DaOld Man's JoyChoose will work for that. For the ArcadeSD, you use the 'coin counter 2' output on your jamma harness as a control signal.

(http://arcadecabinets.ca/resources/images/tmp/servocontroller2.png)

Here is the servo controller script that I use for use with the ArcadeSD. I should disclaim here that I'm not a programmer and there is probably a much more efficient way to write this. That being said, what I came up seems to do the job just fine:
Code: [Select]
#Detect signal from ArcadeSD
begin
  signal_4way if move_4way endif
  signal_8way if move_8way endif
repeat

sub signal_4way
  0 get_position 512 greater_than
  return

sub signal_8way
  0 get_position 512 less_than
  return

# Move each servo to 4-way position.
sub move_4way
  950 # Player 1, 4 way position
  4 times 1 servo
  950 # Player 2, 4 way position
  4 times 2 servo
  wait_for_8way
  return
   
# Move each servo to 8-way position.
sub move_8way
  2200 # Player 1, 8 way position
  4 times 1 servo
  2200 # Player 2, 8 way position
  4 times 2 servo
  wait_for_4way
  return

# Wait for state change.
sub wait_for_4way
  begin
  0 get_position 512 greater_than
  if return endif
  repeat

sub wait_for_8way
  begin
  0 get_position 512 less_than
  if return endif
  repeat

Good luck with your projects!
Title: Re: How to convert a JLW for 4-8way automatic switching
Post by: Nephasth on February 28, 2013, 01:34:20 pm
So how much did you save vs. buying Servostiks?
Title: Re: How to convert a JLW for 4-8way automatic switching
Post by: Mental on February 28, 2013, 03:41:05 pm
So how much did you save vs. buying Servostiks?

The servostik didn't exist when I did this. The cost is about the same. Maybe $20 more for servostiks.