Using a SpaceBall 4000 with 3DxWare 10

If you have questions or comments concerning any non-support related 3Dconnexion topic, please use this forum.

Moderator: Moderators

Post Reply
arpruss
Posts: 29
Joined: Tue Aug 21, 2018 7:50 am

Using a SpaceBall 4000 with 3DxWare 10

Post by arpruss » Sun Aug 26, 2018 8:07 pm

I got a SpaceBall 4000 FLX working with 3DxWare 10 on Windows 10. The trick was to route the serial packets from the SpaceBall to an external STM32F103C8 development board which runs an Arduino sketch that translates the SpaceBall 4000 FLX serial packets into HID packets emulating the basic functions of a SpaceMouse Pro.

I thought some users might be interested in a bit more detail.

Hardware needed:
- SpaceBall 4000 FLX (I got one on ebay for $13)
- Serial to USB adapter (about $1 on ebay).
- STM32F103C8 development board (blue pill or black pill), $2 on aliexpress
- TTL to USB adapter ($1 or $2 on aliexpress, or use an Arduino with reset pin grounded) for putting a bootloader on the development board

Steps:
- Install Arduino with stm32duino core and put bootloader on dev board (follow the instructions here: https://www.instructables.com/id/Gamecu ... ng-Starte/)
- Install the latest version of USB Composite library https://github.com/arpruss/USBHID_stm32f1
- Upload this Arduino sketch to the stm32f103c8 board: https://github.com/arpruss/mouse3d_stm32f1
- Plug board into one USB port and the Serial to USB Adapter to another USB port, with the rs232 end of the adapter attached to the SpaceBall.
- Use python 3 with pyserial installed (python -m pip install pyserial) with the bridge.py script included with the Arduino sketch. You may need to edit the bridge.py sketch to include the correct device description for your serial to USB adapter so the script can find the COM port associated with it.

The bridge.py script sends the serial packets from the SpaceBall to the stm32f103c8 board, and the board then emulates a SpaceMouse Pro.

A neater solution would be to use a max3232 IC to connect the SpaceBall to the stm32f103c8 board's uart, thereby obviating the need for the python script. Unfortunately, I damaged my one max3232 breakout board when experimenting, and I am awaiting a new one from China. Once I get it, I plan to write up better instructions.

arpruss
Posts: 29
Joined: Tue Aug 21, 2018 7:50 am

Re: Using a SpaceBall 4000 with 3DxWare 10

Post by arpruss » Wed Aug 29, 2018 7:15 pm

Here's a photo of the setup:

Image

Post Reply