Author
Topic: Super Off-Road Multi 360 (Read 7579 times)

Hi everyone. I would like to build a 3 player racing cab to play games like super sprint, badlands, indy heat and super off-road. I have perused the main sites for arcade parts but haven't come across a replacement wheel for these applications. Are these wheels what you refer to as 360 wheels because they spin freely? Does anyone make a legit clone of these wheels or do I have to scour ebay/klov for replacements? Thanks for the help.

Most 360 degree arcade wheels are "active low", but a few (including badlands IIRC) is "active high".GroovyGameGear's OptiWiz only works with active low wheels.Ultimarc's Opti-Pac or U-HID can be programmed to work with either.

Arduino could be the cheapest (and effective) way to go.There are plenty of examples out there on how to use rotary encoders and, believe me, a 1X resolution is enought for this application (easy sketch).

Still in the planning stages, I am quickly realizing that there is a real good chance that I won't find a couple Atari wheels at a respectable price so I am starting to search out alternatives. Can someone tell me how wide an original wheel was? I can't seem to find that measurement anywhere on the net.

I now have the theme music from that game stuck in my head, but I don't mind.Lots of good memories.

I hear ya. I tossed quarters at this one all the time growing up. I know a lot of people like the older classics but this one fits the era where I put my hours in at the arcade. I am excited to get this project up and running.

One of my first steps will be to check the status of all the steering wheels and pedals. I am assuming that the steering wheels work similar to a trackball but with only one axis. Is the testing routine the same? I have found a diagram that tells me the +5VDC power and ground for the optic boards but can anyone tell me what I am looking for as far as meter readings from pins 3 and 4? According to the diagram, pins 2 and 4 are unused.

I am aware of the trick using your cell phone camera to see if the LED's are lit but I couldn't see it with my phone last time I tested a trackball.

Potentiometers as pedals - I tried to search the wiki but it seems to be unavailable. I have read up on how to clean and test the pots but what kind of interface is required to integrate these into my project?

One of my first steps will be to check the status of all the steering wheels and pedals. I am assuming that the steering wheels work similar to a trackball but with only one axis. Is the testing routine the same? I have found a diagram that tells me the +5VDC power and ground for the optic boards but can anyone tell me what I am looking for as far as meter readings from pins 3 and 4? According to the diagram, pins 2 and 4 are unused.

When you slowly turn the axis, the data lines should alternate between logic high (near 5v) and logic low. (near 0v)

This quadrature waveform shows what you would see on the data lines (A and B) when you slowly turn the axis clockwise.

Potentiometers as pedals - I tried to search the wiki but it seems to be unavailable. I have read up on how to clean and test the pots but what kind of interface is required to integrate these into my project?

For potentiometers, you need an analog encoder.

The three best options are U-HID, A-Pac, or KADESTICK.

U-HID series encoders like the Nano are hybrid keyboard/gamepad/optical/analog encoders.

I simple terms, you've got the IR LED emitting light all the time and across from it you have the sensor that lets power pass through when light hits it.

So you'll have power and ground to the LEDs with power also routed over to one side of the sensors.Then you have one wire wire from each sensor that shows voltage only when light hits it.

So without the wheel in place (or with a slot lined up), you should get 5v coming off the sensor if both the sensor and IR LED are working correctly.

The picture PL1 posted is just what the pulses off each sensor look like when the wheel is spun.The interface uses this info to determine which way and how fast the wheel is spinning.(the sensors are staggered so that the pulses overlap differently if spun in the other direction)

I'd use an U-HID for the interface. It's more work to set up, but is the only single device that will cover everything.

Thanks for the explanation Scott and BadMouth. I will get everything tested soon. The cab came with 5 wheels, 2 different sized control panels and 2 foot pedal assemblies so hopefully I have at least one full set of working wheels and pedals when its all said and done.

It looks as if I will have to pony up for a U-hid if it will do everything I need in one piece. It sounds like being able to adjust things easily via the u-hid would be a major benefit so I will look into that a bit further. I would like to look at the Kade option but their domain name has expired for the store so I can't really compare.

Once I have the panels working I start on a monitor. I have kijiji finds for 27" CRT TV's and I might be able to shoehorn one of those in but it would be nice to put an actual correct 25" monitor into it.

Okay Scott, you have piqued my interest. I am in this hobby to learn so perhaps the kadestick route is going to be my option. Thank you for the links and information.

