Skip to content

omsheladia/JoystickTesting

Repository files navigation

BluetoothJoystick

Bluetooth Joystick : A wireless joystick with ESP-32 microcontroller and Dual Axis Joystick Module using the Bluetooth connectivity.

Table of Contents

About The Project

The Aim of the Project is to make a Bluetooth Joystick using ESP32 which establishes Bluetooth Low Energy (BLE) Connection with the host device to provide controls by providing inputs.

This image illustrates how our hardware looks like at the current stage Hardware

Tech Stack

The following technologies have been used for the making of this project.

File Structure

.
├── main                    # Contains files used for building and flashing
├── docs                    # Documentation files (alternatively `doc`)
│   ├── report.pdf          # Project report
│   └── results             # Folder containing screenshots, gifs, videos of results
├── src                     # Source files (alternatively `lib` or `app`)
├── ...
├── test                    # Test files (alternatively `spec` or `tests`)
│   ├── benchmarks          # Load and stress tests
│   ├── integration         # End-to-end, integration tests (alternatively `e2e`)
│   └── unit                # Unit tests
├── ...
├── tools                   # Tools and utilities
├── LICENSE
├── README.md 
├── Setup.md                # If Installation instructions are lengthy

Getting Started

Prerequisites

To flash this project install ESP-IDF: https://github.com/espressif/esp-idf

Cloning the repository

Clone the project by typing the following command in your Terminal/CommandPrompt

git clone https://github.com/Krishna-13-cyber/BluetoothJoystick.git

cd BluetoothJoystick

Hardware

Connections

Connect the ESP32 to your desktop via USB to flash the code in it. And connect the Joystick to ESP32 as per the table given below. Connection Illustration

JoyStick Pin ESP32 Pin
5V 3V3
GND GND
VRx GPIO39
VRy GPIO34
SW GPIO25

You are all set to flash the code after completing the connections.

Usage

After following the above steps , use the following commands to: Build

idf.py build

Flash

idf.py -p (PORT) flash monitor

Configuration

idf.py menuconfig

Results and Demo

The output obtained is shown in the link attached to the below mentioned video. ADC Values Movement of Cursor by Joystick

Future Work

  • The following developments are yet to be achieved
  • Establishing BlueTooth Connection
  • Obtaining ADC Values
  • Moving the Cursor
  • Controlling a Game

Troubleshooting

While Configuring for the first time if you face any problem, check the ESP-IDF's Menu Configuration

idf.py menuconfig

Then go to components/bluetooth and enable bluetooth Press ctrl+s to save the configuration then

idf.py build

Contributors

Acknowledgements and Resources

License

The License Used for this Project.