Creating a link between an arduino and a First Alert OneLink

I am attempting to create a connection between my One Link smoke alarm network and an arduino by using an old one link alarm as a bridge to the arduino. I have located two connectors on the one link board that say RS232 in and RS232 Out. However, they do not appear to have the standard 12v on them. When the alarm is sounding, the out pin reads about 6mV between itself and ground. I am trying to figure out a way to signal the arduino using this voltage. The other option would be to utilize the alarm speaker connection which I have disconnected from the speaker. That appears to send a pulse at a specific frequency to make the speaker alarm at a certain tone. Is there any chance of connecting that to the arduino and triggering an action. I don't want to experiment with connections as I don't want to fry my arduino. I have enough understanding of electricity and circuits to learn more, but not enough to know exactly how to make this work right now. Ultimately I would like to have the arduino send an email to me if the alarms sound. I just need to get the signaling part down and then I will start to investigate the code. Thanks for any help you can provide.

Scott

I have located two connectors on the one link board...

Nine pin connectors?

[quote author=Coding Badly link=msg=2047620 date=1421525848] Nine pin connectors?

[/quote]

No, Single pins. A single "in" and a single "out".

Here is a photo.

EDIT: Turns out that the lower contact marked R53 sends a clear voltage fluctuation from 0 to 3v during an alarm state. It spikes to 3v, then pulsates slightly with the LED illumination a couple times over 2 seconds and then drops sharply to 0 for one second then repeats. This gives a nice signal to work with.

Is the One Link hard-wired or battery operated?

When the alarm is sounding, the out pin reads about 6mV between itself and ground.

Ground? Earth ground? The bare copper conductor in the house wiring?

[quote author=Coding Badly link=msg=2047640 date=1421526703] Is the One Link hard-wired or battery operated?

Ground? Earth ground? The bare copper conductor in the house wiring?

[/quote]

Battery operated 2xAA. Grounded to battery negative.

EDIT: I found that I am able to connect the 3.3v output from the arduino to the alarm and then connect the arduino GDN to the alarm to eliminate the battery and establish a common ground for testing.

Are the “RS-232” points connected to anything outside the case?

From what I can tell, ONELINKs are wireless. Is that true for this one?

How are you measuring the voltage?

No, they are not connected to anything. Just empty points on the board. This is a wireless alarm that interlinks with all the other alarms. I am measuring voltage with a multimeter between the RS232 pin and ground. When the alarm is on standby it reads 0 volts. When I press the test button, I get a reading that jumps to roughly 6mV and then back to 0 a few times while the alarm is sounding.

You need the baud rate. Also, you really need to know if it is TTL RS-232 or something else (like +/- 9V RS-232) If it says RS-232 it is likely NOT TTL serial, and more likely +/-9V or +/- 12V RS-232. It it is, the + and - signals would be added together by the RMS circuitry in the meter and would read close to 0 V. It is probably sending a command prompt or a single character (ASCII). Is there any way you can get a scope to look at the signal ?

if you have access to the speaker, then you have a viable signal. connect that to the base of a transistor or better yet an FET. that would limit the power consumed. create a simple R/C circuit. since you control the power and voltage in that circuit, you can connect it directly to a pin without burning anything.

dave-in-nj: if you have access to the speaker, then you have a viable signal. connect that to the base of a transistor or better yet an FET. that would limit the power consumed. create a simple R/C circuit. since you control the power and voltage in that circuit, you can connect it directly to a pin without burning anything.

Thanks. Would I be using the analog pins in that case? Are you recommending that the circuit just open and close the connection between one of the Arduino pins and ground and I detect that to trigger a script? I don't fully understand everything you wrote. What do you mean by an R/C circuit? I have a basic understanding of this stuff and am learning. So thanks for your help and patience.

I found a great little project that turns the Arduino into an oscilloscope. I was able to use it to probe various locations on the board during an alarm state and see the results and get an analogRead() value. From here I now need to detect that value and add code to send an email.

Thanks for all of the help.

Could you link that scope project please?

Marmotjr: Could you link that scope project please?

Sure...

http://www.instructables.com/id/Arduino-Improved-Poor-Mans-Oscilloscope/

Also, take a look at the code variation I posted in the comments.

I'll post some final results when I get the OneLink project done.

Thanks Scott!