
The Gamepad 2 is a Raspberry Pi Pico W powered gamepad that can be used to control your projects via Bluetooth. The gamepad can be battery-powered, has an optional OLED display, and can be easily programmed with MicoPython.
Thirteen GPIOs in Raspberry Pi Pico are used as inputs and outputs for the gamepad. Out of these 13 GPIOs, 11 GPIOs are used for interfacing tactile switches and 2 GPIOs act as I2C pins (SDA and SCL) for interfacing an SSD1306 OLED display.
The gamepad contains two directional pads with 4 tactile pushbuttons each and 3 UI buttons – Menu, Select & Start.

The assembly process of the gamepad involves soldering tactile switches onto a custom gamepad PCB, attaching the Raspberry Pi Pico W development board, and fixing an optional 0.96-inch SSD1306 OLED display. After that, it’s just a matter of uploading Micropython libraries and code to control your robotics projects.
For powering the gamepad, users can use a micro USB cable or the onboard JST-PH connector for connecting rechargeable batteries or AA/AAA batteries. The polarity of the connector is printed on the PCB. The device operates in the range of 3.3V to 5V, utilizing the onboard voltage regulator in Pico.
The Gamepad 2 uses asynchronous code in MicroPython for multitasking. Users need to upload code to the Gamepad as well as to the robot or device that will be controlled. The Gamepad will connect to code a Bluetooth server that runs on the robot.
The project author Kevin McAleer showcased a live demonstration on his YouTube channel of the completed GamePad, explainig its connection to a robot and how pressing different buttons controls the robot’s movements.
Resources:
- Project page: https://github.com/kevinmcaleer/gamepad
- Code: https://github.com/kevinmcaleer/gamepad
Leave a Reply