A wifi joystick with the interface hosted on an esp8266 (Despite the name "ESP32Joystick" it uses an ESP8266, it is because I intended an ESP32 to be used at first, but it got too complicated)
This esp8266 joystick has an interface made with html, css and javascript which are hosted on a WiFi capable microcontroller, the esp8266. The esp8266 communicates with an Arduino Pro Micro which emulates the Xbox 360 HID controller over I2C bus protocol.
Demo.mp4
- Clone the repository with
git clone https://github.com/YeetTheAnson/ESP32Joystick
- Navigate to the main folder of the repository and flash
ESPJOYSTICK.ino
to your ESP8266ArduinoCode.ino
to your Arduino Pro Micro
- To use this, follow the circuit diagram
- Learn how to use it here
- Navigate to
ESPJOYSTICK
and open theESPJOYSTICK.ino
file in Arduino IDE - Set the configuration by changing the SSID and password in the code
- Add
ESP8266
to the board manager:- Go to
File
>>Preferences
>>Additional Boards Manager URLs
- Paste the following URL:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- Go to
- Open board manager download
esp8266
by esp8266 community - Select the board
NodeMCU 1.0 (ESP-12E Module)
- Compile and flash the code to the ESP8266
- Navigate to
ArduinoCode
and open theArduinoCode.ino
file in Arduino IDE - Add
Arduino Leonardo w/ Xinput
to the board manager:- Go to
File
>>Preferences
>>Additional Boards Manager URLs
- Paste the following URL:
https://raw.githubusercontent.com/dmadison/ArduinoXInput_Boards/master/package_dmadison_xinput_index.json
- Go to
- Open board manager download
Xinput AVR Boards
by David Madison - Select the board
Arduino Leonardo w/ Xinput
- Open the library manager and download Xinput
- Compile and upload the code
- During the 'Uploading...' stage, press the reset button twice quickly
Arduino Pro Micro (5v) | ESP8266 |
---|---|
Pin 3 | D1 / GPIO5 |
Pin 2 | D2 / GPIO4 |
GND | GND |
VCC | VU |
- Connect to the WiFi SSID and Password you set in the code (Default SSID and Password is
WirelessJoystick
) - Open your browser and type in
192.168.4.1
in your address bar
- Has all buttons on the XBOX 360 controller