---
slug: "gamepad-for-from"
title: "Gamepad (Rear Multi-Button)"
description: "I created a gamepad to comfortably play FromSoftware's Armored Core and Elden Ring. The button layout is designed to facilitate the \"claw grip\" without strain."
url: "https://www.ytyng.com/en/bio/gamepad-for-from"
achieved_at: "2024-04-13"
updated: "2024-04-29T10:27:42.420Z"
category: "電子工作"
image_url: "https://media.ytyng.com/20240429/c76109e5f5be40d5a087ec8ce6257d02.jpg"
lang: "en"
---

# Gamepad (Rear Multi-Button)

# Motivation

When playing FromSoftware games like [Armored Core 6](https://www.armoredcore.net/index.html) or [Elden Ring](https://www.eldenring.jp/index.html), a standard gamepad might not have enough buttons for simultaneous operations.

With a traditional controller, you can't operate the D-pad or ABXY buttons while manipulating the thumbstick with your thumb.

Although I tried using the so-called "Monster Hunter grip," where you use your index finger to press the D-pad or ABXY buttons, this caused discomfort and seemed unhealthy in the long run. Hence, I decided to create a dedicated gamepad.

# Overview

- The frame is 3D printed.
- Since it's a prototype, the wiring is exposed.
- The buttons are [12mm tactile switches](https://www.amazon.co.jp/gp/product/B00YEW7I5K/) purchased from Amazon—cheap ones.
- The analog stick is a [DualShock-style stick module](https://www.amazon.co.jp/gp/product/B08B8429JH/), also bought from Amazon.
- The microcontroller used is a Raspberry Pi Pico.
- The code is written in CircuitPython.

# Analog Input on Raspberry Pi

A standard Raspberry Pi Pico has only three analog inputs.
Although the RP2040 can handle four analog inputs, the Pico only has three wired.

Some third-party microcontroller boards using the RP2040 offer four analog inputs.
For example, Waveshare RP2040-Zero.

This time, I purchased a [Raspberry Pi Pico-compatible board with a purple PCB](https://ja.aliexpress.com/item/1005006293406528.html) from [AliExpress](https://www.aliexpress.com/).
It's often referred to as Raspberry Pi Pico Purple.

# Firmware

Though I'm using CircuitPython, if you download and use the [standard firmware for the Pico](https://circuitpython.org/board/raspberry_pi_pico/) from the CircuitPython site, you can only use three analog inputs.

Therefore, it's better to use firmware built for microcontroller boards that support four analog inputs. I used the [firmware for the Waveshare RP2040-Zero](https://circuitpython.org/board/waveshare_rp2040_zero/).

<div class="stl-viewer my-3" src="https://media.ytyng.com/20240427/244f0c9e7ff0422bb5ca7cbed0fb2d05.stl"></div>

![Image](https://media.ytyng.com/20240429/1af3953c3f2c4ebdb410ef961398c375.jpg)

![Image](https://media.ytyng.com/20240429/74e3249761334c5ab2f138548f8606d1.jpg)

![Image](https://media.ytyng.com/20240427/c3c0564bb2464b488563560bb0635794.jpg)