I read your post and I think I understand how things were done but I have a couple questions regarding how this would work for my specific implementation.

Could I get this done with a single AVR that you linked to? Would the single 5V on the AVR have enough juice (thinking amperage is the right word?) for the 3 wheels and the 3 pots in the pedals? Would I have to edit the code that is being put onto the AVR for my specific use?

2.) You could use a U-HID Nano ($35) for the steering wheels + Exit button (ESC) and a KADESTICK ($17) for the pedals and other buttons. The 9-pin Nano would normally be short several 5v and ground pins due to a 30mA per pin limit but you can get 5v and ground for two of the wheels from KADESTICK.

3.) You could use an OptiWiz ($15) for the wheels and KADESTICK for the pedals and buttons.(This is the least expensive option, but I think the third wheel would be on the "mouse scroll wheel" Z-axis. IIRC there is a workaround by recompiling Mame with a minor code change.)

4.) You could use an OptiPac for the wheels and KADESTICK for the pedals and buttons.

5.) You could use a newer I-Pac (2015) for the buttons and maybe the steering wheels if it can handle 3 separate optical axes (check with Andy to find out if the trackball X-axis, Y-axis and spinner can be set to three separate axes) and KADESTICK for the pedals.

At the cost of being tedious, your best option is still arduino leonardo [emoji6]

Thanks Baron, I was just going off what I had been given information for by Scott and BadMouth. Is there somewhere I can see this done, read about the process, etc? I appreciate you throwing that option back in the ring and I would like to explore it a bit further.

Sadly there are so much "almost" plug and play (but overpriced) options out there that noone wrote a lot about this, arcade oriented i mean.I wrote an introduction to arduino in my mother language with an optical device example too (taito spinner): take a look (i hope a link to another non competitive site is ok for byoac admins )Here is the linkhttp://arcademania.eu/viewtopic.php?t=386

In that case he was using the z-axis for a single separate control (spinner on the z, and trackball using x/y).I'd still be concerned that the z-axis might not behave exactly the same as the x and y axis.On this machine you don't want one wheel to behave differently than the others (more or less sensitive).

It's just a concern. I haven't tried it myself so I don't really know.As far as I know, nobody else has tried it with one of these 3 wheel machines yet. It would be nice to know for sure.

So I haven't tested the wheels yet but I did get them pulled out of the CP and inspected. The results aren't good. Out of 5 wheels total I have two wheels with one type of gears on the back for the optic boards and two wheels with another type of gears on the back. The 5th wheel has its gears all smashed up. The real kick in the nuts here is that out of the five wheels I only have two optical boards and they are both different.

So I begin the search for optical boards or an alternative that I can build myself because I have heard these boards are kind of rare. All suggestions welcome at this point. So far I have thought about 3-D printing new gears that are all the same for each wheel and switching over to a 360 degree pot or something - I don't know, I am really stepping outside my scope of knowledge now and just thinking worst case scenario. Any suggestions that would get this done cleanly and not super expensive would be great. If you have any of the optical boards or the gear assemblies for the back of these wheels or know where I may be able to get them please let me know.

