Modern laptops cut power to their internal Wi-Fi hardware during sleep, making standard Wake-on-LAN (WoWLAN) unreliable or impossible. A $6 Raspberry Pi Pico W solves this by staying alive on your Wi-Fi and sending an instant USB keyboard wake signal.
All-in-one ready to drag & drop. Includes firmware, Wi-Fi captive portal, and USB HID wake server.
Official Raspberry Pi flash eraser. Use this first if your board already had other files installed.
Contains Python scripts, Adafruit HID libraries, example config, and UF2 builder.
When you tell Omnimux to connect to your sleeping machine, the app fires an HTTP request to the Pico W. The Pico W emulates a standard USB HID keyboard and sends two Left-Shift keypresses across the USB cable. To the host OS and BIOS, this is a hardware ACPI wake event: the screen turns on, networking restarts, and SSH answers.
BOOTSEL button on the board.RPI-RP2 will appear in your file manager.omnimux-pico-wake.uf2 onto the RPI-RP2 drive.
Tip for boards previously used with CircuitPython: If your board boots into a drive called CIRCUITPY with old files, first hold BOOTSEL and drop flash_nuke.uf2 onto RPI-RP2. It will wipe the flash in 2 seconds and reboot back into RPI-RP2. Then drop omnimux-pico-wake.uf2.
You can configure Wi-Fi wirelessly from your phone, or by editing a text file on your PC:
Method A: Wireless Setup via Phone (Hotspot)
Omnimux-Wake-Setup (open, no password).http://192.168.4.1 in your browser).Method B: Direct text file (CIRCUITPY)
CIRCUITPY drive.settings.toml in Notepad and enter your network name and password:
CIRCUITPY_WIFI_SSID = "YourHomeWiFi"
CIRCUITPY_WIFI_PASSWORD = "YourWiFiPassword"
Ctrl+S). The Pico W restarts and connects to your Wi-Fi within two seconds.To ensure your laptop wakes up when the key is pressed:
On Windows:
Win + X → Device Manager).On Linux:
cat /proc/acpi/wakeup | grep -E "USB|XHC".echo XHC | sudo tee /proc/acpi/wakeup.In BIOS / UEFI:
192.168.1.45) or pico-wake.local./api/status without waking).Once configured, a manual Wake up button appears in the machine's menu and the sessions screen. You can also turn on Press the key automatically when unreachable if you want Omnimux to wake the machine automatically whenever a connection fails.
Android Note: If configuring from an Android phone, use the Pico W's numeric IP address (from your router or the setup page) instead of pico-wake.local, as Android's network stack does not resolve mDNS names.
In addition to waking sleeping machines, Omnimux Pico Wake includes a hardware Keep-Alive mode to prevent PCs and laptops from entering sleep or locking when you step away (AFK):
The Pico W serves a built-in web dashboard at http://pico-wake.local/ (or its IP) with live device status, uptime, Keep-Alive controls, and an instant "WAKE LAPTOP NOW" button.
| Endpoint | Method | Description |
|---|---|---|
/wake |
POST / GET |
Fires the USB HID wake sequence (Left-Shift double-tap). |
/api/keepalive |
POST / GET |
Toggles or configures Keep-Alive mouse jiggler (?enable=1|0, ?jiggle=1). |
/api/status |
GET |
Returns JSON status (device name, uptime, IP, MAC, wake key, keepalive state). |
/setup |
GET |
Opens the captive Wi-Fi configuration portal. |
/save_config |
POST |
Saves new Wi-Fi credentials to persistent flash memory and resets. |