What is PiShock?
PiShock is a wireless hardware platform that lets you control wearable devices capable of vibration, electrical stimulation (shock), and audible beep signals. It is commonly used by VR streamers and content creators to add a physical feedback layer to their streams — viewers can trigger haptic responses through gifts, follows, and chat commands.
VMSC integrates directly with the PiShock API over WebSocket, giving you real-time control with minimal latency. When a viewer event matches one of your rules, VMSC sends the corresponding command to your PiShock device instantly.
Shock mode delivers electrical stimulation. Always test devices on yourself at low intensity before enabling shock actions on stream. Never use PiShock devices near your chest, head, or neck. If you feel any discomfort, use the E-STOP button immediately. You are solely responsible for your safety when using PiShock hardware.
Setting Up PiShock
To connect VMSC to your PiShock account, you need three pieces of information from the PiShock website or app:
| Credential | Where to Find | Description |
|---|---|---|
| Username | PiShock account settings | Your PiShock account username |
| API Key | PiShock account > API section | A unique key that authenticates VMSC with the PiShock service |
| Share Code | PiShock device > Share settings | A per-device code that grants access to a specific shocker. Each device has its own share code. |
-
Open PiShock Settings
In VMSC, navigate to Outputs > PiShock.
-
Enter Your Credentials
Fill in your Username and API Key. These are stored locally and never sent anywhere except the PiShock API.
-
Add a Shocker
Click Add Shocker, enter a friendly name (e.g., "Arm Band") and paste the Share Code for that device.
-
Test the Connection
Click the Test button next to the shocker. This sends a short, low-intensity vibration to confirm everything is connected.
PiShock integration is available exclusively in the Premium edition. Free users will see the PiShock settings but cannot save credentials or trigger actions.
Shocker Management
You can connect multiple PiShock devices simultaneously. Each shocker appears as a separate entry in the PiShock settings panel with its own name, share code, and status indicator.
- Add Shocker — Click the add button and provide a name and share code. The name is used when selecting a target device in rule actions.
- Remove Shocker — Click the delete icon next to any shocker to remove it. Any rules referencing that shocker will need to be updated.
- Status Indicator — A green dot means the device responded to the last command. A red dot means the last command failed (device offline, invalid share code, etc.).
When creating a PiShock action in a rule, you select which shocker to target by its friendly name. You can also select All Shockers to trigger every connected device at once.
Action Modes
PiShock devices support three distinct operation modes. Each mode is selected when creating a PiShock action in your rules:
Vibrate
Sends a vibration pulse to the device. This is the safest and most commonly used mode. Suitable for any stream event.
- Intensity: 1–100%
- Duration: 1–15 seconds
Shock
Sends an electrical stimulation pulse. Use with extreme caution and always at the lowest effective intensity.
- Intensity: 1–100%
- Duration: 1–15 seconds
Beep
Plays an audible tone from the device. Useful as an alert or notification without any physical sensation.
- Duration: 1–15 seconds
- No intensity setting
Intensity and Duration
Every PiShock action (except beep) has two configurable parameters:
- Intensity — A value from 1 to 100 controlling the strength of the vibration or shock. You can use a fixed number or a template variable like
{{giftCount}}to scale intensity dynamically based on the event. Values are clamped to the 1–100 range automatically. - Duration — How long the action lasts, from 1 to 15 seconds. Longer durations are more noticeable but also consume more device battery.
Example use case: map gift value to intensity so that more expensive gifts produce a stronger vibration. A Rose (1 coin) might trigger intensity 10, while a Lion (29,999 coins) triggers intensity 100.
You can use the expression {{Math.min(giftDiamonds, 100)}} in the intensity field to scale with gift diamond value while capping at maximum intensity.
Emergency Stop (E-STOP)
VMSC includes a prominent E-STOP button in the PiShock panel. Pressing it immediately:
- Sends a stop command to all connected PiShock devices
- Disables all PiShock rule actions until manually re-enabled
- Logs the emergency stop event with a timestamp
The E-STOP button is always visible in the PiShock output section and does not require confirmation — it activates on a single click.
Before going live, always verify that you know where the E-STOP button is and that it works. Run a test vibration and immediately hit E-STOP to confirm the stop command reaches the device quickly.
Rate Limiting and Safety
To prevent accidental overload from rapid-fire stream events, VMSC enforces several safety mechanisms on PiShock actions:
| Safety Feature | Description |
|---|---|
| Cooldown Period | After a PiShock action fires, the same rule cannot trigger the same device again until the cooldown expires. Default is 3 seconds, configurable per rule. |
| Maximum Intensity Cap | You can set a global maximum intensity in PiShock settings. Even if a rule calculates a higher value, it will be clamped to this cap. |
| Maximum Duration Cap | Similar to intensity, a global duration cap prevents any single action from exceeding your chosen maximum length. |
| API Rate Limit | The PiShock API itself enforces rate limits. If too many requests are sent in a short window, some may be dropped. VMSC will log a warning when rate limits are hit. |
TikTok gift events can arrive in rapid bursts. If you have a PiShock rule triggered by gifts, make sure your cooldown is long enough to prevent overlapping activations. A cooldown of 5–10 seconds is recommended for shock-mode rules.
Creating PiShock Rules
To wire a stream event to a PiShock action:
-
Create or Edit a Rule
Go to Rules and create a new rule or edit an existing one.
-
Set the Trigger
Choose the event that should trigger the PiShock action (e.g., Gift Received, New Follower, Chat Command).
-
Add a PiShock Action
In the actions list, click Add Action and select PiShock. Choose the target shocker, mode (vibrate/shock/beep), intensity, and duration.
-
Add Conditions (Optional)
Use conditions to filter when the action fires. For example, only trigger on gifts worth more than 100 diamonds, or only for viewers with the "VIP" tag.
-
Save and Test
Save the rule and use the Dev Test Panel to simulate the event. Verify that the correct device activates at the expected intensity.