I am also missing the red panel off the smaller control panel (did you know they made two sizes of 3 player panels for these? I sure didn't). So I am looking for one of those. If anyone has one in their infinite collection of arcade pieces let me know.

So I begin the search for optical boards or an alternative that I can build myself because I have heard these boards are kind of rare. All suggestions welcome at this point. So far I have thought about 3-D printing new gears that are all the same for each wheel and switching over to a 360 degree pot

Finding/printing matching gears sounds like a good idea, but forget the "360 degree pot".

Even though the gears on your two pairs of wheels don't match exactly, the gear ratio may still be close enough -- check exactly how many turns of the encoder wheel you get from exactly 1 turn of each steering wheel.

There is a reference on several Arcade Boneyard parts that were pulled from "Ivan Stewart / Happ Wheels" -- check for part numbers on your wheels to see if you can find related part numbers on the Suzo-Happ website.

As long as the count is a couple hundred or so and it works off 5v, it will be workable.I'd avoid the ones where you have to mount a tiny disc on an existing shaft.I have a couple of those I got cheap and haven't been able to work out a bracket for it.

I've tinkered around with a wide variety of encoders and an Opti-Wiz.16 count per revolution is too low to register in most MAME games.300, 500, 900 have all worked (IIRC Ultimarc & GGG spinners are 1200 count, but I could be wrong). Sensitivity adjustments in MAME can tweak it to your liking.I suppose if you go too high, you wouldn't be able to get it back down to match the original wheel 1:1, but it would probably still be useable.

As long as the count is a couple hundred or so and it works off 5v, it will be workable.I'd avoid the ones where you have to mount a tiny disc on an existing shaft.I have a couple of those I got cheap and haven't been able to work out a bracket for it.

I've tinkered around with a wide variety of encoders and an Opti-Wiz.16 count per revolution is too low to register in most MAME games.300, 500, 900 have all worked (IIRC Ultimarc & GGG spinners are 1200 count, but I could be wrong). Sensitivity adjustments in MAME can tweak it to your liking.I suppose if you go too high, you wouldn't be able to get it back down to match the original wheel 1:1, but it would probably still be useable.

Wow, thanks for that link BadMouth. You mean I could ditch the little spinning wheel altogether? I didn't even know that was a viable option - that is a great idea. I guess all I would have to do is count the number of little openings on the original encoder wheel to see what the original count was right? As long as I aim for that and don't change the gear ratio between the wheel and the encoder things should "feel" relatively the way they are supposed to???

Thanks again for all the info Scott. I did some more reading and realized the 360 degree pot was actually a horrible idea. I will check the number of rotations the gearing on each wheel has. Hopefully they are the same or close to the same. Are the red boards you refer to the same as the red boards on the Happ 3" trackball? If so, I like that idea. Those are likely going to be around (in production) for a long time and don't appear to be majorly expensive.

1 Arduino Mega is enough - It shows up as 3 GamePads (for the Pedals) and 3 Mice (for the wheels)

I though I uploaded the firmware already on github - but I didn't - will upload that once I get home from work.

That's really cool SailorSat. Let me know about that firmware. Is there a preferred vendor or board I should get? Again, out of my area of knowledge but willing to plug ---steaming pile of meadow muffin--- in and see where it goes.

I guess all I would have to do is count the number of little openings on the original encoder wheel to see what the original count was right? As long as I aim for that and don't change the gear ratio between the wheel and the encoder things should "feel" relatively the way they are supposed to???

I wouldn't bother going to all that work. I'd ditch the gears altogether and just couple a higher count encoder directly to the steering shaft.I'd just buy whatever encoders I can get the cheapest then use the sensitivity settings in MAME to adjust them until they feel right.

If you want to work out the math, there were apparently two different gearing setups used.Since the BYOAC Wiki is down, here it is from the MAME driving game spreadsheet from the stickied noob thread:

Quote

Geared:a) 154.286 OR b) 164.57

a) 60 teeth on the steering wheel shaft, meshes with a 14 tooth gear on the encoder shaft, which has 36 teeth (slots?) on its encoder wheel b) 96 teeth on steering wheel shaft, to 14 tooth gear on encoder shaft, which has 24 teeth on encoder wheel.

I think that means 154 or 165 pulses per revolution, but it's been so long since I looked at it I'm not sure anymore.I'd still go for a higher count encoder and adjust it in MAME.

(or stick with the original setup if you can work it out for a decent price)

Just a fyi.... my home made 360 wheel is just two bearings and a shaft with the encoder board above and a regular trackball encoding wheel. I had to adjust the sensitivity, but after I did offroad (which I built it for) played exactly as I remembered. Most of the arcade wheel games don't have a lot of sensitivity to begin with.

Just a fyi.... my home made 360 wheel is just two bearings and a shaft with the encoder board above and a regular trackball encoding wheel. I had to adjust the sensitivity, but after I did offroad (which I built it for) played exactly as I remembered. Most of the arcade wheel games don't have a lot of sensitivity to begin with.

Okay, looking at grabbing these for the rotary encoders. They are cheap, they ship to Canada, and for this price I feel like I could get three and do all the wheels the same. I must admit I have no idea what single and double phase or a couple of the other lines of specs but 400 R/M is hopefully enough. I will likely get a single one to try it out and then order the other 2 once I have one working properly. Do you see any reason this wouldn't work?

Thanks Scott. I have one ordered. Lets see how long it takes to get from Hong Kong to Canada.

Okay, now back to the controller board. SailorSat said that the job can be done entirely by a single Arduino Mega. Does that mean that I need to buy an actual Arduino Mega or can I, for example, buy a SainSmart MEGA 2560 Board for Arduino from Amazon and use the same firmware? The reason I ask is that an actual Arduino Mega 2560 board is getting up into u-hid price territory while the SainSmart and other boards are much cheaper. If I have to use an actual Arduino Mega board I would probably go with the u-hid instead since it is going to be closer to a plug and play solution.

