Archive of https://github.com/SvenGDK/Prospero-Vibrate — A frame-driven studio for the PS4 & PS5 controller's vibration motors. https://github.com/SvenGDK/Prospero-Vibrate
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-18 07:47:36 +02:00
Patterns First commit 2026-09-18 07:40:14 +02:00
sce_sys First commit 2026-09-18 07:40:14 +02:00
Screens First commit 2026-09-18 07:40:14 +02:00
.gitignore First commit 2026-09-18 07:40:14 +02:00
HapticsController.cs First commit 2026-09-18 07:40:14 +02:00
LICENSE Initial commit 2026-09-18 07:32:28 +02:00
Program.cs First commit 2026-09-18 07:40:14 +02:00
README.md Update README.md 2026-09-18 07:47:36 +02:00
SampleApp.csproj First commit 2026-09-18 07:40:14 +02:00

Prospero Vibrate

Haptics that move you. A frame-driven studio for the PS4 & PS5 controller's vibration motors.

Features

  • Live control: two sliders drive the large and small motors in real time. Optional motor link, one-touch full drive, one-touch release.
  • Preset library: 18 curated patterns (heartbeat, alarm, distress SOS, drum roll, earthquake, gunfire, ratchet, chirp, metronomes, warmup and cooldown ramps, wave in, wave out, three-pulse burst, low growl, high buzz, double tap).
  • Custom pattern editor: build a sequence of up to eight steps, each with a large and small level, a duration and a fade flag. Save, load and delete named patterns from writable storage.
  • Timed play: run any preset (built-in or saved) for a chosen number of seconds and stop automatically.
  • Settings: pick between the full and reduced drive ranges, adjust a master intensity that scales every pattern, weaken haptics while the built-in microphone is in use, restore defaults.
  • Toast messages announce state changes; footer shows current motor levels.

Controls

  • D-pad or Joystick up/down: move focus between controls on the visible tab.
  • D-pad or Joystick left/right: change the value under the current control, or switch tabs when focus is on the tab row.
  • Cross: activate a button or list entry.
  • Circle: cancel a modal or exit the app when nothing else consumes the press.
  • Options: exit.

Build

setx SHARPPROSPERO_ROOT "<sdk>"
pwsh $SHARPPROSPERO_ROOT/samples/prospero-vibrate/build.ps1 -Output Folder

The signed module lands under out/module/. Zip that folder to install.

Persistent storage

Custom patterns land in /data/prospero-vibrate/patterns/<name>.json; app settings in /data/prospero-vibrate/settings.json. If the writable path is refused, the app continues from built-in defaults.