Semi-anonymous maker Justin, also known as “RoboticWorx,” has designed a “universal controller” which aims to offer everything you could need to take charge of any given device — and the styling of a Nintendo 64 controller during a bad acid trip.
“This is my universal controller. It’s equipped with 16 buttons, two potentiometers, and two joysticks each able to go up, down, left, and right for a total of 26 different inputs,” Justin explains of the 3D-printed project. “It supports 2.4GHz Wi-Fi and Bluetooth 5.0 communication, perfect for controlling all sorts of wireless/IOT [Internet of Things] devices.
The heart of the build is an Espressif ESP32-S3-WROOM-1 microcontroller module, which provides the integrated radios required for the controller’s Wi-Fi and Bluetooth connectivity. There’s a lithium-polymer charger for an integrated battery, a voltage regulator, and USB Type-C connectivity for programming and charging — plus two analog joysticks, two potentiometers, and the “league of buttons” — 16 in total, not counting a physical power switch dead-center.
The electronics are housed in a 3D-printed shell which looks for all the world like someone tried to draw a Sony PlayStation DualShock while remembering a Nintendo 64 controller and under the influence of illicit substances. There are two side grips, providing easy thumb access to the analog joysticks and buttons, while a single central grip is provided for one-handed button-centric operation.
A central OLED display provides status updates, along with information about the current connection. (📷: RoboticWorx)
There’s a final trick up the controller’s sleeve, too: a small OLED panel, designed to read out everything from the battery level and values for each of the possible inputs to the status of the current connection.
More details on the project are available on Justin’s website and on Instructables, while source code, KiCad project files, and Gerber files are available on GitHub under an unspecified license; STL and STEP files for the housing and buttons are published to Thingiverse under the Creative Commons-Attribution license.