While I wait for some of the electronic pieces to arrive I decided to try and get the cab prepped and painted before the weather gets too cold to work outside/in the garage. I quickly found out that the bottom of the cab was completely hosed. I knew a couple corners needed work but I had no idea it was moldy. The bottom must have been soaked at one point.

I cut out the bottom 5" of the cabinet sides and replaced them with 3/4" plywood. I removed the front kickplate and cut a new one and I replaced the bottom part of the back of the cabinet up to where the back door rests. It was definitely nerve wracking cutting off the bottom of the cab but I think it turned out pretty good. I still need to put the bottom back in.

What is interesting about that pic (to me anyway) is that I have that wider control panel but not that cab design. the coloured ends don't wrap around the edge of the control panel and it's wider than the other panel I have (incomplete). I haven't been able to find much info on why they have two different panels but the wider one may be the EU cabs control panel.

Yeah the coin door layout is totally different from what I'm used to seeing as well. The differences are interesting in that the changes don't seem necessary. I guess it's just manufacturing plant differences.

Thanks for the pics SailorSat! The machine turned out really great! I liked how you were able to maintain all the original wiring. I'm not sure if I will be able to do that or not but we will see.

I sanded and primed and primed and sanded over the weekend. I gave it a once over with Killz primer to lock-in the stench of the 25+ years of cigarette smoke the cabinet has absorbed. It seems to have worked. We go back to black by the weekend.

My mega is on order and I should be able to start playing with it next week.

Nice. I don't know what it is about off-road but I loved that game growing up. They had it at the Hills dept. store and I pumped a buttload of quarters into that thing.

I member Hills. The Hills I went to had Final Fight and a Neo Geo.Ooh, and Ames. I still have a small dining table set that came from Ames.....and Montgomery Ward. They didn't have any arcade games, but member Montgomery Ward?

Nice. I don't know what it is about off-road but I loved that game growing up. They had it at the Hills dept. store and I pumped a buttload of quarters into that thing.

I hear ya. We had a decent arcade in the nearest mall and I always ended up at the off-road machine. The majority of my quarters went into a Neo Geo that was tucked into a local tavern near my high school though. So many quarters!

So TIL don't buy your paint rollers at the dollar store. The fuzz coming off the low pile roller just cost me a nights work. Good thing I started with the back door. I can sand that down tonight and try again with better equipment. I am using gloss tremclad but think I may switch to semi-gloss. I like the little bit of texture and how this paint goes on but I'm on the fence about the shiny finish. Would semi-gloss be more of a traditional arcade cab finish?Thoughts?

Okay, with the mega2560 on it's way I have questions about the best way to wire one of these for this application? Maybe I should just wait until it arrives but I am bit excited. I went for a clone (sainsmart) so I am hoping for good results.

Nice. I don't know what it is about off-road but I loved that game growing up. They had it at the Hills dept. store and I pumped a buttload of quarters into that thing.

I member Hills. The Hills I went to had Final Fight and a Neo Geo.Ooh, and Ames. I still have a small dining table set that came from Ames.....and Montgomery Ward. They didn't have any arcade games, but member Montgomery Ward?

Yeah Ames took over most of the Hills. By the time they were around the store boasted TMNT and Operation Wolf. Whoever owned that route knew their stuff.... never a bad game. Later they got C.O.W. Boys of Moo-mesa and I thought "Wtf is that?" And strangely the show came later? I member Montgomery Ward. My mom works at Brickstreet so she's in the old MW section of the town center mall.

Based on the Happ ffb setups I've messed with, the hub that the steering wheel bolts to should slide off the shaft.You might need to use a pulley puller or persuasion hammer if it's stuck.There is a half moon woodruff key where that notch is. Don't lose it.

After looking at the happ site, the key is rectangular, but same idea.

No music yet but it's time to play cram the beautiful 27" monitor in the tiny 25" space. It has S-video in and was free so the specs are right. This is about to get fun.

So I definitely need to decase to fit things into the small opening. So far I have only taken the back off. Very intimidating. CRT=1, me=0.

I imagine that this is a self discharging tube but but before I get into it I would still like to discharge it just in case. All the videos I have watched on discharge day to put the alligator clip on the frame. It I don't have a frame. Where should I connect to discharge?

