Device Details


The VirtualJoystick turns your Android device into an accessible and user-friendly game controller for your game console or computer. The application uses an Adafruit Feather 32u4 Bluefruit LE board to simulate the functions of a USB HID Joystick. It offers four different controller pad options which gives the user multiple input options to select in order to interact with the host device.


Plug the Adafruit Feather board into the computer, Xbox Adaptive Controller or gaming console using the USB cable. Open the ‘VirtualJoystick’ app on the Android device. Make sure Bluetooth is enabled on your device, then click ‘Connect’ in the App. The Adafruit Feather should pair automatically and the blue LED should turn and stay on. You can then select the controller pad of your choice and emulate different actions by pressing the activating the controls on the screen of the Android device. This can be done directly by touching the screen, or by using a mouse to control the cursor.

Here is a demo video showing the setup in action using a Bluetooth mouse to control the cursor on the Android device:

Build Instructions

Instructions for setting up the VirtualJoystick are available in the Setup Guide linked below.

Bill of Materials
Required Hardware

1 – Bluetooth-enabled Android Device

1 – Adafruit Feather 32u4 Bluefruit LE (e.g., $30 USD + Shipping;, $46 CAD + Shipping)

1 – USB cable – USB A to Micro-B (e.g., $3 USD + Shipping; , $2 CAD + Shipping)

Optional Hardware

1 – 3d Printed Enclosure for Feather (, )

  • Computer for programming Arduino
App Installation

Download and install ‘VirtualJoystick’ on the Android Smartphone or Tablet from the Play Store:

Feather Board Setup

Follow the detailed instructions in the Setup Guide to download and install the code onto the Feather using the Arduino IDE.