Elk M1 Hacking

The Elk M1 Gold alarm system is pretty neat. It includes an RS-485 bus to connect to the alarm system keypads, as well as “zone expanders” for additional input zones in groups of 16 and out zone expanders.

The driving force is a desire to get access to the RS-485 bus to simulate additional input zones for the alarm system to monitor. The state of these zones would be able to be set or accessed via some sort of TCP/IP interconnection, probably using a Wi-Fi link layer.

The Teensy 3.1 has a bunch of I/O pins, and a diagram is reproduced here for quick and easy reference. The I/O pins are 5-volt tolerant, though the Teensy is nominal 3.3 volt I/O levels.

Teensy Pin Logical Function Pin Usage
(left side)
1 GND Ground
2 D0/RX1 RS-485 receive
3 D1/TX1 RS-485 transmit
4 D2 RS-485 direction
5 D3 OLED SCLK (DO)
6 D4 OLED MOSI (D1)
7 D5 (TX1)OLED D/C (DC)
8 D6 OLED CS* (CS)
9 D7/RX3 GPS receive
10 D8/TX3 GPS transmit
11 D9/RX2 ESP-8266 receive
12 D10/TX2 ESP-8266 transmit
13 D11 ESP-8266 reset
14 D12 OLED Reset* (RES)
(right side)
15 D13/LED
16 D14/A0
17 D15/A1
18 D16/A2 (alt SCL0)
19 D17/A3 (alt SDA0)
20 D18/A4/SCL0 reserved for I2C peripheral expansion
21 D19/A5/SDA0 reserved for I2C peripheral expansion
22 D20/A6
23 D21/A7 (RX1)
24 D22/A8
25 D23/A9
26 3.3v (100mA max)
27 AGND Analog Ground
28 Vin 3.7v-5.5v Input