Close
0%
0%

Sega Genesis wireless gamepad

Crafting a wireless gamepad for PC, using parts from an old Genesis gamepad

Similar projects worth following
0 followers
For fun and profit, I want to craft a Genesis wireless gamepad. And for that, I want to use mechanical stuff(chassis, buttons, etc) from old, possibly broken, gamepads.

I have multiple goals for this project. The main objective, is learning by doing. But there are other good side effects. I have a cheap SBC with Batocera Linux on it. And we play retro games with it. Why not add a retro gamepad, too, for additional nostalgia?

So far, I've bought a broken old Sega. These are found easily in the country from second hand markets. The mainboard didn't have much to offer. However, it has got a pair of gamepads. The chassis, buttons and rubber pads are useful.

So far, I have dimensions of the PCB written down. The PCB I make should have almost the same dimensions.

The other thing left, is choice of SoC. I'll have to find an off shelf Lithium Battery to power it. And I don't think any battery will simply fit in the chassis. So the SoC plus the wireless connectivity shouldn't drain too much power. What I have in mind is a 300-400 mAh battery which is quite easy to find in the country for like 1-3 USD.

I've got two choices in mind:

 - ESP32-C3 + Bluetooth. And then it'll be a bluetooth gamepad. I really doubt if it'll be efficient enough to run for few hours on that battery. However, I have ordered a development board to see how much the actual power consumption will be.

 - STM32F1 + 2.4Ghz tranceiver IC. The disadvantage is that I will have to craft a USB dongle for it as well. Advantage of STM32F1 is USB support. And for sure the power consumption will be MUCH lower. I have Ci24R1 in mind as the wireless IC. It's so cheap and available in the country.

There are, of course, other choices. But the two above have quite decent Rust support, and are also available in the country. I'm afraid I can't go down the route of importing components, especially now when the country is in war.

  • Tests with ESP32-C3 super mini dev board

    Farooq [Master Patata]06/01/2026 at 08:24 0 comments

    It has been sometime since the ESP32-C3 dev board has arrived. However, I was too lazy to spend like 3 days to write a test firmware. Fortunately, yesterday I found rmk, an open source keyboard firmware written in Rust. It's based on embassy and supports a variety of chips including C3.

    Going with Rust + ESP32 + RMK has got many disadvantages in the short term:

     - esp-hal is not very much mature yet. Many features are marked as unstable.

     - RMK is also a quite young project comparing to something like QMK.

    But I do believe using Rust for Embedded projects like this will have advantages in the long term as things get more mature.

    Using RMK, I created a tiny firmware with a single key:

    [keyboard]
    name = "c3-1key"
    product_name = "c3-1key"
    vendor_id = 0x4c4b
    product_id = 0x4643
    manufacturer = "RMK"
    chip = "esp32c3"
    usb_enable = false
    
    [matrix]
    matrix_type = "direct_pin"
    direct_pins = [["GPIO0"]]
    direct_pin_low_active = false
    
    [layout]
    rows = 1
    cols = 1
    layers = 1
    keymap = [
      [
        ["RGUI"],
      ],
    ]
    
    [ble]
    enabled = true 

    I flashed the firmware and it simply works. However, the power consumption is not very much satisfactory. I haven't got advanced equipment to monitor power usage. But the USB tester I've got shows 100 mA @ 5V. According to this, the board uses an ME6211 SOT23 But I'm just too lazy to calculate the efficiency...

    Since I want to use a Li-ion battery. This translates to like ~135 mA @ 3.7V. Given the space it has got inside, the battery which would fit is typically 300-600 mAh. So a we could have a 1H gaming session which is fine. Let's just call it a day and move forward!

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates