|
arduino IDEArduino
|
ESP32 BLE GamePad
This is a DIY handheld gamepad, made using ESP32 microcontroller. You might have seen such game controllers before. But most of them use Arduino. Or more specifically Arduino pro micro or Leonardo board. Because these boards support HID, or human interface devices over USB. but esp32 doesn't have such feature. So how do we do it? Well, esp32 does have BLE, or Bluetooth low energy, which we can use to communicate wirelessly, over Bluetooth.
DETAILS
So we have ESP32 module, as the central controller, then we have the USB type-C port, and a 3.3v regulator to convert 5v to 3.3v. Then we have the programming circuit, using ch340c usb to serial converter with auto programming mode and auto reset circuitry using duel transistors. We also have a battery charging circuit, along with overcharge, and over discharge protection. Which then boost up to 5v, using the boost converter ic. Next we have the joysticks, D-Pad buttons, trigger buttons, Neopixel LEDs, i2c port. And finally a 3way switch, to toggle between USB power and battery power.
The gamepad has
- 2 analog joysticks
- 2 trigger buttons
- 2 D-Pads
- 6 addressable RGB LEDs
- and a i2c port
It can run using 2 18650 Li ion cells, which can be changed using the USB type-C port. And it can also be used to program the microcontroller. The design is inspired by the new ps5 controller, to give it a better look. The GPIO4 is connected to the battery using a voltage divider. So that we can measure the battery voltage. the NeoPixel LEDs will indicates if the controller is connected to a device or battery voltage is low.
The code is based on BLE Gamepad library by lemmingDev. In the code I have defined all the GPIO pins for different inputs. Then in the setup there are some initial led animations. And as soon as the board is connected to the device, all LEDs will turn Green. And it will check battery voltage, in a time interval, which is defined earlier. Then we get the button states, and set the gamepad buttons accordingly. Then we take the analog inputs, and map it to suitable values. And finally set the axis according to the values we received. After uploading the code open Bluetooth menu on your Smartphone or PC and you will see a new device pops up. click on that to connect it and you are ready to play.
ESP32 BLE GamePad
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(2)
- Likes(15)
-
Engineer
Jul 31,2025
-
Engineer
Jun 19,2025
-
Engineer
Dec 17,2024
-
Engineer
Oct 01,2024
-
David Elias Flores Escalante
Sep 16,2024
-
laine thomas
Aug 30,2024
-
Engineer
May 26,2024
-
Engineer
Oct 24,2023
-
james m weeks
Jan 23,2022
-
PCBWay Support Team
Aug 25,2021
-
Aleksandr Artamonov
Jul 26,2021
-
Bhushan Rane
Feb 27,2021
-
Engineer
Jan 17,2021
-
SukkoPera
Jan 06,2021
-
Jan Hartman
Jan 06,2021
- 5 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
2design
-
9usability
-
6creativity
-
10content
-
1design
-
1usability
-
1creativity
-
1content
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
More by SAYANTAN ElectroPoint4u
-
3D printed Stepper Bot
This is a E.S.P32 based robot that I made which can not only be controlled over the internet but als...
-
ESP32-C3 NodeMCU
This is a DropIn replacement for NodeMCU ESP8266 AMICA CP2102 WiFi Development Board. The pinout are...
-
NeoPixel XL
What is it?If you ever been used or seen neopixel LED, then you will be familiar to this concept. It...
-
ESP32 BLE Macro Keyboard
This is a wireless macro keyboard consist of 10 cherry MX key swathes with individual backlight. It ...
-
DIY Novatrope
A DIY replica of the popular Novatrope project, an elegant kinetic kinetic sculpture using Attiny85,...
-
Fanmade 7th Anniversary badge
This is a simple PCB badge that I designed for celebrate 7th anniversary of PCBway. It has 6 RGB bli...
-
Reflow Hotplate Controller
Story :Last time I made a reflow soldering hotplate from a regular clothing iron. And it works prett...
-
ESP Programmer
ESP8266 and ESP32 required some special arrangement to pull the chip into boot mode. Typically this ...
-
Portable Power Supply for microcontroller projects
If you are working on a portable electronics project, or in a remote place where you can’t bring you...
-
Pico Clock
StoryRaspberry Pi foundation recently launched their first microcontroller based development board R...
-
Addressable Output using WS2811
So I was needed to control almost 200+ relays using one microcontroller and during research I found ...
-
Portable wireless touch Remote
An ESP32 module comes with a lot of different features. One of such features is it’s touch capabilit...
-
How to make RGBW lights using Aluminium PCB
When it comes to making electronics projects, a custom PCB board is always one of the top priorities...
-
ESP32 BLE GamePad
This is a DIY handheld gamepad, made using ESP32 microcontroller. You might have seen such game cont...
-
12 Channel Ultimate Home Automation
ESP32 based 12 Channel IOT Home Automation using Blynk Application. Can be controlled using Physical...
-
World's Slimmest NeoPixel LED Matrix
I always have this idea of what would have happened if we can put the components inside the pcb? Let...
-
ESP-12E/F Breakout Board
Size:25.4mm x 30mmSignal Layers:2None Signal Layers:10Components:12Pads:57 Surface Pads:35 Plated Th...
-
PCB Pyramid
In this project I built a rather interesting project which I thought a long time ago. Its basically ...
-
-
AEL-2011 Power Supply Module
322 0 1 -
AEL-2011 50W Power Amplifier
296 0 1 -
-
-
Custom Mechanical Keyboard
565 0 0 -
Tester for Touch Screen Digitizer without using microcontroller
230 2 2 -
Audio reactive glow LED wristband/bracelet with NFC / RFID-Tags
237 0 1 -
-
-







