OpenShock Flipper Zero
March 20, 2026 · View on GitHub
A Flipper Zero application for controlling OpenShock compatible shockers over 433 MHz.

Features
- Transmit — send commands to any supported shocker by configuring model, ID, channel, command type, and intensity. Hold OK to transmit continuously.
- Receive — listen for 433 MHz OOK transmissions and automatically decode shocker commands from any supported protocol.
- Save/Load — save shocker configurations to the SD card for quick access. Save directly from the receive screen after capturing a transmission.
| Main Menu | Transmit | Edit | Receive |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Supported Shockers
| Model | Commands |
|---|---|
| CaiXianlin | Shock, Vibrate, Sound, Light |
| Petrainer | Shock, Vibrate, Sound |
| Petrainer 998DR | Shock, Vibrate, Sound, Light |
| Wellturnt T330 | Shock, Vibrate, Sound |
| D80 | Shock, Vibrate, Sound |
Installation
From the Flipper Apps Catalog
Search for "OpenShock" in the Flipper mobile app or Flipper Lab.
Manual install
Download openshock_app.fap from the latest release and copy it to SD Card/apps/Sub-GHz/ on your Flipper Zero.
Build from source
Requires ufbt:
pip install ufbt
ufbt
The built .fap file will be in dist/.
Usage
Transmit
- Select Transmit from the main menu
- Set the shocker model, ID, channel, command, and intensity using the d-pad
- Hold OK to transmit — release to stop
- Long-press OK to save the current configuration
Receive
- Select Receive from the main menu
- Trigger a transmission from an existing remote
- The app will decode and display the shocker parameters
- Press OK to load the values into the transmit screen, or Right to save directly
Saved Shockers
- Select Saved Shockers from the main menu
- Press OK to load a saved configuration
- Press Left to delete
Protocol Documentation
Protocol specifications are documented on the OpenShock Wiki. The encoder implementations are ported from the OpenShock ESP32 firmware.



