Skip to main content

PetRoom Shock Collar

Introduction

This document describes a way to control the PetRoom Dog Training Collar over 433Mhz-Band Radio Control.

Credit to MiscReader for the reversing work and code.

Communication via RF

The PetRoom listens to OOK on a carrier wave of 433Mhz, listed as 433~825Mhz in the offer.

The RC-transmitted commands are bitwise encoded as

bitpwm
01000
11110

Each message sent is preceded by a 6 pwm-bit long pulse (Likely to allow the receiver to set its gain) and 3 pwm-bit long low. Each message is repeated 4 times.

The provided code runs on an Arduino with a serial pin connected to an RF-Module.

Commands

All the functionality of the device has been documented.

CommandDescriptionParameter
ShockIssues a static shock of specified strength0-100, high is strong
VibrationVibrates the collar0-100
AudioBeeps0, no effect on intensity
LightLights an LED0

Protocol

The Commands looks like

ChannelL.A.V.S.Remote IDIntensityChecksum?
1000000111001010 0001101000000000011111100
08243240
BitsPurpose
0~3Channel, for addressing the individual collars
4Light
5Audio
6Vibration
7Shock
8~23Remote Serial no.
24~31Level, starting with most significant bit
32~39Checksum, bits 0~7 in reverse order and flipped
40Always zero, unimplemented control bit?

Arduino sketch

The C++ Arduino Sketch provided my MiscReader - see the documentation for the full implementation details with code examples for building and transmitting training collar commands.