The ultimate orb solution, at last.

SpaceOrb drivers and software discussions

The ultimate orb solution, at last.

Postby vputz » January 03 2009, 14:56 PM

Hi, I'm Vic Putz. You may know me from such drivers as "hidsporb, the open-source Win32 HID minidriver for the Spacetec Spaceorb 360"... and I just got done playing through the "Mercy Hospital" scenario of Left 4 Dead with my old SpaceOrb, at a spectacularly messy desk:

Image

And --this is the important part-- without the old hidsporb driver.

Whoops, I did it again.

Well, sorta. You see, I really was never satisfied with hidsporb as a Windows HID driver for a number of reasons. The enumeration of serial ports took time, and as legacy serial ports dropped from modern motherboards it became trickier and trickier to use. But it's punishing working on Windows drivers, and Vista is even moreso, since I hear it doesn't even allow unsigned hobby drivers. And I have neither the time nor the inclination to explain myself to an operating system that so dreads the hobby developers that made the home computer revolution possible.

So... I did away with the driver.

Entirely.

Sorry to be so dramatic, but I've dreamed of this for a long time and finally had the convergence of resources, time, and irritation to do it. You want a driver? I got your driver RIGHT HERE:

Image

Ignore the hairy chip on the right; that's a prototyping board. Look at the board on the left. You see a small prototyping board with a serial-to-TTL circuit at the top, connected (along with a 9v battery pack) to the SpaceOrb cable (the extra power comes from the fact that using only the +5 volts from USB you can only get the buttons on the orb; the ball itself requires a bit more juice). At the bottom of the tan board you see a basic USB interface. Both of these are connected on the right to an Arduino Diecimila hobbyist microprocessor.

And what you get is a hot-pluggable USB orb, six axes, 16 buttons with chording. I haven't added every tweak of the hidsporb driver, but mapping axes works, swapping polarity of axes works, and it's hardwired with the "sensitivity 3" curve right now. It looks like there is room in the memory for multiple curves and every last feature of hidsporb. It *may* even be possible to do keyboard and mouse events; I haven't tried that yet. It's early days.

And the best thing, folks--it JUST WORKS. You plug it in, you get an orb. You unplug it, orb goes away. It's a hot-pluggable USB device just like we always wanted.

The bad news is it does cost; raw materials about $40-$50 I'd say ($30 for the Arduino, peanuts for the rest of the parts) and it is a bit irritating to wire together. I'm going to try and figure out what else is needed (if anything), design a proper circuit board, and make the design easy enough that interested folks can make their own with a bit of applied solder.

The best part is that the Arduino software makes fiddling with the driver pretty easy. Plug the other USB port into the computer, flip a switch (right now unplugging a wire), and you can reprogram the thing to do whatever you want. I will bet you even money that it will work with ANYTHING that accepts a USB device, including USB-friendly consoles.

I'm really excited about this. Never mind that I'm ABSOLUTE RUBBISH in first-person shooters with the orb... it's the orb, and it works again--and will work forever.

I need a rest. More details in several days; I've sorta gotten obsessive over this project and need some breathing time (and a couple of tries to simplify the circuit and bring the price down a bit, and learn about circuit board designs). Eventually this will be what the Arduino folks call a "shield"--it'll just dock with the main processor board (see the "green board sandwich" on the right, covered in jumpers? We'll make a shield that replaces the top part, so you'll have a tidy package. It may even fit in an altoids tin).

Viva SpaceOrb, 2009!
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby vputz » January 03 2009, 20:01 PM

Minor update: heh, silly me for not reading the IC description better. No battery pack needed as the driver puts out a nice +10v signal suitable for powering the orb. It just gets better!
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby TurtleMan » January 05 2009, 19:46 PM

I'm speechless, Victor... Many thanks for your undying Orb support and for supporting "Undying" on the Orb (a bit of SpaceOrb humor, very small bit :roll: )...