A little bit of progress. I threw together the computer I plan on using and collected the games I want to play on the cab. Hooked up the S-video cable and gave it a test run. I wanted to do this before digging into the decasing of the television. I think everything looked really good. Except windows. Does it always look really crappy on a TV? The fonts are almost unreadable.

A TV is in most part like an arcade monitor. The problem here lies in the SVideo connection. In europe we use to connect the PC from VGA to scart, but there are differences between USA and european standards I am not 100% aware of.

Yeah it's fuzzy, but not nearly as bad a the single rca component connection.

On my setups, I was able to use 1024x768 over s-video which looked a bit better than 640x480 for the games.When working in windows, I would reduce the resolution to make the words bigger. I was happy with it, but had to design the front end layout accordingly (keep the font big or use marquee images).

Thanks everyone! I don't really have a problem with the TV while in the games - I am actually pretty happy to be seeing the game on a low resolution CRT the way it used to be displayed. I am assuming that since the games were made to be played on screens of this resolution everything was kept to a respectful size during the design process - but I will try using 1024x768 to see if it makes any difference. I may have to hook up a 2nd monitor for setup that needs done in windows.

There are some mixed up terms on this thread, I think he got it backwards.

Brief primer:

coax composite = all audio and video through a single wire converted to a tv broadcast, usually fed through the cable input via a switch box.... 480i/576i or less and a horrible picture

rca Composite = all video through a single yellow rca cable. 480i/576i and a blurry picture

s-video = luma and chroma are sent separately, still typically 480i/576i. If a computer video card claims to output a higher resolution it's simply rendering in that resolution and down-sampling to the interlaced resolutions in many cases

The reason you are having trouble reading windows isn't necessarily the sharpness but the 480i limitation. Interlaced is really two 320x240 frames kludged together, which tends to make text on a computer look like crap. The only way to make it look better is to either dramatically increase the size of the font, or try to get windows running at 320x240. Both solutions have their drawbacks. The only way to make windows look decent is to use a connection that'll support 480p or higher. It's the main reason most of my cabinets now have either a svga crt or a hdmi monitor.

Thanks for the primer. I was aware that RCA coax or lower was going to be the standard option on most TV's but I assumed that S-video was going to yield the best results. I am actually pretty happy with the s-video results in game and the video card I had available has s-video outputs. In your opinion, is it worth it to pursue RCA component over s-video?

S-video gives a better picture, but only slightly. It takes care of most color bleeding, particularly red, which improves sharpness.

Well you can't pursue component because, to my knowledge at least, no pc video card was ever manufactured to output component. The next step up is svga, which I'm assuming your card already has, or dvi/hdmi.

That being said, if the tv you are using has component in, it might actually be worth it to find an adapter box as that would bump you up to 480p.

All the video cards I've had with s-video output also had component out. (Like 4 or 5 of them, Nvidia 8600-9800 series). The s-video out connection has more pins than needed for s-video. An s-video cable could be plugged directly in the card directly and it would work, but an included pigtail could be used instead. The pigtail had more pins on the connector than s-vid and had s-video, component, and composite outputs. The annoying part was that it couldn't auto detect what you were using. You had to set the output type in the nvidia software first.

The picture using component was much better and text easier to read, but I used s-video instead because I was using act labs s-video light guns.

I'm going to post this in the buy/sell section as well but I am looking for a gear or two off a super-off road. Apparently there are two different size of teeth, one with really fine teeth and then the one I need. This is a pic of the gear I need. I have two of these already so any help would be great as it will allow me to carry on with three of the same size gear.

Can anyone recommend a simple frontend that can scroll horizontally when the wheel is turned? I plan on only putting a handful of games on this and was thinking of displaying just the marquees of the games with a blurred screenshot in the background. No favorites, nothing fancy. Real clean and simple.

Use FEEL instead : it' s fast, good looking and it's the choice i made for my racing cab. I made an animated low res layout for racing games that is included in the main package.http://feelfrontend.altervista.org

Okay folks it's time for me to step into uncharted territory and turn my arduino mega into the controller for this project. SailorSat has graciously provided code in github for me but I have some questions about getting started.

First of all, do I need to set up the Arduino Mega on the actual computer I am planning on using? It is running a really old version of XP. Or, can I set it up it on my laptop or desktop that are running windows 10 and then once set up plug it into the older machine? Will this cause issues? Or is it just better to work directlyon the old machine?

