[Details section current as of 4/21/2018. Previous Details section available here.]
Phonetroller is an excellent game controller kit for Android devices. Here is the latest prototype playing the official Android port of Square Enix's classic Final Fantasy VI:
The device includes a number of key innovations that set it apart from other devices on the market:
- Phonetroller is compact and comfortable to use. The side-by-side mounting scheme, while not entirely novel (see Nintendo Switch Joycons or the various controller designs linked on the left of this project page), is unusual and quite a bit more usable than the majority of Android gamepads that hold the phone above the controller.
- Phonetroller is customized for your device. The dimensions of the dock section are precisely adjusted during assembly to ensure a secure fit regardless of which Android device you use, even if you prefer to keep your device in a protective case. Both micro-USB and USB-C dock connections are supported.
- Phonetroller reduces e-waste by reusing key parts from other controllers. Rather than trying to reinvent too many wheels at once, Phonetroller leverages the 'ergonomics package' from existing mass-market game controllers such as the XBOX 360. This approach breathes new life into outdated and proprietary hardware that may otherwise be destined for the landfill; avoids the creation of more plastic parts; and takes advantage of the fantastic engineering that went into existing platforms.
- Phonetroller can be built to work with any Android application. The Phonetroller is based around one of two processor boards, depending on user preference and budget: the Teensy LC or the PocketBeagle. The Teensy option, which is cheaper and consumes very little power, operates as a generic USB HID device and makes use of existing joystick libraries. The PocketBeagle option runs Android Debug Bridge (ADB), mapping user inputs directly to touch gestures for applications that lack USB HID gamepad support.
- Phonetroller is fully open-source. All PCBs and firmware will be released under CC-BY-SA 4.0. Original user-editable design files will be provided, and whenever possible we'll use FOSS software to create these files (primarily Inkscape, KiCad, and the Arduino IDE).
The Phonetroller user experience looks something like this flowchart taken from an earlier project log:At its core, Phonetroller is and must be a kit. The user sources the salvaged controller 'core' that is disassembled, cut in half, and mostly re-used; they then customize the Phonetroller PCBs to fit their device, attach the appropriate USB connector, install the processor board of choice, and assemble the whole thing back together.
Electrically, Phonetroller's operation is fairly simple:
As of now, @zakqwy will head up the electronic bits while @Jarod White will tackle the Android ADB stuff since that was his idea and he's pretty sure he can get it to work. The next prototype will start to involve custom (non-carved) PCBs and other fanciness, so stay tuned!