Modern web-based file management for the classic Casio WMP-1 watch using WebUSB
NEW (2025): This project has been ported to WebUSB, thanks to @simenf! 🎉 You can now manage your Casio WMP-1 watch directly from your web browser without installing any software or drivers.
The Casio WMP 1 was the world's first MP3 watch when it came out in 2000. You can read more about it on the 50 year anniversery page for Casio.
The easiest way to use this software is through the new WebUSB-powered web application. This modern interface runs directly in your browser and provides:
- ✅ No installation required - works directly in modern browsers
- ✅ Cross-platform compatibility - works on Windows, macOS, and Linux
- ✅ User-friendly interface - drag & drop file management
- ✅ Real-time file operations - upload, download, and delete files
- ✅ MP3 validation - ensures files are compatible with the watch
-
Open the web application: Spin up a local web server (see below) and access
/casio-wmp-manager.html
in a modern web browser (Chrome, Edge, or Opera - WebUSB is not supported in Firefox or Safari) -
Connect your watch:
- Connect your Casio WMP-1 to your computer via USB
- Click the "Connect to Watch" button in the web app
- Select your watch from the device list when prompted
-
Manage files:
- Upload MP3s: Drag and drop MP3 files onto the upload area or click "Choose MP3 Files"
- Download files: Click the download button next to any file on the watch
- Delete files: Click the delete button next to files you want to remove
- View file info: See file names, sizes, and details in the file list
- Browser: Chrome 61+, Edge 79+, or Opera 48+ (WebUSB support required)
- USB: Your Casio WMP-1 watch connected via USB cable
- Files: MP3 files at 96-128kbps, 44.1kHz (the app will validate compatibility)
Webusb only works over https or from localhost, which means your options are spinning it up yourself or try the hosted version
python -m http.server 8000
Then open http://localhost:8000/casio-wmp-manager.html
Access it at wmp1.simenf.com hosted with cloudflare pages.
For those who prefer the original command-line interface or need to use older systems, the original C++ implementation is still available below. Something in the legacy libusb code seems to be broken on newer Linux distros (see #3), so this has not been working for some time. Which is why the port to WebUSB was really welcome!
This source code should enable you to use the classic Casio WMP-1 wrist watch on all modern platforms, as its only dependency is libusb. Unfortunately it only works successfully in Linux at the moment:
- Unable to compile libusb32 on Windows.
- libusb has a bug in OS X that aborts transfers
The interface is a clunky text based interface, but it works reasonably well - some would say better than the original Windows software, although that wouldn't say much :)
For a bit of history and usage, see the old README
See ./libusb-version/README.md.
I have kept an old copy of the original software for Windows 98 Casio WAP. Still worked in Windows XP the last time I tried it (using Win98 emulation mode). Do not know about Windows 7 though ... But if you are on the lookout, then this is your lucky day :)
I also have a copy of the original contents of the MMC (including firmware) in case you should somehow manage to fuck it up. Can be found here.
- ✅ COMPLETED: Cross-platform compatibility achieved with WebUSB implementation
- Update to use the newer lib usb for legacy CLI version. Also see issue #1.
- Florian Schmidt (development)
- Carl-Erik (minor bug fixes, research, documentation and code archeology)
- Martin Kiewitz (wrote the original REXX code for OS/2)
- SimenF (WebUSB port)
Complete rewrite using WebUSB technology:
- Cross-platform web application that works in modern browsers (Chrome, Edge, Opera)
- No installation required - no drivers, no compilation, no dependencies
- Modern drag & drop interface for easy file management
- Real-time file operations with progress indicators
- MP3 validation to ensure file compatibility
- Solves all legacy platform compatibility issues (Windows libusb32 compilation, macOS transfer bugs)
Thought it would be fun to find and add the original code for OS/2 that I sent Florian originally. I found it on the Hobbes OS/2 archive. The link now points to a mirror, after the original Hobbes archive was decomissioned after 34 years).
Added a small howto on how to build on current systems (OS X and Linux)
Made the source and history available on GitHub
The latest version copies ID3v2 files without causing trouble. Should work fine with all files with bitrate <= 32 kbit <= 128kbit.
Initial release based Martin Kiewit's REXX code for OS/2 Up-/download working, id3, general file upload, playlist support, ++