There are two files for what I believe to be the Offroad code. Do they both do different things and am I supposed to use both? I know the lower one with the .ino extension is a sketch (that I believe I cut and paste into the arduino sketch editor). From what I can tell the .ino code looks like it takes care of all the buttons, the pedal pots and the steering input but, what is the .h file for?

Any help you could provide would be very appreciated and please be gentle on the new guy, lol.

You can upload your sketches to your arduino from what PC you prefer, with what O.S. you like the most (i had issues only with vista): it will work in any other PC after installing the drivers. Driver installation is different from OS to OS, but there are detailed instructions on the net.

I have not had the time to take a look at the code she wrotes for you, sorry.

You can upload your sketches to your arduino from what PC you prefer, with what O.S. you like the most (i had issues only with vista): it will work in any other PC after installing the drivers. Driver installation is different from OS to OS, but there are detailed instructions on the net.

I have not had the time to take a look at the code she wrotes for you, sorry.

What is interesting about that pic (to me anyway) is that I have that wider control panel but not that cab design. the coloured ends don't wrap around the edge of the control panel and it's wider than the other panel I have (incomplete). I haven't been able to find much info on why they have two different panels but the wider one may be the EU cabs control panel.

Today I was watching a new TNT amusements youtube video. I usually skip over these but since it mentioned Super Off-Road I gave it a watch. Apparently according to Todd Tuckey from TNT Amusements, at some point in production Leland ran out of original Super Off Road cabinets. At this time they decided to use Team Quarterback cabinets and a wider control panel was used since those cabinets were larger. These wider control panels look to be the same design as the cab SailorSat worked on but the graphics on the steering wheel mounting plates are different.

Hi n3wt0n, have you got the Mega up and going yet? I just acquired the driving controls for Super Off Road and will be building my own cabinet soon to make a Multi-360 like you.

Was wondering if you also had to flash the Mega to turn it into a HID (keyboard, joystick, mouse) device to get it to work?

Thanks

Hey, I haven't had a chance to set the Mega up yet but as I understand I have to upload the sketch provided by SailorSat earlier in the post and add the libraries file to the arduino library on the machine I plan to use it on. If you are new to the Arduino world I suggest you read through Barons beginners link posted earlier. With Google translate I was able to get a lot of great information out of it. If I get to it I will try to post the steps for you.

Hi everyone, I am working on getting the Mega working as intended but I think I am having some issues. I am a complete Arduino noob and new to programming anything like this. First off, I have successfully plugged the Mega in via USB and I have uploaded the test 'blink' sketch to make sure that the computer and Mega were communicating properly.

Next, I uploaded SailorSat's code that she provided on GitHub (OffroadArduino.ino). It appears that everything uploaded okay but I don't see it showing up as three game pads and three mice as it apparently should. One thing I noticed was that when I opened OffroadArduino.ino in the Arduino IDE software it automatically opened OffroadArduino.h in a tab beside it. I don't know if that is normal or not.

There is another folder of goodies in the main Offroad folder called Mega. I'm not sure if I need to do anything with this file or its contents. Is this is a library or does it need to be loaded in a specific place on the computer or what? I added some images that show the contents of the folders. I am really stuck.

Any help that anyone with Arduino experience could provide would be amazing and much appreciated. Ultimately, I would love SailorSat to chime in and give some input as it is her code but anyone is more than welcome to participate in what may be me overlooking something very simple.

I have included a link to her GitHub repository for Off Road but be forewarned, I got a couple Windows Defender warnings about a few executables in the SRC folders - Since they were outside the Offroad Folder I just removed everything that wasn't in the Offroad Folder from my computer. https://github.com/SailorSat/daytona-utils/tree/master/OffroadArduino

n3wt0n, I think in order to turn it into the gamepad/mouse mode you have to put the Mega into DFU mode to be "reprogrammed." You need to download the Atmel FLIP program in order for your Mega to show up in DFU mode as well.

After installing, you need to short your Mega by jumpering these two pins:

However, when I did all this I got the pedals and buttons working but for some reason all three wheels are identified as the same mouse and not separate mice. I tried enabling multimouse in the Mame.ini but I still get the same problem. I know its a long shot but hopefully SailorSat can chime in with some pointers.

EDIT: I tried the latest version of Mame and now the wheels work correctly. I now have to figure out why only why a max of 6 buttons are recognized by the arduino in the game controller properties screen when there should be 15 or so.

