PiShock V3 Documentation


If you have any issues or questions not answered within this document, please join our Discord-Community or email helpdesk@pishock.com.

Overview

PS31.1.png

# Name Description
1 Claim Opens a dialog for claiming a new PiShock
2 Friends Displays any devices added by Share Codes (see Share Codes & Links)
3 PiShocks Show/Hide a list of all PiShocks you own
4 Side Menu Show/Hide the Side Menu (This menu contains items 1-3)
5 PiShock Name Displays the name of the currently selected PiShock (this is editable)
6 Ping Allows you to manually check if the PiShock is online
7 PiShock Status Displays the last time the PiShock pinged the server
8 Settings Show/Hide the Settings Menu (see Settings Menu)
9 Shocker Control Interface User interface for sending commands to the Shocker (see Shocker Interface)
10 Menu Toggles the Menu (see Menu)
11 Logs Show/Hide the Logs (see Logs)
12 Help Show/Hide the Help window (see Help)

Shocker Interface

Tap Mode

PS31.2.png

# Name Description
1 Shocker Name Displays the name of the Shocker (this is editable)
2 Share Opens a dialog for creating, sharing, or removing Share Codes and Links per Shocker (see Share Codes & Links)
3 Party Mode Select or deselect the Shocker for use in Party mode. Enabling Party Mode will cause a new button to appear at the bottom of your screen. (see Friends & Party Mode)
4 Shock Operate (Tap mode) Sends a shock at the set Shock Intensity (8) and Shock Duration (5)
5 Shock Duration (Tap mode) Allows you to set the duration for the shock. Duration options can be set to 0.1 seconds, 0.3 seconds, or any number whole number between 1 and 10 seconds.
6 Warning Duration Allows the Shocker to vibrate as a warning before a shock is emitted:

• None (no vibration before shock)
• Small (1-3 second duration)
• Mid (3-6 second duration)
• Long (6-9 second duration)
7 Random Intensity Mode Allows you set a range of intensities on the Shock Intensity slider (8). When operating in this mode shock will be issued from a random intensity within the set range.
8 Shock Intensity Allows you to set the intensity of the shock
9 Vibrate Operate (Tap mode) Sends a shock at the set Vibrate Intensity (11) and Vibrate Duration (10)
10 Vibrate Duration (Tap mode) Allows you to set the duration for the vibration. Duration options can be set to 0.1 seconds, 0.3 seconds, or any number whole number between 1 and 10 seconds.
11 Vibrate Intensity Allows you to set the intensity of the vibrate
12 Mode Changes the between the 3 available control modes:

• Tap (default)
• Remote (see Remote Mode)
• Continuous (see Continuous Mode)
13 Emergency Stop Stops any ongoing operations on the shocker
14 Beep Causes the shocker to beep
15 Shocker Info/Type Dialog Opens the shocker Info and Type dialog. Displays the shockers ID and lets you change the type between the newer Models and the old Pettrainer.

Remote Mode

PS31.3.png

# Name Description
1 Shocker Name Displays the name of the Shocker (this is editable)
2 Share Opens a dialog for creating, sharing, or removing Share Codes and Links per Shocker (see Share Codes & Links)
3 Party Mode Select or deselect the Shocker for use in Party mode. Enabling Party Mode will cause a new button to appear at the bottom of your screen. (see Friends & Party Mode)
4 Shock Operate (Remote mode) Sends a shock at the set Shock Intensity (8) for as long as the button is held down
5 Shock Duration (Remote mode) This feature is disabled in Remote Mode
6 Warning Duration Allows the Shocker to vibrate as a warning before a shock is emitted:

• None (no vibration before shock)
• Small (1-3 second duration)
• Mid (3-6 second duration)
• Long (6-9 second duration)
7 Random Intensity Mode Allows you set a range of intensities on the Shock Intensity slider (8). When operating in this mode shock will be issued from a random intensity within the set range.
8 Shock Intensity Allows you to set the intensity of the shock
9 Vibrate Operate (Remote mode) Sends a shock at the set Vibrate Intensity (11) for as long as the button is held down
10 Vibrate Duration (Remote mode) This feature is disabled in Remote Mode
11 Vibrate Intensity Allows you to set the intensity of the vibrate
12 Mode Changes the between the 3 available control modes:

• Tap (default)
• Remote (see Remote Mode)
• Continuous (see Continuous Mode)
13 Emergency Stop Stops any ongoing operations on the shocker
14 Beep Causes the shocker to beep
15 Shocker Info/Type Dialog Opens the shocker Info and Type dialog. Displays the shockers ID and lets you change the type between the newer Models and the old Pettrainer.

Continuous Mode

Note: this section only highlights the differences between this and the default “Tap” mode
PS31.4.png

# Name Description
1 Shocker Name Displays the name of the Shocker (this is editable)
2 Share Opens a dialog for creating, sharing, or removing Share Codes and Links per Shocker (see Share Codes & Links)
3 Party Mode Select or deselect the Shocker for use in Party mode. Enabling Party Mode will cause a new button to appear at the bottom of your screen. (see Friends & Party Mode)
4 Shock Operate (Continuous mode) This feature is disabled in Continuous Mode
5 Shock Duration (Continuous mode) This feature is disabled in Continuous Mode
6 Warning Duration Allows the Shocker to vibrate as a warning before a shock is emitted:

• None (no vibration before shock)
• Small (1-3 second duration)
• Mid (3-6 second duration)
• Long (6-9 second duration)
7 Random Intensity Mode This feature is disabled in Continuous Mode
8 Shock Intensity Allows you to set the intensity of the shock
9 Vibrate Operate (Continuous mode) This feature is disabled in Continuous Mode
10 Vibrate Duration (Continuous mode) This feature is disabled in Continuous Mode
11 Vibrate Intensity Allows you to set the intensity of the vibrate
12 Mode Changes the between the 3 available control modes:

• Tap (default)
• Remote (see Remote Mode)
• Continuous (see Continuous Mode)
13 Emergency Stop Stops any ongoing operations on the shocker
14 Beep This feature is disabled in Continuous Mode
15 Shocker Info/Type Dialog Opens the shocker Info and Type dialog. Displays the shockers ID and lets you change the type between the newer Models and the old Pettrainer.

Settings Menu

PS31.5.png

# Name Description
1 Rename Opens the dialogue for renaming your PiShock.
2 Transfer Opens the dialogue for unlinking the PiShock from your account.

WARNING: This is only intended for transferring ownership of the PiShock (e.g. when selling it) NOT for giving another user control. To give another user control, see Share Codes and Share Links.
3 Get Shockers Allows you to easily purchase another Shocker/Shocker license.
4 PiShock ID Your PiShock ID. The PiShock ID is required API applications and troubleshooting.

Logs

PS32.16.png
Example Continuous Mode (on left) Example Tap Mode (on right)

Continuous Mode Logs: Operations in Continuous Mode are sent as long as the slider is above 0. In the logs this is displayed as a graph showing the intensity of the operation over time. The log will display this as seen in the above left-side image.
Tap Mode Logs: Operations are sent withe the intensity and duration they have been assigned. Example: A shock is issued at 78% intensity for 5 seconds. The log will display this as seen in the above right-side image.

Power

The PiShock requires a power source that supplies 5V/2A at minimum. It is possible to achieve sufficient output via a device such as a power bank.

Portable Power

Alternatively, it is possible to power the PiShock via its GPIO pins using an LiPo (optional: battery hat) for a more portable, compact solution.

Portable Operation

Operating the PiShock while moving around in a space such as a convention floor requires nothing more than a hotspot connection and an external power source.

Share Codes & Links

Share Codes and Share Links, what are the differences? What are they for?

Share Codes are used for granting another user persistent access to your Shocker. In addition, Share Codes are used for certain API applications.

Share Links are used to grand either another person or a group of people temporary access to your Shocker.

Both Share Codes and Share Links can be granted and revoked at any time.

PS32.5.png

# Name Description
1 Share Code Creates a new Share Code (see Share Codes)
2 Share Link Opens the menu for creating a new Share Link (see Share Links)

Share Codes

Share Codes Interface

PS32.8.png

# Name Description
1 Share Code / Name of user Displays the Share Code or the name of the user who has claimed it
2 Copy Link Copies the Share Code to the clipboard
3 Generate QR Code Displays a QR code of the Share Code
4 Share Code Settings Opens the Share Code Settings dialog (see Share Code Settings)
5 Pause Link Pauses the use of this Share Code
6 Delete Link Deletes the Share Code

Share Code Settings

