[GH-ISSUE #155] [Feature Request] output signal when controller connected to boot system #63

Closed
opened 2026-10-22 05:01:43 +00:00 by roman · 3 comments
Owner

Originally created by @t00fatt on GitHub (Jul 8, 2026).
Original GitHub issue: https://github.com/safijari/openpuck/issues/155

Pardon my ignorance if this is already addressed.

Assuming the puck is powered by the standby 5 V power supply, can it detect when there is no active USB host connected and pull a GPIO pin low to simulate a power button press when a controller connects?

Originally created by @t00fatt on GitHub (Jul 8, 2026). Original GitHub issue: https://github.com/safijari/openpuck/issues/155 Pardon my ignorance if this is already addressed. Assuming the puck is powered by the standby 5 V power supply, can it detect when there is no active USB host connected and pull a GPIO pin low to simulate a power button press when a controller connects?
roman closed this issue 2026-10-22 05:01:44 +00:00
Author
Owner

@safijari commented on GitHub (Jul 9, 2026):

I don't know if it can, I'll have to look into that. I do have sleep detection but I don't think that's what you're looking for.

You wanna wire the puck to the power button pins on a computer? Maybe we can turn off the button putting the computer to sleep/shutdown etc so that any press of the steam button or controller connect "presses" the button but it just doesn't do anything if the computer is on?

<!-- gh-comment-id:4921274486 --> @safijari commented on GitHub (Jul 9, 2026): I don't know if it can, I'll have to look into that. I do have sleep detection but I don't think that's what you're looking for. You wanna wire the puck to the power button pins on a computer? Maybe we can turn off the button putting the computer to sleep/shutdown etc so that any press of the steam button or controller connect "presses" the button but it just doesn't do anything if the computer is on?
Author
Owner

@t00fatt commented on GitHub (Jul 9, 2026):

I'm sorry, I wasn't as detailed as I could have been. This is intended for a custom Steam Machine replacement project using an AMD BC-250, where I plan to use a microcontroller to monitor the BC-250's state and control the PSU. However, the same concept could also be used with a standard PC by briefly pulling the power switch line low to simulate a power button press.

The idea is for the puck to be continuously powered by the PSU's standby 5 V rail, allowing it to remain powered while the PC is off. I'm hoping the puck can establish a connection to the Steam Controller before, and independently of, a USB host connection. If that's possible, then whenever a controller connects and there is no active USB host connection, a function could be called to pull a configurable GPIO pin low for a short duration. That signal could then be used to simulate a power button press, allowing the system to be powered on remotely using the Steam Controller.

<!-- gh-comment-id:4930108392 --> @t00fatt commented on GitHub (Jul 9, 2026): I'm sorry, I wasn't as detailed as I could have been. This is intended for a custom Steam Machine replacement project using an AMD BC-250, where I plan to use a microcontroller to monitor the BC-250's state and control the PSU. However, the same concept could also be used with a standard PC by briefly pulling the power switch line low to simulate a power button press. The idea is for the puck to be continuously powered by the PSU's standby 5 V rail, allowing it to remain powered while the PC is off. I'm hoping the puck can establish a connection to the Steam Controller before, and independently of, a USB host connection. If that's possible, then whenever a controller connects and there is no active USB host connection, a function could be called to pull a configurable GPIO pin low for a short duration. That signal could then be used to simulate a power button press, allowing the system to be powered on remotely using the Steam Controller.
Author
Owner

@mluna0101 commented on GitHub (Jul 15, 2026):

Have been looking for something like this for a long time now.

Adding this functionality would help to all the people out there building living room PCs.

My 2 cents:

-(AS the OP said) We could power the micro-controller from the +5VSB pin of the PC power supply. That would keep the micro-controller powered when the computer is off so it can monitor the controller connection. If the micro is 3vdc we can step it down.

-For the power button, I'm pretty sure the GPIO can ground the signal to turn on the PC, but worse case scenario a small relay can be used as dry contact, that would be the same as physically pressing the power button. So software wise there would be no difference.

-It would be nice if we could just "listen" the RF/Bluetooth signal and match the controller ID (or Bluetooth MAC address) without having to actually pair the controller. That would allow for the controller to be used with another adapter (be the original Puck, the PC's Bluetooth adapter or another specific brand like 8bitdo's) if for some reason one would want to do so, like compatibility issues and/or feature preferences.

-If the above functionality can be implemented, this could also be a standalone device to turn on any PC with any Steam (or Bluetooth?) controller just like the Steam Machine does.

<!-- gh-comment-id:4984636373 --> @mluna0101 commented on GitHub (Jul 15, 2026): Have been looking for something like this for a long time now. Adding this functionality would help to all the people out there building living room PCs. My 2 cents: -(AS the OP said) We could power the micro-controller from the +5VSB pin of the PC power supply. That would keep the micro-controller powered when the computer is off so it can monitor the controller connection. If the micro is 3vdc we can step it down. -For the power button, I'm pretty sure the GPIO can ground the signal to turn on the PC, but worse case scenario a small relay can be used as dry contact, that would be the same as physically pressing the power button. So software wise there would be no difference. -It would be nice if we could just "listen" the RF/Bluetooth signal and match the controller ID (or Bluetooth MAC address) without having to actually pair the controller. That would allow for the controller to be used with another adapter (be the original Puck, the PC's Bluetooth adapter or another specific brand like 8bitdo's) if for some reason one would want to do so, like compatibility issues and/or feature preferences. -If the above functionality can be implemented, this could also be a standalone device to turn on any PC with any Steam (or Bluetooth?) controller just like the Steam Machine does.
Sign in to join this conversation.
No labels
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
safijari/openpuck#63
No description provided.