WidowX Robot Turret - PC Control - Virtual Commander


Edge Software & Firmware

Edge programs and firmware are offered with limited support and documentation. They are experimental and offered 'as-is' for advanced users.


The Virtual Commander is a small demo application written in Processing/Java. This application allows you to control InterbotiX robots as if it were connected to a real ArbotiX Commander as if it were connected to a real ArbotiX Commander. This can be very handy for rapid development, as you can program and control the ArbotiX over the same USB-FTDI connection, switching back and forth between the Arduino IDE and the Virtual Commander

Project Parts List:


The servos pictured below will look slighly different than the ones in your kit. The wiring for the servos is the same as shown in the assembly guide for your turret.

Connection diagram for ArbotiX Robocontroller to Virtual Commander
Pin Device
FTDI Port USB-FTDI Cable or UartSBee
DC Jack SMPS Power Supply, Battery, or other 11-14v power

If you are using a UartSBee or other USB-XBee device, you can also connect wirelessly from your computer to your turret.
  • Configure your XBees and connect everything as shown
  • Plug an XBee into your UartSbee and plug the UartSbee into your computer
  • Plug the other XBee into your ArbotiX Robocontroller
  • Connect the Virtual Commander to the serial port the UartSbee is on

Download Code:

Download Commander Robot Turret Code for ArbotiX Robocontroller
Download Virtual Commander Software for PC/Mac/Linux

Load the MX Robot Turret Commander Code onto the ArbotiX-M Robocontroller. This code is identical to the code used to control the turret via the ArbotiX Commander. You will need to plug in your FTDI cable / programming device to program the robocontroller, but you can remove it after programming the device.

If you have problems loading your code onto your ArbotiX-M, see the ArbotiX Getting Started Guide

Once you've downloaded the Virtual Commander zip file, find the appropriate version for your computer (application.windows32 for Windows users, applications.macosx for mac users, applications.linux32 for linux users)

If you have problems opening the application, make sure you have Java installed

Please see this note if you are using this program on a Mac OS computer.

If you want to make modification to the code or see how it works, download Processing and the ControlP5 library. Then open the VirtualCommander.pde file in the download .zip.

Before you launch the application, make sure that you have your Robot Turret plugged into your computer. The Virtual Commander will not recognize the Robot Turret if you plug it in after you start the program: you will need to re-start the program.

Once your robot is plugged into your computer, you can launch the Virtual Commander Application. From the drop-down menu, choose the serial port associated with your Robot Turret (the same port used to program the ArbotiX).

Once connected, you can press on one of the 8 pushbuttons to activate those functions. You can press on different points on the 'joysticks' to pan/tilt the turret.

When you are done controlling the turret, hit the disconnect button. You will not be able to program the ArbotiX as long as the Virtual Commander is connected.


Control Diagram for ArbotiX Commander
Left Buttons
  • LT Decrease the speed of the tilt servo when controlled by the 'Look' joystick.
  • L6 Move the tilt servo to the upper limit
  • L5 Move the tilt servo to the default/middle position
  • L4 Move the tilt servo to the lower limit
Right Buttons
  • RT Decrease the speed of the pan servo when controlled by the 'Look' joystick.
  • R3 Move the pan servo to the upper limit
  • R2 Move the pan servo to the default/middle position
  • R1 Move the pan servo to the lower limit
Look Joystick
  • Horizontal Move pan servo quickly (speed changes with RT)
  • Vertical Move tilt servo quickly(speed changes with LT)
Walk Joystick
  • Horizontal Move pan servo slowly
  • Vertical Move tilt servo slowly