Anyone who is using the Ultimarc Mag-stik joystick now has no reason not to convert these to automatic switching between 4 and 8 way. If you had the ability to construct a cabinet this should be a breeze.
Below is how I did it, I’m by no means an expert on any of this, so if anyone has any questions, I’ll do my best to answer them.
The first thing you need to do is construct the linkage for the servo, these are the servos I used
http://cgi.ebay.com/4x-MG995-Digital-Metal-Gear-Servo-FUTABA-JR-RC-Car-/290495785226?_trksid=p5197.m7&_trkparms=algo%3DLVI%26itu%3DUCI%26otn%3D4%26po%3DLVI%26ps%3D63%26clkid%3D1434434537286449732 to attach to the Ultimarc Mag-stik
http://www.ultimarc.com/controls.html .Anyone who has one of these may notice the lever to change the stick from 4 to 8 way has some resistance to it. I took the stick apart and filed down the plastic hump that creates the resistance(sorry no pictures), don’t worry; the servo will prevent anything from moving. I used some flat 1/16” x ½” aluminum bar stock for the linkage, in addition to filing the hump down I also had to drill a hole through the switching lever to attach the linkage to, you can’t test the linkage until you get the servo working, which is the next step.
Next you are going to need a controller to control the servos, this is what I used
http://www.pololu.com/catalog/category/12 , I used the 6 channel one.
Once you have your servos, you need to know their power requirements, the ones I used, require up to 6v, I had an old pencil sharpener that used a 6v power source but a 5v power source should work as well, it should be rated for a minimum of 1 amp.
Follow the directions when hooking up the power to the controller, there are only two wires to solder, the positive and negative and you will need a USB cable to attach the controller to your PC, all this is on the POLOLU website.
Now that you have constructed your linkage and attached it to your joystick and servo you have to figure out how much the servo must turn in order to move the lever from 4 to 8 way and back. Attach the usb cable to the servo controller and your PC and plug in your power source and plug in your servo to the controller, you may hear the servo react when you do this. Open up the Maestro Control Center, now it’s just a matter of trial and error setting the min and max setting which is done on the Channel Setting page. Then go to the Status page, move the sliders to see how far the servo is turning, the settings I used are in the pictures below but I promise yours will be different, if you hear the servo chattering that means you have gone a little too far and need to back off a little, it takes a little while but it’s not hard to figure out.
I didn’t write a Script like someone else had done on the forum but thanks to DaOld Man’s new Joychoose Plug-in, all I had to do was write two batch files using the usccmd command. The usccmd is part of the Maestro Control Center download, it allows you to issue simple commands to the servo, like moving the servos.
These are the batch files I created;
First 4way
@echo off
usccmd --device 0001430 --servo 1, 1000
usccmd --device 0001430 --servo 2, 1000
usccmd --device 0001430 --servo 3, 1000
8way
@echo off
usccmd --device 0001430 --servo 1, 10000
usccmd --device 0001430 --servo 2, 10000
usccmd --device 0001430 --servo 3, 10000
The one thing you have to remember when using this command is, you have to multiply whatever you entered as your min and max values in the Maestro Control Center by 4. The nice thing I found out is, you don’t need to use the exact amount, the servo won’t go past whatever you entered in the Control Center, so you could use a small number for you min value and a very large number for you max value.
To create a batch file open notebook and enter the usccmd commands like my example, you may have to change the servo number(s)(I used servos 1, 2 and 3) and the amount you want the servo to move. Since I am using two controllers, I needed to use the device command and the controller's ID number. If you will only be using one controller then the device command is not needed.
There should be a space after usccmd and 2 dash lines before servo. Save the file as All Files and add .bat to the name, mine are 4way.bat and 8way.bat. If you try and run these files and the servo moves, you got it right.
I would like to thank Ken "DaOld Man", for all his assistance, without his help and new plug-in, I wouldn't have been able to do this.