https://github.com/sukibaby/stepmania-sync-tester
Everything you need to test your StepMania sync with a Raspberry Pi Pico. (or anything else you need a 625bpm repeated keypress for.)
https://github.com/sukibaby/stepmania-sync-tester
input-device pi-pico raspberry-pi-pico stepmania test-devices
Last synced: about 1 month ago
JSON representation
Everything you need to test your StepMania sync with a Raspberry Pi Pico. (or anything else you need a 625bpm repeated keypress for.)
- Host: GitHub
- URL: https://github.com/sukibaby/stepmania-sync-tester
- Owner: sukibaby
- License: unlicense
- Created: 2024-05-01T10:05:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-05T15:13:40.000Z (12 months ago)
- Last Synced: 2024-06-05T17:24:07.366Z (12 months ago)
- Topics: input-device, pi-pico, raspberry-pi-pico, stepmania, test-devices
- Language: Python
- Homepage:
- Size: 16.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Pi Pico Based StepMania Sync Tester
*This is based off [TomoDesigns' "Super Easy Pico Keyboard"](https://www.instructables.com/The-Basic-Pico-Keyboard/)*
Everything you need to test the input sync stability of your StepMania (or other rhythm game engine) setup is provided here. This has been tested to be as accurate as 0.2ms std dev * 3.
All you need is a Raspberry Pi Pico and a microUSB cable which does data. Use GitHub's "download as ZIP" feature to get everything you need easily.

The Pi Pico settles in at just about 625 BPM when you have it loop every 90ms and simulate a keypress. This is configured to send P2 Up, which is usually set by default to "8" on the number pad. A silent ogg file and .sm file containing 12 minutes of up arrow 16th notes at 156.25BPM is included.
The normal version `Main.py` can be controlled completely from your computer. The alternate version `Main-switched.py` assumes you connected a switch between **3V3** and **GP10** on your Pi Pico.
### Prerequisites
You will need something to run the software on the Pico. [Thonny](https://github.com/thonny/thonny) is a good option. The version provided here is tested and works, or it can be downloaded from Thonny's GitHub here: https://github.com/thonny/thonny/releases/download/v3.3.13/thonny-3.3.13.exe### How to set up
1. Plug in the Pi Pico while holding down the BOOTSEL button. It should appear as a USB drive. Drag `adafruit-circuitpython-raspberry_pi_pico-nl-7.3.0.uf2` onto the Pico's storage. It will disconnect, reboot, and reconnect.
2. Copy the folder `adafruit_hid` to the Pico's storage.
3. Open **Thonny**. When it asks you if you want to use Normal or Raspberry Pi mode, stay on Normal mode. You may have to hit the "Stop" button (Stop/restart backend) to get your Pi Pico to be recognized.
4. Load `Main.py` in Thonny. When you are ready to send the input, press the start button (or toggle the switch if you loaded `Main-switched.py`)
5. Make a folder in your StepMania's `Songs` directory called anything you'd like to call it, and then put the folder "625bpm sync test" in there. It will show up in your song list as "625bpm sync test".### Note on accuracy
Something with either the Pico or `adafruit_hid` library causes a very slight offset every 10 minutes. Please take this into account if you are going to use this to test for 10 minutes or more. Example:
