With the update to the Orbotron 9001, the Orbotron line now has a SAMD21 processor offering more memory and power, and the process for setting up the Arduino environment has changed somewhat.
Happily, the SAMD21 offers a *lot* more memory than the earlier version, and with that we've been able to bake some basic configuration right in.
If you're using a SpaceOrb360, there's a small unmarked button on the back of the device, just above the label. What this does to the SpaceOrb is “reset” the axes to zero so you can correct for any drift, but we can abuse that to offer new functionality! Pressing the “reset” button with the edge and face buttons allows you to change chording, sensitivity, and gain.
Keep in mind that these settings aren't “kept” between plugins; I haven't worked that out yet. But something is better than nothing!
Your Orbotron 9001 comes with “chording” on as default. I was frustrated by having only 6 buttons on a device that demands both hands, and so I enabled “chording” (see OrbShield concepts and demos). What this does is allow the two “edge” buttons (A/B) to determine the “page” for the “face” buttons, giving you 16 virtual buttons.
Not everyone likes this. To turn chording on or off, press and hold edge button “A” and then face button “C” (to turn chording ON) or face button “D” (to turn chording OFF), and click the reset button.
The SpaceOrb 360 didn't have a smooth sensitivity curve; it was “flatter” in the middle so you had more precision, but then accelerated rapidly at the “edges”; see OrbShield concepts and demos, “Sensitivity”)
The Orbotron comes with four user-selectable sensitivities. Hold edge button “B” and then button C, D, E, or F (in order of increasing sensitivity) and click the reset button to set the new sensitivity.
(the four settings in this configuration are curves 0, 2, 4, and 5 in the above link; the default old SpaceOrb360 sensitivity curve was curve 4, accessible with button E, and is the default shipped with the Orbotron).
The higher sensitivity isn't enough for some people, so it's possible to add a “gain” to the ball motion so that it is “more sensitive” (it traverses the sensitivity curve faster). To set this, hold buttons A+B, and then button C, D, E, or F and click the reset button.
Button C sets the default (gain = 100%, or no change). The next three buttons set gain to 130%, 160%, or 190% (where moving the ball will move the output almost twice as much as before)
If the base configurability isn't enough, you can use the Arduino environment to do just about anything, including mouse and keyboard emulation. However, we've had trouble with some folks being able to install drivers. Please feel free to try this and contact us if you have any trouble–but we can't guarantee success.
The Orbotron 9001 should show up as a USB HID device without drivers, but to upload new software to it, you'll have to install it as a USB Serial Device.
First, download the .inf file by downloading http://files.thingotron.com/orbotron_driver.zip and unzipping the
arduino_samd.inf file into a directory.
Then, find the
unknown device in Device Manager, right-click on it, and choose
Browse my computer for driver software, navigate to the folder with
arduino_samd.inf in it, and click “next”; that should install it as a USB Serial device!
First, you will have to add the board to the Arduino environment. You'll have to download the Arduino environment version 1.8 or above (see https://www.arduino.cc/en/Main/Software).
Once you've got the Arduino editor started, go to
File→Preferences, which should open a dialog like the following:
Additional Board Managers text field (if you add multiple board managers, you can separate the entries with a comma), add the entry
http://files.thingotron.com/package_thingotron_index.json, and press
Now that you've added the Orbotron package, you can install the board itself. From the Arduino environment, go to
Tools→Board→Boards Manager. You can
filter your search with “Thingotron” to find the entry for the Thingotron boards:
Clicking the entry should cause an “Install” button to appear. Once you install the boards, quit and reopen the Arduino IDE; you should now be able to select the Orbotron 9001 under
Good so far; now we have to install the Orb9kLib library.
First, download the library from http://files.thingotron.com/Orb9kLib-master.zip.
Now, from the Arduino environment, choose
Sketch→Include Library→Add .ZIP Library
From there, choose the Orb9kLib-master.zip file and you should be in business.
Close and restart the Arduino environment to be sure, then let's try programming your Orbotron!
I like the chording feature of the Orbotron, but if you have very few actions in a game, you may wish the “old-fashioned” non-chording version, where the edge buttons A/B are active rather than acting as “shift” buttons for buttons C-F. Let's bring up the
BasicJoystick sketch by starting up the Arduino environment, and choosing
File→Examples→Orb9kLib→BasicJoystick (your Arduino environment will probably have fewer libraries!).
This should open up a window with the basic sketch for the joystick mode. To make sure everything's working, be sure to go under
Tools→Board and select the
Orbotron 9001, and under
Tools→Port choose the COM port that has
(Orbotron 9001) next to it.
The either choose
Sketch→Upload or press
Control-U to upload the sketch to your Orbotron. This will take some time to compile, and you will probably see a few warnings, but it should complete… and your Orbotron will work the same as it always has.
To make the change, look in the
setup function for the line
…and underneath that, put
Once you upload this, you should notice in the Windows “Set up USB Game Controllers” applet that pressing the edge buttons now activates buttons, and you're limited to 6 buttons on the Orbotron (it will still show 16 buttons, but only the first six can be activated!)
Congratulations! From here, you can try other configuration options as per the wiki. Good luck!