Close
0%
0%

Automatic Dog Door Smart Home Interface

Reverse engineering an automatic dog door
ultrasonic protocol to control it

Similar projects worth following

I bought an automatic dog door to let out the dog into the backyard, while avoiding that the cat escape. The door works with a "smart" collar with an ultrasonic transmitter. The cat has learned he can escape via the dog door so I've taken to putting it in one-way mode. This means the dog can come in on her own but I still need to let her out. I've been wanting to come up with a way to open the door remotely to let her out, but the dog door lacks network connectivity. I've been looking for a way to interface to it by reverse-engineering the ultrasonic protocol that the collars use.

PetDoorMan.sch

40 kHz piezo pulser circuit

sch - 20.65 kB - 03/04/2021 at 03:36

Download

IMG_0487.jpeg

Carrier frequency and peak-peak amplitude

JPEG Image - 2.14 MB - 02/14/2021 at 19:47

Preview
Download

IMG_0486.jpeg

Pulse train width

JPEG Image - 2.44 MB - 02/14/2021 at 19:47

Preview
Download

IMG_0478.jpeg

Pulse train frequency

JPEG Image - 2.47 MB - 02/14/2021 at 19:47

Preview
Download

  • 1 × TCT40-T 40 kHz piezo ultrasonic transmitter
  • 1 × NodeMCU V2
  • 2 × HC-SR501 PIR motion sensor
  • 1 × NE556 Clock and Timer ICs / Timer ICs
  • 1 × 5mm green LED

View all 8 components

  • Piezo Driver Circuit Design

    Kumar03/04/2021 at 03:35 0 comments

    Put together a dual-555 circuit in LTSpice to generate a 40 kHz pulse train with a 10 us pulse duration and 25 Hz repeat rate. No Arduinos here!

    Schematic without output transistor


    Period between pulse trains


    Pulse train duration

    Pulse train frequency

  • Reverse-Engineering the Collar Protocol

    Kumar02/14/2021 at 19:40 0 comments

    The collar uses a 40 kHz ultrasonic transmitter. I attempted placing a transmitter emitting a 40 kHz pure sine wave tone near the door, but that just resulted in an LED blinking to indicate interference.  It turns out that the system has some protection against false positives built in by pulsing the 40 kHz carrier. Hooking up an oscilloscope to the terminals of the collar transmitter, I was able to observe that it sends out 40 kHz pulse trains of 0.888 ms long, at a 5.84 V amplitude, and pulse trains occurring at a frequency of  38.8 Hz. 

    This sounds like a job for a 556 (the 16-pin dual 555 variant). My current plan is to use one of these for pulse train generation and avoid the need to deal with interrupts. High-level control will be provided with a NodeMCU that interfaces with a PIR sensor.

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates