1. What you're building
The end result: a PC in your living room (or kitchen, or hallway) that shows a fullscreen DAKboard photo calendar whenever no one's using it. When someone walks into the room, the PC wakes up from sleep and the display comes on. When the PC sits idle for a few minutes, DAKboard takes over the screen automatically. When everyone leaves and the room goes quiet, the PC puts itself to sleep.
MOTIONSENSR handles the physical presence detection: wake on motion, sleep on no motion. A small AutoHotkey script handles the software side: launching DAKboard when the desktop is idle, and dismissing it when someone shakes the mouse.
2. What you need
MOTIONSENSR, plugged into a USB port on your PC. motionsensr.com
A DAKboard account (free tier works fine). Set up a screen at dakboard.com with your photos, calendar, and whatever else you want to show.
AutoHotkey v2, a free lightweight scripting tool for Windows. Download from autohotkey.com. Make sure you install v2, not v1.
Microsoft Edge, pre-installed on Windows. The script uses Edge's --app= mode to open DAKboard in a clean, chromeless fullscreen window. You can adapt this for Chrome if you prefer.
3. Configure MOTIONSENSR
Plug in MOTIONSENSR. A drive called MOTIONSENSR will appear. Open CONFIG.TXT and set it to:
mod =
key = PAUSE
light_on_motion = 1
cooldown_ms = 10000
nomotion_enabled = 1
nomotion_after_ms = 600000
nomotion_mod =
nomotion_key = SYSTEM_SLEEP
Save the file. The LED blinks green to confirm. Here's what each setting does in this setup:
| Setting | Value | Why |
|---|---|---|
| key | PAUSE | Wakes the PC without interfering with any app. PAUSE is ignored by virtually all software, so it won't scroll pages, dismiss dialogs, or type into text fields. |
| cooldown_ms | 10000 | Sends PAUSE at most once every 10 seconds. This keeps the OS idle timers reset while someone is in the room, without spamming the keyboard buffer. |
| nomotion_enabled | 1 | Turns on the auto-sleep feature. |
| nomotion_after_ms | 600000 | 10 minutes of no motion before sleep fires. This should be longer than the AHK idle threshold (see timing section). |
| nomotion_key | SYSTEM_SLEEP | Sends a USB HID System Control sleep command directly to the OS. No software needed for this. The device puts the PC to sleep all by itself. |
Disable the lock screen on wake
By default, Windows shows a lock/password screen every time the PC wakes from sleep. That defeats the purpose of a kiosk. You want DAKboard to appear instantly, not a "Enter your PIN" prompt. You need to disable this for the setup to work seamlessly.
Open Settings → Accounts → Sign-in options.
Under "Require sign-in" (or "If you've been away, when should Windows require you to sign in again?"), change it to Never.
4. Set up DAKboard
If you haven't already, create a screen at dakboard.com. Add your Google Photos album, calendar, weather, whatever you like. Once your screen looks good, grab the private URL for your screen. It looks something like:
https://dakboard.com/screen/uuid/xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx
You'll paste this into the AHK script in the next step.
5. Install the AutoHotkey script
Download the script: dakboard_idle_kiosk_v3.ahk
Save it somewhere permanent on your PC (e.g. C:\Scripts\). Double-click to run it. You'll see a small green "H" icon in your system tray, which means it's running.
Start on boot (optional but recommended)
To have the script start automatically when Windows boots, create a shortcut to the .ahk file
and place it in your Startup folder:
Press Win + R, type shell:startup, and hit Enter.
Create a shortcut to dakboard_idle_kiosk_v3.ahk and drop it in that folder.
The script will now launch every time you log in.
6. Configure the AHK script
Open dakboard_idle_kiosk_v3.ahk in any text editor. The configuration section is at the top:
; ----------------------------
; USER CONFIGURATION
; ----------------------------
IdleMinutes := 9
DakURL := "https://dakboard.com/screen/uuid/YOUR-UUID-HERE"
EdgeExe := "msedge.exe"
DakTitleHint := "DAKboard"
| Setting | What to change |
|---|---|
| DakURL | Paste your DAKboard screen's private URL here. This is the only setting you must change. |
| IdleMinutes | How long the desktop must be idle before DAKboard launches. Default: 9 minutes. Must be shorter than MOTIONSENSR's nomotion_after_ms (see timing section). |
| EdgeExe | Leave as msedge.exe for Edge. Change to chrome.exe if you prefer Chrome. |
| RequiredMoveSeconds | How long you need to shake the mouse to dismiss DAKboard. Default: 0.6 seconds. Increase if DAKboard dismisses too easily (e.g. from vibration or a bumped desk). |
Save the file and re-run the script (or right-click the tray icon and choose Reload Script).
7. Get the timing right
The timing relationship between the AHK idle threshold and the MOTIONSENSR no-motion timer is the most important thing to get right. The rule is simple:
DAKboard must always be the foreground app before the device triggers sleep. That way, when the PC wakes up, DAKboard is the first thing on screen and not your desktop or whatever app you had open.
With the defaults:
This gives a 1-minute buffer. DAKboard is on screen for a minute before the PC sleeps. When someone walks in and wakes the PC, they see the photo calendar immediately.
Why the script is PAUSE-aware
There's a subtlety: MOTIONSENSR sends the PAUSE key every 10 seconds while someone is in the room. Windows counts PAUSE as keyboard activity, which would normally reset the idle timer and prevent DAKboard from ever launching while people are present.
The v3 script solves this. It maintains its own "real keyboard idle" timer that ignores PAUSE keypresses from the sensor. This way, if you're sitting in the room but not touching the keyboard or mouse, DAKboard still activates after 9 minutes, even though MOTIONSENSR is pressing PAUSE every few seconds to keep the PC from sleeping.
This is the "desktop idle with people present" case: the room isn't empty (so the PC shouldn't sleep), but no one's using the computer (so it should show the photo calendar).
8. Test it
Once everything is configured, walk through each scenario to make sure it works:
Wake test. Put the PC to sleep manually (Start → Sleep). Walk in front of MOTIONSENSR. The PC should wake up within a few seconds.
DAKboard launch test. Stop using the keyboard and mouse. Don't leave the room (keep triggering the sensor). After 9 minutes, DAKboard should take over the screen in fullscreen.
Dismiss test. Shake the mouse for about 0.6 seconds. DAKboard should close and your previous window should be restored.
Sleep test. Leave the room. After 10 minutes of no motion, MOTIONSENSR should put the PC to sleep. (You can temporarily lower nomotion_after_ms to 60000 for testing, which is 1 minute.)
Full cycle. Leave the room and let it sleep. Walk back in. The PC should wake and show DAKboard immediately (since it was the last foreground app).
Ctrl+F12 to force-launch DAKboard immediately,
without waiting for the idle timer. This hotkey is built into the script.
9. Troubleshooting
PC doesn't wake from sleep
Make sure "Allow this device to wake the computer" is enabled for the USB keyboard in Device Manager. Find Keyboards → HID Keyboard Device, right-click → Properties → Power Management tab, and check the box. You may also need to enable "USB Wake Support" in your BIOS settings.
PC wakes but shows a lock screen instead of DAKboard
Windows requires a password/PIN after waking from sleep by default. You need to disable this for the kiosk to work. See "Disable the lock screen on wake" in the configuration section above. Go to Settings → Accounts → Sign-in options and set "Require sign-in" to Never.
DAKboard never launches (even after 9 minutes idle)
If MOTIONSENSR is pressing PAUSE every 10 seconds, make sure you're running the v3 script (not v2). The v3 script has PAUSE-aware idle detection. The v2 script counts PAUSE as real keyboard activity and will never trigger while the sensor is active.
DAKboard launches and immediately dismisses
The script has a 2-second grace period after takeover to ignore input jitter. If DAKboard
is still dismissing too quickly, increase GraceAfterTakeoverMs in the script
(e.g. to 3000).
DAKboard opens on the wrong monitor
The script uses MoveToPrimaryWorkArea to position DAKboard on your primary display.
Make sure your kiosk monitor is set as the primary display in Windows Display Settings.
PC sleeps while I'm using it
This means MOTIONSENSR can't see you. Check the sensor's line of sight. The PIR sensor
detects motion in about a 100° cone, 3–5 meters range. Reposition the device so it faces
the area where you sit. Also check that nomotion_after_ms isn't set too low.
The PAUSE key is interfering with something
PAUSE is deliberately chosen because almost nothing uses it. But if you have software that
responds to PAUSE (some debuggers and media players do), you can change key
in CONFIG.TXT to another unused key like F13 (which doesn't even exist on most keyboards).
If you do, update the AHK script's hotkey handler from ~*Pause::
to ~*F13::.