PS32.9.png

# Name Description
1 Operation Modes Toggle Vibration, Shock, and Beep modes independently of one another
2 Logs Toggle Toggle whether the Share code user can see the Shocker's logs
3 Continuous Toggle Toggle whether the Share code user can use Continuous and Remote mode
4 Manage Links Toggle Toggle whether the Share code user can Manage links for you
5 Max Duration Allows you to set the maximum duration for Operations
6 Max Shock Intensity Allows you to set the maximum intensity for Shock Operations

Using Share Codes

What does adding a Share Code do?

Once added, a Shocker accessed via Share Code can be controlled like your own Shocker, with the exception that the Shocker's owner can pause or revoke access at any time.

Please consult the safety instructions at the beginning of this document before use.
  1. Select FRIENDS from the side menu.
    PS32.10.png
  2. Select SHARED CODE from the updated side menu.
    PS32.11.png
  3. Enter the Share Code you would like to use in the field labeled Enter Share Code. This code will be another user's Share Code, not your own. Once you have entered the code, select OK.
    PS32.12.png
Before you send that Share Link

The settings on Share Link cannot be changed after creation; If you are planning on giving access to someone for a longer period of time, it is advisable to use a Share Code instead!

PS32.6.png

# Name Description
1 Link Name Name of the link
2 Expiration Date & Time Displays when the Share Link will expire
3 Copy Link Copies the Share Link to the clipboard
4 Generate QR Code Displays a QR code of the Share Link
5 Pause Link Pauses the use of this Share Link
6 Delete Link Deletes the Share Link

PS32.7.png

# Name Description
1 Link Name Allows you to set a name for the Share Link
2 Operation Modes Toggle Vibration, Shock, and Beep modes independently of one another
3 Force Warning Toggles whether a forced warning will issued prior to shock
4 Force Login Toggles whether the Shared Link is limited to only logged in users
5 Max Duration Allows you to set the maximum duration of shocks, vibrations, or beeps issued from this link
6 Max Intensity Allows you to set the maximum intensity of shocks and vibrations issued from this link
7 Allow Once Toggles whether the link will perform a one-time action. Enabling Allow Once does not give control to another user, but just performs a single action alone. Cannot be used with Give Control.
8 Give Control Toggle whether to allow remote-like control instead of one-time actions. Cannot be used with Allow Once.
9 One Person Toggles whether the link should allow for multiple users or only a single user to access the Share Link and issue operations. If enabled, only the first browser using the Share Link will be permitted to issue operations.
10 No Expiration Toggles whether the Share Link should expire. An Expiration Time (13) must be set if this option is disabled.
11 Cancel Cancels creating the share link
12 Confirm Creates the Share Link
13 Expiration Time Allows you to set the expiration time by selecting an hour and minute (local time). This must be set if Allow Once or No Expiration are disabled.
  1. Open the Share Link in your browser.
  2. Enter a username (if you are logged in, it will use the name of your PiShock account instead). Select CONFIRM once you have chosen a username.
    PS32.13.png
  3. Confirm that you are of Legal age if prompted
    PS32.14.png
What does adding a Share Code do?

Once added, a Shocker accessed via a Share Link can be controlled like your own Shocker, with the exception that the Shocker's owner can pause or revoke access at any time. If the Share Link has a time limit, it will automatically expire once the set time has elapsed.

Please consult the safety instructions at the beginning of this document before use.

PS32.15.png

# Name Description
1 Share Link Controller A simplified version of the Shocker Interface
2 Duration Allows you to set the duration for the shock or vibration
3 Vibrate Sends a shock at the set Intensity (9) and Duration (2)
4 Shock Sends a shock at the set Intensity (9) and Duration (2)
5 Warning Duration Allows you to set the duration for the warning preceding the shock
6 Warning Toggles a warning preceding the shock
7 Micro Shock Sends a micro shock (0.3 seconds) at the set Intensity (9)
8 Beep Sends a beep
9 Intensity Allows you to set the intensity between 0 and 100%

Friends & Party Mode

Friends Interface

PS32.1.png

