Free · Open source · No telemetry

One app for every walking pad. Plans included.

Control Merach, WalkingPad and FTMS treadmills over Bluetooth, plan your walking week, and get reminders that wait until you're off a call. On Mac now, Windows next.

macOS 15+No accountNo ads
Menu bar item: 2.4 mph, 1.82 mi, 46:11 Menu bar panel with speed, Stop and live stats
TreadmillsMerach · WalkingPad · FTMS
PlatformsmacOS 15+ · Windows soon
Speed step0.1 mph or 0.1 km/h
AccountNone. Nothing to sign in to.
Features

Plan the walks. Run the belt. See every number.

Other treadmill apps give you buttons. This one also schedules your walks and reminds you at a sensible moment.

Weekly planner

Drag on the timeline to add a walk. Repeat it on weekdays, set its length and speed, or change a single day.

Weekly walk timeline

Reminders that wait

Start, Snooze or Skip from the notification. Held while your camera or mic is on, you're idle, or the screen is locked.

Time to walk notification

Live stats from the treadmill

Time, distance, steps, pace and calories, read from the belt so they match its display. The remote stays in sync.

Now tab with 2.4 mph and stats

In the menu bar

Three styles. Green dot while walking, amber while paused.

2.4 mph · 1.82 mi · 46:10full
2.4 mphspeed
icon
Start, stop or resumeSpace
Slower · faster← →

Never starts by itself

The belt moves only on Start, Space or a reminder's Start button.

Reconnects on its own

After sleep, power cycles and Bluetooth dropouts.

Pause keeps stats

Stop pauses where the treadmill allows; Resume returns to your speed.

Hardware

Three protocols, picked automatically.

Brand-specific drivers come first. Anything else that speaks Bluetooth's Fitness Machine Service falls back to the standard driver.

TreadmillRecognized byProtocolStatus
Merach MR-T19MRK-*Merach ZJ on fff0Verified
Kingsmith WalkingPadKS-BLC* KS-BLR* KS-ST-A1*Kingsmith F7/F8 on fe00In testing
FTMS treadmillsservice 0x1826Bluetooth Fitness Machine ServiceStandard
Not supported: WalkingPads with encrypted Bluetooth (KS-R1AC, KS-X21). Got another model working? Open an issue.
Privacy

Runs on your computer. Sends nothing.

No account, no analytics, no ads. Here is everything it asks for and why.

Asks for

Two permissions

  • BluetoothTo talk to your treadmill
  • NotificationsTo remind you to walk
Checks

Whether you're available

  • Camera, micIn use or not, never the content
  • InputMinutes since last key or click
  • ScreenLocked or asleep
Keeps

Your data, on your Mac

  • WalksA JSON file in Application Support
  • SettingsLocal preferences
  • LogsOnly if you turn diagnostics on
Open source

Read it, fork it, build it.

The app, the Bluetooth drivers and the protocol notes are all on GitHub. Issues and treadmill reports welcome.

build from source · Swift 6
$ git clone https://github.com/eoy4/desk-walker
$ cd desk-walker
$ scripts/install.sh   # builds, copies to /Applications
FAQ

Questions

Is it safe?

The belt starts only when you click Start, press Space or tap Start on a reminder. Stop pauses it, and the treadmill's remote works the whole time. The source is public, so you can check every command it sends. macOS may ask you to confirm the first time you open it.

Which treadmills work?

Merach MR-T19 (verified), Kingsmith WalkingPad C2 and other F7/F8 models (in testing), and treadmills with Bluetooth FTMS. Encrypted WalkingPads such as the KS-R1AC and KS-X21 are not supported.

What about privacy?

No account, no analytics, no tracking. Walks and settings stay on your Mac. It checks whether the camera or mic is in use to hold reminders during calls, and never sees what they capture.

Why is it free?

It replaces a phone app that was full of ads, so charging or adding ads would defeat the point. If it's useful to you, support the project.

Windows?

A native Windows version is in progress. The download button above switches on when it ships.

Do I still need the phone app?

No. Close it before connecting, since most treadmills accept one Bluetooth connection at a time.

Your next walk is at 14:00.
Be ready for it.