I wanted to do a multi driving cab that plays other 360 wheel games. So I'll need some admin buttons, start buttons, and buttons to simulate a shifter etc. Would appreciate some help in getting this work. But thanks for this arduino sketch in the first place.

Your advice was very helpful, ProcessedMeat but I have learned my lesson to never buy a clone again to save a couple bucks. I did get it into DFU mode but I needed to reset in another order with a couple other pads shorted. It turns out that my Sainsmart version of the mega2560 uses an AT90USB82 instead of the 16AU. I was able to get it connected in Flip using the AT90USB82 setting (once I figured out it was a AT90USB82) and I was able to get it to use the driver that was supplied with Flip. Even though I have figured all of that out I cannot get the TurnIntoAJoystick.bat file to work. I get the two first checks done in green but the last one fails and says 3EB 2FEF no device present. Is this batch file just a quick way to load a hex file or is there more going on in it? It looks like one of its jobs is to load MegaJoy.hex. Can I just load MegaJoy.hex via Flip instead?

Okay, I took a shot and used Flip to load the MegaJoy.hex file onto the Clone. Then I unplugged it and plugged it back in. I see a total of 4 HID-Compliant mice in Device Manager so I am assuming that it worked to some degree but my mouse cursor now slowly creeps across the screen along one axis and I can't figure out why. It sometimes stops when I pick it up and it sometimes moves slower/faster when I pick it up but it always moves towards the left. Its not the USB cable as I tried using another one and the problem was still there.

I decided to test my rotary encoder with some of the inputs. From what i understand the two inputs for each encoder should be 2/3, 21/20, and 19/18. The encoder moves the mouse pointer left and right when I hook up to 21/20 but doesn't move the mouse pointer when I hook up to 2/3 or 19/18. Is this a fair test and is something not working properly? I would think that the encoder should move the cursor in all these instances? Thoughts are welcome. I may just order an actual Arduino Mega but I hate to admit defeat.

Okay, the clone Mega 2560 is a pile of junk. It is being returned to Amazon and I will be ordering an actual Arduino Mega 2560 rev3. Lesson learned. Moving on.

I took a shot at the pedal assembly and gave it a quick restore. I used the existing mat and the metal trim around it because it was actually in pretty good shape. I hand sanded all the metal pieces before spraying and hit them with two coats of tremclad hammer finish and finished it all off with a coat of tremclad semigloss. They turned out pretty well but I imagine the foot pedals will be scuffed up pretty quickly. I had a friend suggest using bedliner paint on the actual pedal face for grip so I may try that eventually. All the pots were tested while it was apart and the original harness was checked for continuity before putting it back together.

Okay, I took a shot and used Flip to load the MegaJoy.hex file onto the Clone. Then I unplugged it and plugged it back in. I see a total of 4 HID-Compliant mice in Device Manager so I am assuming that it worked to some degree but my mouse cursor now slowly creeps across the screen along one axis and I can't figure out why. It sometimes stops when I pick it up and it sometimes moves slower/faster when I pick it up but it always moves towards the left. Its not the USB cable as I tried using another one and the problem was still there.

I decided to test my rotary encoder with some of the inputs. From what i understand the two inputs for each encoder should be 2/3, 21/20, and 19/18. The encoder moves the mouse pointer left and right when I hook up to 21/20 but doesn't move the mouse pointer when I hook up to 2/3 or 19/18. Is this a fair test and is something not working properly? I would think that the encoder should move the cursor in all these instances? Thoughts are welcome. I may just order an actual Arduino Mega but I hate to admit defeat.

Double check your voltages and ground going into the encoder board. Also, make sure that you get a good continuity from the fingerboard of the encoder pcb on the wheel to the wires. I reflowed the fingerboard with some more solder to ensure that there was a good connection. Also, make sure the molex is pushed into the fingerboard all the way. I had some issues that I couldn't figure out and that made all the difference.

Yeah, it should move when plugged into 2/3 and 19/18.

Quote

They turned out pretty well but I imagine the foot pedals will be scuffed up pretty quickly. I had a friend suggest using bedliner paint on the actual pedal face for grip so I may try that eventually.

I used 4" wide grip tape (skateboard) on my pedals from Amazon to keep them from getting scuffed up.

Quote

Okay, the clone Mega 2560 is a pile of junk. It is being returned to Amazon and I will be ordering an actual Arduino Mega 2560 rev3.

Thanks for the tips but Amazon is taking the broken board back since I can't get it to work properly. I've ordered a legit Arduino board that should get here in time for the weekend I hope.The grip tape idea is great. I may do that.

