2026-05-28 19:12:07 +01:00
2026-05-28 19:12:07 +01:00
2026-05-12 12:32:49 +01:00
2026-05-08 06:59:03 +01:00
2026-05-08 06:59:03 +01:00

W.H.S.P.A.H.

An entirely self-hosted, local and free way to interact with CaiXianlin shock collars.

Basic shit

What does W.H.S.P.A.H. stand for?

It simply stands for "We Have Shock Pi At Home", playing on PiShock, but with the "Pi" and "Shock" being swapped to make a more pronounceable name.

What actually is it?

It's hardware, firmware and software designed for interacting with CaiXianlin.

This can be broken up into 3-4 individual parts:

  • Hardware: This is the hardware of W.H.S.P.A.H. that interacts with the shockers directly and runs the firmware.
  • Firmware: This runs directly on the hardware and provides a way to send CaiXianlin commands through the serial port.
  • API: This provides an easy way to interact with the previous two parts in Python.
  • Software (Optional): This is an optional layer that combines all the previous parts into a GUI / CLI.

Quick special thanks

  • Magnus: For helping me figure out that the encoding used was Lucal code.
  • The OpenShock wiki: For clarifying packet structure & RF timings.
  • TRS / Tango: For giving me a reason to make this mess.
Description
W.H.S.P.A.H. (We Have Shock Pi At Home) is firmware and software for interacting with CaiXianlin shockers.
Readme MIT 9.6 MiB
Languages
Python 67.2%
C++ 32.2%
C 0.6%