I'm quite proficient with the mouse/kb now, but many people with impaired dexterity will benefit from your innovation... And I'll of course have to try it out anyway, in spite of my new abilities.

I'll take the time to give a shout to Jay, as well: I've been an "Orber" since the golden age of Quake 1, back when Gamespy was Quakespy, and Mplayer, Kali, and TEN were all the rage... You did a hell of a job keeping up support for new game releases, long after Spacetec folded, and your work is much appreciated by me and many others.

Happy New Year, and I look forward to the upcoming hardware.

TurtleMan
TurtleMan
 
Posts: 6
Joined: November 26 2008, 19:58 PM

Re: The ultimate orb solution, at last.

Postby vputz » January 06 2009, 5:40 AM

Thanks, Turtleman!

Actually it's funny--I keep returning to the orb stuff, not because I actually use it, but because I learn so much trying to support it. I'll be honest--I am much better at FPS games using keyboard and mouse! But the orb really was a remarkable little device and I hate to see it fall into complete obscurity and gather dust just because it wasn't a commercial success.

I may try etching a prototype this weekend with a couple extra features (a bank of dip switches for programming selection and then three switches for orientation, chording, and "sniper mode", although it'll probably be better to set those things from software reflash) . There are better circuits to use (particularly for the USB side of things), but keeping it Arduino-compatible makes modifying the software a little easier from a community perspective.
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby jaycrowe » January 06 2009, 13:58 PM

Victor,
That's great news! I'm interested to build one myself when you get time to share the plans.

I really like the fact you have Alka-Seltzer handy on your desk. :lol:

Is this a sign that it's going to be a great new year? Hope so!

Thanks for the comments, Turtleman! I need to apologize for not keeping up with the times... I've been all work and no play literally for a few years now... Time to get back to my hobbies!

Thanks,
Jay
jaycrowe
 
Posts: 24
Joined: May 27 2007, 9:52 AM

Re: The ultimate orb solution, at last.

Postby vputz » January 08 2009, 10:34 AM

I'm interested to build one myself when you get time to share the plans.


Sure thing. This is my first attempt at designing a PCB, so I've made a couple mistakes on the first draft (I tried to make it entirely single-sided and I think a couple jumpers are really going to be needed on the topside for home etching). And there are a couple things I want to add--right now we only get data from the orb but theoretically you can send data to the orb too, which may not be necessary for the orb, but I'd like the circuit to be a generic "serial device to HID" thing. Second are some switches for run-time options. I got the parts in, so I'm hoping for a proper prototype by end of the weekend. If it works and I'm happy with it I'll be happy to share.

I do have one concern--the "z" axis looked a bit choppy, but I don't know if it's my board, my orb, or the fact that I was running it without the battery pack (it could be the 9v battery is still required but I'm hoping not). I'll play with it and see if I can diagnose.

If it gets to the point where it's pretty solid, there are a few options for "proper" PCB manufacture (heh--for all three of us? Eh, maybe more would be interested), but one place in particular will do $33 for five boards and make some extra to sell at a fairly low price; populating the board would then be about $7 extra, plus the arduino, so almost $45 to get a twelve-year-old device working, heh. Silliness, but fun (and as I said, there are better boards for this, but the Arduino has a large community movement and easy software for screwing around, so leveraging that community is probably a good idea).

One interesting thing is that it should be easily modifiable for the desk-mounted orbs, which use an almost identical protocol, which might make interesting game controllers--I'm not sure (I've got one I'll try it on). If they feel decent, you could then flail at the keyboard with the free hand, which helps with the orb's six buttons (chording gives options, but it's not exactly ideal).

Software-wise there are still a few tweaks (the old "gain" option is not in there, and to be honest I almost don't remember how it worked; there was "gain" and "sensitivity"; sensitivity was the curve, and gain affected how you got to the curve, but we're limited a bit on space and power so it may turn out to be best to drop gain, but I'm not sure yet). And "sniper mode" (which dampened the orb for aiming) isn't in there yet.

I really like the fact you have Alka-Seltzer handy on your desk.


Heh--with good reason I suppose. At my advanced age, going back to grad school has been a bit stressful! Actually I really like the collection that snapshot shows--alka-seltzer, a prototype spaceorb circuit, notes on said circuit, a ticket from the RSC's production of Hamlet starring David Tennant and Patrick Stewart, and the script from "A Few Good Men" where I played the role of Col Jessep at the Oxford Playhouse. Kinda sums up the past (insane) 2008 pretty well actually...
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby vputz » January 08 2009, 13:38 PM

Hey, hardware UI question:

At first I thought it would be all fancy to have switches and LEDs to indicate orb status. But reflashing the device takes about 20 sec and would allow you to alter everything about it. Right now the switches are a 6-switch bank (2 for turning off the serial). I could drop out the bank of switches in favor of a jumper (or single switch) for reprogramming, which would simplify the board a bit. Any preferences? I mean, either way it's going to be a horribly hacked device...
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby jaycrowe » January 08 2009, 13:48 PM

My vote would be less switches. Sounds like you can keep the hardware simple and still get creative with the software. I'm excited to try this out! I was looking at the Arduino online yesterday and almost ordered one even though I don't know what to do with it yet... haha.
jaycrowe
 
Posts: 24
Joined: May 27 2007, 9:52 AM

Re: The ultimate orb solution, at last.

Postby vputz » January 09 2009, 5:25 AM

Heh. Arduino's an interesting little beast; you can sure do a lot with it (some of the projects people have out there are incredible). I've done a lot of programming, but there's something magical about programming a tiny faceless device that you can disconnect from the computer (my very patient wife had to endure me crowing about this: "look! The LED blinks! IT BLINKS!")

I think I agree on you wrt switches. Right now the 6-switch DIP package is in there because I've jiggled the design enough I don't want to touch it until I've tried at least once (routing this was really irritating; I'm sure there are masters of the craft who can do this easily, but it's completely opaque to me) but I may just not drill the extra holes on the first one, at least... there are a LOT of holes to drill if I drill them all. I'm anticipating a Weekend Of Frustration since I've never etched PCBs before and can expect to break a lot of 0.8mm drill bits from what I've read, even if the etching goes OK, but I'll have a go.
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby jaycrowe » January 09 2009, 10:37 AM

Victor,
Here's a dumb question. Are you from London, or thereabouts? I never really gave it any thought before, but your play ticket, oxford playhouse reference and "absolute rubbish" comment more or less commit you to being from the UK.

Just curious.

:wink:
jaycrowe
 
Posts: 24
Joined: May 27 2007, 9:52 AM

Re: The ultimate orb solution, at last.

Postby vputz » January 09 2009, 17:32 PM

Actually, I'm from Nebraska. Well, born in Louisiana. Although we just moved from New Mexico. Many things depend on your definition of "from" (grin)--right now I'm in Oxford for a couple years, though, yes.
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby jaycrowe » January 09 2009, 17:39 PM

I never heard anyone 'from' Louisiana say 'absolute rubbish'.

haha.

I'm from Pennsylvania, but I travel for work a bit, going to southern Arkansas next week... Near Texarkana. Been to Shreveport, but that's it for La.

Ok, I would guess I am now as far off-topic as I can get. Sorry. 8)
jaycrowe
 
Posts: 24
Joined: May 27 2007, 9:52 AM

Re: The ultimate orb solution, at last.

Postby vputz » January 10 2009, 14:01 PM

Funny you should mention Shreveport; that's pretty much my birthplace.

I never heard anyone 'from' Louisiana say 'absolute rubbish'


Well, I do tend to change mode of speech a bit wherever I go. You should have heard my Abilene drawl when I was a kid...

Ok, I would guess I am now as far off-topic as I can get. Sorry.


Heh. Well, to get back on topic... several hours, quite a few transparencies, one good piece of glossy magazine paper, many attempts at reprinting, and one etching kit later...

Image

First time etching and trying the "iron magazine paper" toner transfer method, so a few traces needed touching up via sharpie, and even then I had to splice a wire onto one of them so it would carry current. And GAH, I've never gotten so tired of drilling TINY LITTLE HOLES (and no matter how precise I tried to be, they came out looking like they were poked through by a drunken monkey).

But improbable as it is, it works just fine (and looks a lot nicer than my prototype). One thing I need to fix is that the darn CAD program had too many options for resistors, and I chose a size too small, so I'll have to swap those out (you can see the blue resistors are having to sit up off the board because their holes are too close together).

Still, the basic design seems OK, only 3 top-of-board traces. There are traces running outside the rows of holes which connect this to the arduino underneath (this is a rider board, what the Arduino folks call a shield, which plugs into the actual board underneath). To make this a tidier build with a two-layer process, I'd move those to the inside of the board and the whole thing could be a lot smaller (I didn't trim the excess plastic off this one).

So, that's the good news. You can build/etch this thing yourself now if you want. We could also go the route of shipping the PCB design off to a company, which will wind up being just over $6/board for the first five (and a bit more beyond that), which honestly would be probably a better way to go since you'll pay over that just for the copper-clad board, acid, 0.8mm drill bits, replacement drill bits after you break a few, headache/backache medicine from trying to line up the 0.8mm bit on the 0.8mm hole, and then realizing you have to slightly bend a lot of your component pins to fit in your weaving drilled holes (heh).

I left the dip switch in. I haven't played with anything but the first switch (connects the orb's output to the chip's input). The second one connects an orb input to the chip output--not really useful for us, but this would be a generic part for any serial game device (I seem to recall a few; Mad Catz had one for example). And then switches 3-6 could be used for on-the-fly settings. In reality the orb only needs one.

(another fun possibility for a future revision would be to add more buttons, which you could wire to the board and activate in software, but it'll be a while before I'm willing to drill holes in my orb and run a second cable to the board. Still... fun idea. You could hack in a D-pad on the left side, two more buttons on the right, maybe a few underneath... heh)

Anyway, where do you folks think we should take this from here? I'm not even sure anyone but a select few would really be interested in spending cash to extend the lifespan of a debatable device, but it's fun that it's possible. Heck, I may fork out the $33 for the board production just to have the experience...
vputz
 
Posts: 275
Joined: March 25 2006, 20:21 PM

Re: The ultimate orb solution, at last.

Postby jaycrowe » January 10 2009, 14:24 PM

Of course I want to build one of these things... I am tempted assemble one by doing the manual etching and drilling, as tedious as you make it sound, just for the experience. On top of that, I would be willing to chip in the money needed to get a batch of professional boards made. You did the hard work of coming up with the creation, let me at least help by donating to the cause. Just say the word and I will PayPal you some money.

Let me know how else I can help!

Jay
jaycrowe
 
Posts: 24
Joined: May 27 2007, 9:52 AM

Re: The ultimate orb solution, at last.

Postby countryatheart » January 10 2009, 20:56 PM

Hi Victor,
I am very happy to hear the great news and very interested in your new hardware. Thank you for all your hard work to save the Orb. I want to help by sending you some money for board production and/or purchase the completed board from you. Just tell me how much and when you need it and I’ll send it by PayPal.

Jay, it great to see you are back on the message board and excided about Victor’s new hardware also. Between the two of you the SpaceOrb will work for many years to come. I also want to thank you Jay for all the hard work you have done keeping the SpaceOrb going. You and Victor have made a lot of people happy over the years. :D

Ron
User avatar
countryatheart
 
Posts: 76
Joined: February 23 2006, 22:02 PM
Location: New Kent, Virginia

Next

Return to Spaceware Software

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron