Hi everyone! This is JoyDeck 2, a desktop controller I developed, including the firmware, Windows application and 3D-printed enclosure.
The idea is to use joystick gestures for everyday PC actions, with an RGB ring providing visual feedback for the assigned directions.
Hardware and component choices
The hardware consists of:
A Wemos mini ESP32 board based on the ESP32-WROOM-32.
An HW-504 analog joystick with a central push button.
A 16-LED WS2812 RGB ring.
A custom 3D-printed enclosure.
I chose the ESP32 for its multiple ADC channels, which accommodate the joystick’s analog axes. This particular board also has a footprint that fits my enclosure design very well.
USB supplies power and carries serial communication. The ESP32 handles joystick input and LED feedback, while my Windows application, JoyDeck 2 Hub, manages configuration and executes the PC actions.
Libraries and development
The only external firmware library is Adafruit_NeoPixel, used to drive the WS2812 ring.…