I haven't really picked a frontend yet but I knew it wouldn't be Hyperspin because it would be too much for the older PC I am using. Baron mentioned one earlier in the thread but I didn't get around to checking it out. Ultimately what I would like to have is just a really simple frontend that displays one game marquee at a time but rotates through them as you turn the wheel left or right. Nitro button to select game. At this point I am not planning on adding any additional buttons to the panel. It will have a very limited number of games it will play but ultimately I want it to appear as close to an original off-road as possible.

I'll be glad when you get this all sorted. Running a 3 player Offroad cab on a single interface device has come up more than a few times.Other people will get a lot of use out of all your arduino sketch after you've done all the troubleshooting.

I'm not sure about that Vandale but I think the Arduino route will be a nice clean solution when complete. Most of my issues have been from being a complete newcomer to Arduino and getting a bad clone board. It's hard to tell if it's broken if you don't know how it should work.

New Arduino Mega 2560 rev 3 has arrived. I tested it by putting the blink sketch on it without issue.

Here is what I have done... Open sketch and upload it to the mega - loaded fine. No errors.Put it in DFU mode and run "turnintoajoystick"- loaded fine. no errors. (this is where I had errors before with the clone)unplugged and plugged it back in.

I am still not getting a button press registered on input 32. I think it should register as a button press in the gamepad properties. Can you confirm that ProcessedMeat?Also, I am getting horizontal mouse movement when using the spinner with inputs 20/21 but not with 18/19 and 2/3. Also, I am getting x,y, and z movement with input in A0, A1 and A2. Shouldn't one of them be x axis, one be the y axis and one be the z axis?

These are the same results I was getting with the clone mega except the mouse no longer wanders across the screen without any input so I guess that is progress. Is checking in the gamepad properties the right place to be checking these inputs? Maybe I am missing something. Any help would be really cool. thanks.

I ended up just taking a wire that was connected to GND to probe each one of the arduino pins and this is what I got:

Pin # - Gamepad Button31 - 433 - 734 - 236 - 137 - 535 - 6

Also I noticed some of the Arduino pins were outputting mouse clicks

Weird regarding the horizontal mouse movement - I'm sure you took the "working" spinner wires and plugged them into 18/19 and 2/3 to make sure it wasn't a hardware issue. I'm not sure if this works without an oscilloscope but maybe you check the voltage coming out of the encoder wires. I think they should be oscillating as the wheel turns.

I think I'm getting the same with the analog pedals. It should work fine when you map the controls to mame.

I think I also tried the pins that didn't register a button press from gamepad properties in the mame controls menu and they weren't being recognized as well.

N3wt0n, could I trouble you to take a hires photo of the control panel overlay from above so the steering wheels are not in the photo? I want to try to create a custom art CPO that is representative of the the multi game nature of this cabinet.

N3wt0n, could I trouble you to take a hires photo of the control panel overlay from above so the steering wheels are not in the photo? I want to try to create a custom art CPO that is representative of the the multi game nature of this cabinet.

ProcessedMeat, I think I took the pics you were looking for. These aren't the highest res that I have but you will have to PM me your email address so I can share a dropbox folder with you. I have the wider "Team Quarterback" sized control panel as well as the standard US 3 player panel. I took pics of both and if you need measurements for scale I can take those too. Just let me know.

SailorSat said to not leave any analog inputs floating and I believe that was what was causing all the odd behavior on the Arduino Clone because when the new legit Arduino arrived it acted exactly the same way. I can say that the legit Arduino seemed built a lot better and it came with a nice plate for mounting - very convenient.

I was really excited to learn that I could use the original harness that came in the cabinet. I purchased the right sized female connectors to work with the original harness from DigiKey and soldered the wires from the Arduino to the right connector.

I cut a board the right size for all the computer guts and I attached nuts and bolts to the cab that would allow the board to be removed from the machine easily. Then I attached all the computer parts and the arduino and tried to get the wiring cleaned up the best I could.

Later I had a friend help me mount the beast of a TV that I was using for a monitor. From what I could measure, it was going to be a very snug fit. It couldn't have been any better (unless it was an original screen of course). It is a 27" screen while the original was a 25" but since this isn't a restore I wasn't worried about using a bit larger screen.

By this time I have also rewired the cab with the stock harnesses and rewired the control panel with stock harnesses. I only have the center player to finish up but more about that in a later post.