Skip to content

Instantly share code, notes, and snippets.

@darconeous
Last active April 1, 2024 03:02
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save darconeous/b55d9d1c01ac67f356d86f82a56a6271 to your computer and use it in GitHub Desktop.
Save darconeous/b55d9d1c01ac67f356d86f82a56a6271 to your computer and use it in GitHub Desktop.
kidde-interconnect

Original "dumb" smoke detector interconnect sounds the siren on all interconnected smoke detectors when a 9-to-12 volt (referenced to neutral/white) direct-current signal is continuously present on the signal wire (red). This still how pretty much all interconnected smoke alarms indicate a fire condition.

However, modern interconnected detectors are capable of detecting carbon monoxide and other conditions. When these conditions are signaled, they must be identified as something other than a smoke alarm by the other detectors. Ideally, any dumb smoke detectors sharing the interconnect signal should ignore these signals, even if they weren't designed with such multiplexed-signaling in mind.

Kidde came up with such a mechanism in 2000 and apparently patented it (6,791,453; Now possibly expired...?). While I think a patent on something like this is pretty silly, in this case, it is good news for us because it means we have some documentation!

Multiple types of interconnected alarms

From the abstract (emphasis mine):

Presented is a communications protocol for use by interconnected hazardous condition detectors, such as smoke and carbon monoxide detectors for use in dwellings and other structures. This communications protocol provides conventional signaling to indicate the presence of a smoke condition necessitating the generation of a smoke temporal pattern by all interconnected detectors. The protocol further defines a signaling method by which conventional smoke detectors that are incapable of providing temporal patterns other than that required for a smoke alarm condition will not be sent into an alarm mode of operation upon receipt of a signal other than the conventional smoke alarm signal. This communications protocol defines a pulsed signal to indicate a non-smoke alarm condition that is of a duration that will not trigger the conventional smoke alarms. To allow for the transmission of multiple hazardous conditions alarm notifications, as well as the transmission of additional hazardous condition detector control signals, the communications protocol utilizes a multi-bit signal transmitted via the conventional single signal I/O wire of currently existing interconnect wiring. Through the use of an 8 bit alarm signal, multiple hazardous conditions may be signaled as well as operating modes such as test, hush, reset, low battery, etc. Also presented are smoke, carbon monoxide, and combination hazardous condition detectors that utilize the communications protocol presented herein.

So their protocol has two big features:

  1. Allows an 8-bit alarm-type indication to be expressed on the signal wire. This enables supporting interconnected devices to be able to detect such conditions as being distinct from a smoke alarm.
  2. Such non-smoke alarm indications are structured in such a way as to not cause dumb interconnected smoke alarms to sound when a non-smoke-alarm signal is expressed on the signal wire.

Unfortunately the patent does not include a table of codes and their associated meanings, other than 10100101 meaning a carbon-monoxide alarm. However, it does cover the basic theory of operation and protocol encoding. The information in the patent seems to cover more than enough to allow the sufficiently-motivated to reverse engineer any undocumented details.


Ideally we would have a device that would have the following connections:

  1. Interconnect Signal (RED)
  2. Interconnect Neutral (WHITE)
  3. Interconnect Hot (BLACK)
  4. Power: 0v DC (Ground)
  5. Power: 9v-14v DC (Power)
  6. Input: Trigger Smoke Siren (Active Low, high-z input)
  7. Output: Smoke/Fire Alarm (Open-Drain, Active Low, 20mA max)
  8. Output: Carbon Monoxide Alarm (Open-Drain, Active Low, 20mA max)
  9. Output: Trouble (Open-Drain, OK:Low, Trouble:Float, 20mA max)

Ultimately we have two zones: The hot zone and the safe zone.

Hot Zone

In the hot zone, we would have connections for the black, white, and red lines for the smoke alarms, as well as a small power supply using passive components that gives us 9v and 5v. We use the 5v output to power an ATTiny, which monitors the signal (RED) line. The ATTiny has three pins that it uses to drive optoisolators.

A lot less stuff needs to be on the hot zone side, largely because we need this thing to work properly when the power is out. That means the only power we can depend on is the 12v input. We will need to have some sort of isolated 9-12v to 9v power supply for signaling. If we are going to do that, we might as well have an op-amp input for the red wire, so that we can be high-z (safer).

Safe Zone

In the safe zone, we have connections for a power supply input (9v-12v), as well as connections for three outputs and an input, which are connected to the optoisolators.

@ebo
Copy link

ebo commented Apr 13, 2020

will you be working on this? I would be interested in learning more and/or helping build it out. According to the patent office:

2020-04-12 Application status is Expired - Fee Related
2021-04-30 Adjusted expiration

Which means that it will expire in a year -- it was only granted in 2004, so we have another year.

That said, I think we can work on this without releasing it to the public until after next year. I may be able to find someone that deals with patent law and tell me what can and cannot be done.

@darconeous
Copy link
Author

darconeous commented Apr 13, 2020

Oh wow, I had forgotten about this gist.

I'm unlikely to be working on this anytime soon. I sure would like to have something like it, though! Feel free to carry the torch.

IANAL, but patents are weird and unfortunate things. Just about the worst thing you can do (from a legal perspective) is talk about them in public.

Again, IANAL. That being said, the key seems to be related to the claims. If you can work around the claims then you are theoretically good. But that doesn't mean they won't sue you anyway.

I once asked the lawyers at Dallas Semiconductor if they would consider me hacking together a 1-wire secondary/slave implementation on a microcontroller for my hobby work as infringement that they would take legal action against. If I remember correctly, the gist of their response was "yes, absolutely, so don't even think about it because we own those thoughts, too". Fun times.

@darconeous
Copy link
Author

For what it's worth, I ended up researching this info for my answer to this question.

@ebo
Copy link

ebo commented Apr 13, 2020

Thanks for the info. I'll look into this and maybe do something with it over the coming year -- if I have time considering all my OTHER projects...

Anyway, thanks again.

@mumbles1
Copy link

I think you all are making to much out of the whole patent thing. As long as your not manufacturing and selling a device on the market ….I’m pretty sure you’re safe. The protocol is not proprietary that you’re discussing here from what I can tell. Because the protocol is used across multiple manufacturers. since you’ve already determined that the protocol is 8bit anyone should be able to decode each sensors/device in a matter at seconds using a cheap logic analyzer or an Oscilloscope. and just triggering the sensor. at least thats what I plan to try as soon as I get some unused devices in my hands to test. By the way thanks for info about 8bit protocol.

@mumbles1
Copy link

upon further reading of the patent it appears only the 2nd 4bits are allocated for signaling. the first 4bits should always stay the same (e.g. first 4bits = 1010) They only allow themselves 16 possible message combinations. But patent does indicate they could change the protocol to be 16 bits(e.g. 8 bit control word and 8 bit message.)

@ebo
Copy link

ebo commented Jul 12, 2021

I had totally forgotten about this gist also ;-) Anyway, as of 2021-04-30 the patent office listed this as being expired, and you can legally hack to your hearts content. I would have to check with a lawyer though, but I think that also releasing code which implemented patented technology has also gotten people sued for patent infringement -- other people benefited from its use without them getting a cut of the pie. The odd thing is that they are likely to sell more devices to people that want to monitor them in a unified way... Anyway, thanks for getting back to this and for further information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment