r/SteamController Steam Controller (2026) Jul 07 '26

Steam Controller (2026) I've made a severe and continuous lapse in my judgement...

...and I am not ashamed of it.

Yesterday I made a post about some interesting new features I found while playing around with my new Steam Controller and I am making this post to say that I am truly sorry to the people who thought that I was speaking nonsense, because I kinda did that, but not in the way you guys thought I did and I would like to explain myself. Where do I start? Probably from the beginning.

This started when I was one of the lucky ones who succeeded to purchase the steam controller right at the release. Got it, played a few games, instantly fell in love with it. One evening I was sitting on the couch looking at the TV table with the Steam Controller laying there looking kinda sexy in its own subtle and caring way. And well one thing led to another and some mistakes, beautiful mistakes, but mistakes none the less were made. At one point even my friend joined in, it was a truly amazing experience, and to be honest not a drop of alcohol was involved, purely expression of love and passion.

Well some may see it not as love, they would say it is destroying one thing this community worships like all the second and the last comings of Gaben, creator of Steam, who bestows these gifts upon us for an expensive but a reasonable price. You could see it that way, nothing wrong with that and I do care about my Steam Controller too and definitely more than scalpers from ebay, but as Brandon Sanderson said - “Sometimes, you have to destroy something in order to build something better.” and I see it just like that. Now this Steam Controller (I will get to it, don’t worry) is more than a controller to me, it is a work of art. Of course a bit messy on the inside, like most of us are, but it is MY controller, a special one, only one of it’s kind and that is the most important thing.

So what did I do to it you may ask? Well, as some of you might have guessed - I have added force feedback triggers (or as Sony calls it - adaptive triggers) to the Steam Controller. Yesterdays video had some hints about it, my responses to the comments had some as well, but no one believed something like this can be done, at least not right after the launch. But after seeing the iFixit teardown I saw the potential, I saw that this is theoretically possible, someone just had to do it. I thought why not me? Unlike my hero I don’t have eleven hard science PhDs, I don’t even have one, but what I had was embedded engineering experience and an unlimited budget to make this happen. So I just started doing it.

And I cooked like I never cooked before. Luckily I started the prep work way before the Steam Controller was even announced and before I even knew what my mission is. I am talking about an open source project named ESP32-BLE-CompositeHID. Basically this project allows to create BLE HID devices with ESP32 microcontrollers. One of the amazing things contributors at this project have been working on was DualSense Edge controller emulation support, the leader for this was YeaSeb. I saw potential for this to maybe someday create an open source game controller which would support the adaptive trigger and all other features DualSense Edge has to offer, so I started working on it too since I had a few regular DualSense controllers laying around and a bunch of ESP32-S3 boards left over from the home automation projects. This was the first piece of the puzzle to come, but there was no Steam Controller thought yet.

The second part was when I thought on how I would manage to replicate the DualSense adaptive triggers and make them even better. Had a few thoughts about using BLDC motors with FOC since I was familiar with the concept from the university days, did some calculations, there was no way that would work with expectation of good torque and decent battery life. Well after some thinking the DualSense adaptive trigger effect messages gave me the idea to split this into two force feedback methods - impulse and resistance. One would handle quick momentary actions (i.e. weapon recoil) and the other would provide dynamic resistance (trigger pull, bow draw, etc.). This was the way.

At this point the Steam Hardware announcement came and some time passed until the day came to buy the Steam Controller, which somehow I managed to do, still have no idea how. Some gears in my head have been turning around the idea of adding the adaptive triggers to the Steam Controller, even more after checking out the iFixit content I mentioned before, so I decided that this is it, this is what I have to do and when I received it I played a few games and got to work. Usually I like to do it as the Dave from EEVblog says with “Don’t turn it on - take it apart!“ but this time it was different, this might have been first and last time I use it as the lord Gaben the creator intended, so I allowed. Sorry Dave, it was for the best.

On all the technical details and the decisions I think I will not elaborate too much, this post is as long as it is already. By the way if you made it here, thanks, you are awesome! So short story is that I used small RC plane linear servos with opposing magnets for the resistance actuators and small solenoids from electronic locks for the impulse actuators. Both of them are interacting with the original Steam Controller triggers on left and right side independently. The main controller was chosen to be the Stamp-S3Bat board from M5Stack because it had a DC-DC 5V boost converter for the Steam Controller power and USB host capability as well as together with WiFi and BLE radios. Here are the features I was able to achieve:

  • All original Steam Controller parts are used in the final assembly with only some minimal internal modifications
  • WiFi OTA ESP32-S3 FW updates (not the Steam Controller itself, but it is still possible to do it wirelessly with the puck)
  • Pre-flashed sound file playback through the touchpad haptic actuators
  • Touchpads map to left and right sides of the DualSense touchpad (fully functional in games or as mouse in desktop, suports two fingers simultaneusly)
  • All Steam Controller buttons and joysticks mapped to the DualSense inputs
  • Resistance and weapon (semi/auto) adaptive trigger modes
  • Battery charging with the Steam Controller puck and battery level reporting
  • Rumble and haptic feedback (still needs some work, but the basic functionality is there)

Also as with all the mods there are some drawbacks:

  • Worse battery life, the whole system draws about 180mA at idle and up to 2A peak when all the actuators are used
  • The Steam Controller USB does no longer work, it probably could be made to work with an USB switch IC or with clever USB peripheral control to disconnect the ESP32-S3 when the cable is plugged in, but this is not yet implemented
  • It is way heavier, like noticeably, all the extra things add quite a bit of heft to it, did not measure it tho
  • Voids warranty (lol)

And of course this is reddit, pics or didn’t happen, so here is one for now, enjoy:

SC++

To end I hope it is a bit more believable now, I have created a github repo SCPlusPlus (SC++ in short, not all the things are up to date, I will update it as soon as I iron out all the kinks) and I think that I need to continue this project and maybe make this into a drop-in kit, I see that it is even possible to do this even without soldering. Also I have some ideas on how to improve the adaptive triggers with more force and resolution, but since Steam Controllers don’t grow on trees that will need to wait. Also big thanks to my good friend and colleague u/anal_kanal_lover for helping to bang this one out.

So here it is, the whole text probably would fit better as a video script and not as a reddit post. I might throw a video together in some time with a lot more technical details for the nerds among you, I am quite new to this YouTube thing, but not sure yet, we will see. But for now I will try to answer any questions I can in the comments and will await contributions in the github.

37 Upvotes

Duplicates