# Name Description
1 Partner Selection Allows you to select Users you have a Share Code saved for
2 & 3 Users Allows you to manage control groups
4 Individual Shocker Control (see Shocker Interface)
5 Shared Code Opens a dialog for adding a new Share Code
6 Claim Opens a dialog for claiming a new PiShock
7 PiShocks Toggles a list to display all PiShocks you own
8 Side Menu Toggles the Side Menu (This menu contains items 6-8)
9 Party UI This feature is only visible after selecting a Shocker via the Party Mode checkbox (10)
10 Party Mode Select or deselect the Shocker for use in Party mode. Enabling Party Mode will cause a new button (9) to appear at the bottom of your screen.

Party Mode

PS32.2.png
To use Party Mode, toggle which Shockers are participating by selecting the checkbox to the right of the Shocker's name. Shockers may be selected from both Shockers you own and Shockers you have the Share Codes for. This mode MUST have at least one Shocker selected to function.

# Name Description
1 Party UI The main interface for Party Mode. Expanding this UI(2) is recommended for use in VR.
2 Party UI Position Controls Allows you to reposition the Party UI using the arrow buttons.

• ← Move UI left
• ↓ Move UI down
• Square Maximize
• → Move UI right
3 Combined Shocker Control An interactive compact view of the Shocker Interface (see Shocker Interface)
4 Party Operation Mode Allows you to select an operation mode:

• Sync (All active Shockers will activate in sync with one another)
• Random (A random Shocker will activate)
• Round Robin (Allows you control which Shocker is activated)
5 & 6 Shocker Selection Allows you to toggle individual Shockers
Tip: For added comfort ensure you maximize Party Mode while playing in VR

Select the maximize window button (shown below) to view the Party Mode UI in full screen.
PS32.3.png

Setup & Settings

This section requires PiShock Tools.

PiShock Tools Interface

PS33.1.png

# Name Description
1 Status Show/Hide the Status tab. The information found here is useful for troubleshooting. (see Status Details)
2 Networks Show/Hide the Network tab. Network settings configuration is done within this tab. (see Connecting To Network)
3 Shockers Show/Hide the Shockers tab. The Shockers tab displays a list of your connected Shockers and allows you to claim additional Shockers.
4 Device Logs Opens the Device Logs. The information found here is useful for debugging. (see Device Logs)

Status Details

The information found here is useful for troubleshooting. As such, Tech Support may request some of these details to resolve your issue.
PS33.2.png

Reflashing

To update the firmware on your device, you must use a computer running Windows 10 or Windows 11

About Reflashing

Sometimes, the software on your PiShock may need to be updated or reloaded. This may be to enable a new feature announced on our Discord Community, or to troubleshoot an issue with your PiShock.

Normally, firmware updates are not necessary. You should only follow this process if a new feature is announced that explicitly requires a firmware update, or if our support staff advises you to do this to troubleshoot an issue.

Flashing Instructions

These instructions only apply to the PiShock models sold since November 2021

This model can be identified by a red LED on the side of the PiShock when plugged in.

These instructions will NOT work for older models of PiShock that are based on a Raspberry Pi. Please contact our support team via Discord if you have any questions.

  1. Download and extract the PiShock Tools.
    Note that for “PiShock Lite” Models you might require the appropriate drivers, if the Tools do not detect your iShock, try downloading and installing the drivers via this Google Drive.
  2. Plug your PiShock into your computer using a USB cable. Ensure that your cable supports data transfer.
  3. Right-click on the PiShock Tools and click Run as Administrator
  4. Identify which device you have before flashing:
    • For PiShock Lite select Lite v3 at the bottom, then click Flash
    • For newer PiShock (identified by the rectangular shape and USB-C connector) select Next V3 at the bottom, then click Flash
    • If you are unsure about which option to choose, please open a ticket on our discord server.
  5. Once the firmware has finished you may begin setting up your WiFi connection. (See Connecting To Network)

Connecting To Network

The PiShock only supports 2.4 GHz Wifi networks

The PiShock requires an active internet connect to receive commands. A WiFi connection or mobile hotspot will suffice.

It is advised to complete setup from a stable connection. Interrupted connections can result in issues with the setup.

  1. Under Networks, select the + button
    PS33.3.png
  2. Enter your network's SSID into the Name field and Password into the Pass field. Select the check mark to confirm changes.
    PS33.4.png
  3. Select the button with the two arrows (shown below) to connect to your network.
    PS33.5.png

Setup Hotspot

SSID: PiShock
Password: Zappy454
Band: 2.4Ghz

Device Logs