Using a 3Dconnexion Spacepilot Pro in 2020

I've been obsessed with weird 3Dconnexion Spacewhatever products for almost ten years now. From what I can tell, they've been building niche input devices for moving in 3D space since the early 2000s. My first purchase was a SpaceNavigator in 2013, for $100 on Kijiji. It's a little puck that sits on the desk and lets you move the cap in any direction - forward, back, up, down, left, right, pitch, yaw, roll.

Alt

Here's my old SpaceNavigator. One cap, two buttons, that's it.

I don't exactly use it every day, but it's always fun to play with. Blender has great compatibility with what it calls "NDOF" (n-degree of freedom) devices. 3Dconnexion also provides a suite of little training applications that force your brain, hand, and eyes to work together to assemble 3D parts.

SpacePilot Pro

Alt

The SpacePilot Pro, basically an armrest with buttons. Same cap, lots more buttons, and a screen too.

If the SpaceNavigator is a bicycle, the SpacePilot Pro (SPP) is a Formula One car. Along with the usual cap, it has arrays of buttons on the left and right sides, as well as a screen showing useful information like what buttons are assigned to what functions for the current program. The whole thing has a wrist rest that looks like it came from the controls of the Space Shuttle - maybe that's where they got the name from?

There's one catch. Although it actually wasn't much more expensive than the SpaceNavigator, the SPP launched in 2009 or so. Besides the inevitable wear and tear of a well-used product, support from the manufacturer is limited. 3Dconnexion is planning to cut support later this year, but for now, the current drivers work fine with one major exception: the LCD.

3Dconnexion was originally founded by Logitech, and actually operated as part of the company for many years. However, it seems as though they split from their parent company a few years ago - I had a hard time finding an exact date, but this forum post by a 3Dconnexion employee suggests that as of 2019, it's either been sold or spun off into a separate company and no longer benefits from Logitech's resources.

When the SPP was released, Logitech was manufacturing a number of devices with similarly-sized screens. For example, the G15 keyboard was sold with an LCD capable of running "applets" to (among other things) check your email, use a calculator, display FPS and CPU load while gaming, or even just show a slideshow. 3Dconnexion appears to have borrowed their parent company's approach to running a small screen on a USB peripheral, and in fact the driver installer for the SPP also creates a C:\Program Files\Logitech folder with a full installation of the LCD manager program for the G15 and other devices of the time.

The program structure is fairly simple, and anybody who feels like poking around in Task Manager can get the names of the running processes that make the thing work seamlessly. Logitech LCD Manager does exactly what it says: provides configuration for the screens of all compatible attached devices. When an applet (just a compiled .EXE file) is run for the first time, it registers itself with LCD Manager. The applet runs on the computer itself, and sends images, text, and even video to the device through a connection to LCD Manager. It can also receive input from the device to scroll or select items, including Home, Back, OK, and a d-pad on the SPP. These applets are understandably simple, due to the low resolution of the small screens (160x43 for the G15, 320x240 for the SPP), limited bandwidth of the USB connection, and simple control scheme.

Alt

Logitech LCD Manager in all its 2009 glory, showing a list of the available applets including default clock and image viewers, as well as the custom 3Dconnexion programs at the bottom.

The coolest part of all this is that Logitech included an SDK with the LCD Manager install, which allowed anybody to build a program that could register itself with LCD Manager and get pushed to Logitech-compatible displays. This includes the SPP, and in fact that's exactly what 3Dconnexion did - the default Function Keys applet that ships with the device is just a custom applet that runs like any other. People were all over this when the G15 came out, and whole websites and communities sprang up around building "mods" for their devices that copied interfaces like the Pokemon battle screen to show CPU temperatures and game FPS. Most of these websites are now defunct, and Logitech has shifted to a different model of running USB-connected displays, which is where this all circles back to the driver issues I had with my new SpacePilot Pro.

For some reason, the newest drivers from 3Dconnexion didn't include the applet .EXE file for the Function Keys program. The controller itself worked perfectly fine, since the keypresses and controller cap are read by 3Dconnexion's own software in the exact same way as newer devices. Uninstalling 3Dxware entirely, and downgrading to version 10.4.3 from 2016, brought back the missing applet and I was able to view my function keys on the SpacePilot Pro's screen with no issues.

Now, a couple of small things are still broken. Although Blender recognizes the controller, it doesn't communicate back to 3Dxware what each key is set for, meaning the SPP screen just displays the default bindings even though (for example) I've set "Roll CW" and "Roll CCW" to Undo and Redo, respectively. It's not a huge problem, and definitely something I can live with.

Edit: It turns out that if you open the application config file at AppData/Roaming/3Dconnexion/3DxWare/Cfg/ProgramName.xml, you can edit the ID of the macro to whatever you want (in this case, "Fit"). See the image below.

Alt

Change the highlighted text to any string to update the action name on the SpacePilot Pro screen. It should update automatically.

Overall, I'm loving the SpacePilot Pro. Aside from the space-age appearance, its customizability and huge number of controls make it easy to access whatever functions you need in any piece of software. I'm looking forward to at least a few years of using it before it breaks entirely (keeping in mind that it might already be 10 years old at this point), and I'll probably buy a used SpaceMouse Enterprise to upgrade when this one dies.

Do you have an older 3Dconnexion device? Drop me a line - I'd love to know what kind of driver issues you've run into, and how the hardware itself is holding up over time.

There are 6 comments. Add yours:
3lijah
I've been using a SpacePilot Pro since 2011. That thing is what got me back into 3D modeling, and I have found that I cannot work without it!
Posted May. 8th, 2021 at 2:09pm UTC
Jeremy
Really just shows how traditional input devices are designed for a desktop UI and not 3D navigation. Glad it's still profitable to make these peripherals so professionals and enthusiasts can pick them up (especially secondhand like I do).
Posted Jul. 13th, 2021 at 4:22pm UTC
Joseph
Hi there! I´m happy that I can still use my Spacepilot Pro as before and not be forced to bay the SpaceMouse Enterprise. But the thing is that I´m new in programming and don't know where to start or what to change to recover the LCD display texts to see the commands I have mapped. Please can you help me? Thanks, in advance.
Posted Nov. 28th, 2021 at 10:07am UTC
Jeremy
Hey Joseph, feel free to send me an email - it's on the "About" page. :)
Posted Jan. 14th, 2022 at 4:41am UTC
PierC
Thanks, I'll add something too.Something I came across that might be useful to everyone. I hope the link is active https://2021.help.altair.com/2021/hwdesktop/hwd/topics/user_interface/spaceball_spacemouse_devices_r.htm
Posted Mar. 4th at 11:08pm UTC
PierC
https://docs.hexagonmi.com/pcdmis/2021.1/en/helpcenter/mergedProjects/core/13_hardware_topics/Editing_the_3DxWare_Configuration_File.htm
Posted Mar. 4th at 11:11pm UTC
1000
H
F
B
I
U