🇺🇸 English | 🇪🇸 Español
🚀 SolarisPKN-Control is a remote PC power control system based on ESP32 + Arduino IoT Cloud.
It allows you to turn on, shut down, or force shutdown a computer by simulating the real behavior of the motherboard Power SW button, without requiring any software installed on the host system.
This project is part of the SolarisPKN ecosystem, focused on building automation, remote control, and infrastructure tools for gaming, streaming, and homelab environments.
The goal of SolarisPKN-Control is to enable safe, efficient, and low-power remote physical control of a PC, eliminating the need to keep the system running 24/7.
- ⚡ Remote PC power-on
- 🔌 Normal shutdown via short pulse
- 🛑 Forced shutdown via long press simulation
- ☁️ Arduino IoT Cloud integration
- 📡 ESP32-based control system
- 🧠 Low-power optimized firmware
- 🔁 Non-blocking relay state machine
- 🧩 Modular and configurable architecture
The system simulates two physical button behaviors:
Equivalent to a normal press of the power button:
- Turn on the PC
- Request OS shutdown
- Resume from sleep (depending on BIOS/OS settings)
Equivalent to holding the physical button:
- Forces system shutdown
- Used for system freezes or unresponsive states
- Independent from operating system
- ESP32 development board
- Relay module or optocoupler
- Connection to motherboard Power SW header
- Power supply for ESP32
- Arduino IDE
- Arduino IoT Cloud
- ESP32 board package for Arduino
This firmware includes energy-saving optimizations designed to reduce power consumption and operating temperature during continuous operation.
- CPU frequency reduced: 240 MHz → 80 MHz
- Bluetooth disabled
- WiFi power saving mode enabled (MAX_MODEM)
- Light Sleep enabled
- Non-blocking relay control system
⚠️ These values are approximate estimations based on personal testing with my own hardware setup.
Actual results may vary depending on ESP32 model, relay module, power supply quality, Wi-Fi signal strength, ambient temperature, and system workload.
| Metric | Previous Version | Optimized Version | Estimated Improvement |
|---|---|---|---|
| CPU Frequency | 240 MHz | 80 MHz | ↓ ~66% |
| Bluetooth | Enabled | Disabled | Reduced unnecessary load |
| WiFi Mode | Default | MAX_MODEM | Lower idle power usage |
| Sleep Mode | Disabled | Light Sleep | Reduced idle consumption |
| Idle Power Consumption | 100% | 70–80% | ↓ ~20–30% |
| Operating Temperature | Normal | Cooler | ↓ ~3–8°C (estimated) |
Reducing CPU frequency and enabling power-saving modes lowers system thermal stress.
💡 Based on personal testing, lower operating temperatures may improve long-term stability during 24/7 operation and potentially contribute to extended component lifespan.
- 🎮 Remote gaming setups
- 📺 24/7 streaming systems
- 🏠 Homelab infrastructure
- 🖥️ Remote workstations
- 🔧 Personal servers
- 🧪 Testing environments
- 🌐 VPN + Sunshine / Moonlight remote access setups
- Connect via VPN to home network
- Access Arduino IoT Cloud dashboard
- Trigger power-on pulse
- ESP32 activates relay (Power SW simulation)
- PC boots normally
- Connect via Sunshine / GameStream
- Shutdown normally or force shutdown if needed
- Basic remote power control (implemented)
- Arduino IoT Cloud integration
- Power optimization system (implemented)
- Improved documentation
- 📡 Hybrid Wake-on-LAN support
- 📊 PC status monitoring
- 🔔 Notification system
- 🌐 Optional local API
- 🧠 Advanced automation layer
This project is part of:
- 🧪 SolarisPKN-Labs
- 🛠️ SolarisPKN-LiveTools
- ⚙️ SolarisPKN-Control
An ecosystem focused on automation, remote control systems, and tools for creators and technical environments.
MIT License
Free to use, modify, and distribute.