Skip to the content
2 layers70.9 × 45.6 mmGsmGuard, the printed circuit board in 3D

All-in-one Arduino GSM alarm system.

Size
70.9 × 45.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
51
Pads
129
Tracks, vias
422, 6
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
15 Dec 2019
Updated
5 Apr 2020

Overview

GsmGuard is an open-source printed circuit board by AlexIII, from the AlexIII/gsmGuard repository on GitHub, published under the MIT licence. It is a 2-layer board of 70.9 × 45.6 mm with 37 parts on 51 nets, routed with 422 tracks and 6 vias.

It is built around the SIM800C, MBR0520L-TP and 1N4148W, with the IRLML6401 among its other parts. Its parts include 14 resistors, 6 capacitors, 5 ICs, 5 diodes and 3 connectors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

readme.md

GsmGuard

A compact multi-purpose all-in-one open source GSM alarm system. Build on the base of Arduino Pro Mini and Arduino-compatible modules.

Features

Communication

The device sends an SMS on any alarm event and optionally a status report once a day. Why SMS and not internet service? SMS stays most reliable means of mobile communication in cases of poor signal quality, requires less energy and works directly without relying on central server (which needs to be maintained by someone and may present a security problem).

Example of an alarm SMS:

text
04.11.19 22:37
Movement detected

Example of a daily report SMS:

text
door: Closed [04.11.19 09:14] <-- date and time of last door open event
move: None [04.11.19 09:12] <-- date and time of last movement detection event
temp.: 28*C [min. 21*C, max. 28*C, mean 27*C] <-- current temperature and temperature statistics for the current day
light: 99% <-- current illumination level (0 to 100%)
bat.: 4.6v <-- current battery voltage
ext.1: 0 <-- current state of external sensor 1
ext.2: 0 <-- current state of external sensor 2

For every alarm event you can also enable a call to your phone or/and sound alarm.

Sensors

  • Door open sensor (magnetic reed switch)
  • Illumination level sensor (photoresistor)
  • Motion sensor (PIR sensor)
  • Temperature sensor (built-in DS3231)

Alarm events

  • Open door
  • Rapid illumination change
  • Motion detection
  • Too high or too low temperature
  • Low battery voltage

Power supply

Three AA batteries. Expected lifetime: 3 to 6 months.

Configuration and logging

The device can be connected to a PC via USB for configuration. Configuration program lets you set target phone number, time of daily SMS report, choose events that will be reported, a way of notification (SMS, call, sound alarm) and set time periods during which those events are being monitored. I.e. if you know that the room is being used during some hours in certain days of the week, you can disable the alarm for that period. It also shows the last 70 events with date and time and a temperature plot for the last 31 days (one measurement every 2 hours).

Localization

Currently supported languages (SMS and configuration program for PC): English, Russian.

Date format: dd/mm/yy

Temperature units: degrees Celsius

Assembling guide

Hardware

List of components

List of Arduino modules you will need:

  • Arduino Pro Mini 3.3v 8MHz (5v 16MHz is also acceptable, but requires different firmware)

  • MH-SR602 MINI Motion Sensor

  • SIM800C GSM Module
  • CP2102 MICRO USB to UART TTL Module
  • DS3231 RTC Module For Raspberry Pi

Other components

  • any >0.5A logic-level P-channel MOSFET in SOT-23

  • reed switch

  • buzzer 3 to 5v

  • electret microphone

  • photoresistor

  • resistors, capacitors

The schematics:

Important Note

Remove power LED or the resistor that goes in series with it from the Arduino board. Otherwise it will drain the batteries in a matter of few days. It is better to remove voltage regulator IC from the Arduino too, as it's not being used but still draws a little bit of current.

Giving out PCBs

I have 9 leftover PCBs of the first iteration that I can send via mail (for free). It's a first version, so it has some errors which you will need to fix with a cutter and a few jump wires. If you interested write me to

Software

Flashing Arduino

You can upload precompiled *.hex firmware to Arduino via xLoader. There's four firmware files available:

hex filedescription
gsmGuard-firmware-EN-8MHz.hex8MHz arduino, english SMS
gsmGuard-firmware-EN-16MHz.hex16MHz arduino, english SMS
gsmGuard-firmware-RU-8MHz.hex8MHz arduino, russian SMS
gsmGuard-firmware-RU-16MHz.hex16MHz arduino, russian SMS
Running configuration program
  • Windows

    Run gsmGuardConf_v1.0.exe. It requires no installation, but the unpacking process is rather slow, it may take 10-20 seconds to run.

  • Linux

    ~$ python2.7 gsmGuardConf.py

Usage notes

  • The device pauses its normal operation when it's connected to USB.
  • If the device failed to send an SMS, it will try again in 2 minutes, then again in 5, in 10, in 20, twice in 40 and then every 12 hours.
  • After a successful call the device will hang-up in 3 minutes.
  • The sound alarm will be on for 30 seconds.
  • Door, movement and light change events are not monitored for 20 minutes after the last reported event.
  • If the device's power was turned off for three hours, the temperature history gets erased.

Known issues

It looks like PIR sensors perform badly in cold temperature. Mine starts losing stability (frequent false tripping) when ambient temperature drops below +5 Celsius. I'm sure it havely depends on the particular model, though.

Project files

  • /config-util - PC configuration program. Python 2.7 + Tk + pyserial + matplotlib
  • /gsmGuard-firmware - Arduino firmware. In order to successfully compile it, you need to manually install these libs:
    1. RTCLib from https://github.com/NeiroNx/RTCLib (clone the repo or use version ABOVE v1.5.8 if such release exists)
  • /kicad-project - KiCAD schematics and board

License

MIT License © github.com/AlexIII

Parts

37
QtyValueFootprintReferences
84.7kResistors_SMD:R_1206R2, R3, R4, R5, R9, R12, R13, R14
40.1uFCapacitors_SMD:C_1206C1, C3, C5, C6
4MBR0520LTDiodes_SMD:D_SOD-123FD1, D2, D3, D4
21MResistors_SMD:R_1206R6, R8
21kResistors_SMD:R_1206R10, R11
11-300kOpto-Devices:Resistor_LDR_4.9x4.2_RM2.54R1
11000uF 6.3VCapacitors_THT:CP_Radial_D8.0mm_P3.50mmC2
11N4148WDiodes_SMD:D_SOD-123FD5
1300kResistors_SMD:R_1206R7
133uF 6.3VCapacitors_Tantalum_SMD:CP_Tantalum_Case-C_EIA-6032-28_ReflowC4
1ArduinoProMinicad:pro_miniU1
1BuzzerPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmBZ1
1Conn_01x02_FemalePin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ1
1Conn_01x03_MaleConnectors_Phoenix:PhoenixContact_MC-G_03x3.81mm_AngledJ2
1Conn_01x04_MaleConnectors_Phoenix:PhoenixContact_MC-G_04x3.81mm_AngledJ3
1IRLML6401TO_SOT_Packages_SMD:SOT-23Q1
1MH-SR602Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmU5
1MicrophonePin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmMK1
1RTC_DS3231Pin_Headers:Pin_Header_Straight_1x05_Pitch2.54mmU2
1SIM800Ccad:SIM800CU4
1SW_Reedcad:reed-1SW1
1USB_UARTPin_Headers:Pin_Header_Straight_1x06_Pitch2.54mmU3

Similar boards

  • 2 layers43.2 × 58.4 mmNivelesDeNivelesSensor, the printed circuit board in 3D

    NivelesDeNivelesSensor

    notaroomba/nivelesdeniveles

    An early warning application made with React Native.

    6 parts2
  • 4 layers48 × 50 mmTheftShield Tracker, the printed circuit board in 3D

    TheftShield Tracker

    tor1kk/TS_Tracker

    GPS tracker with SMS communication

    73 parts3GPL-3.0
  • 2 layers98.8 × 79 mmGenv01 2, the printed circuit board in 3D

    Genv01 2

    dimipapr/TalkyPump

    The legacy v1 firmware is preserved under archive/ as a behavioral reference.

    38 parts
  • 4 layers75 × 65 mmCam, the printed circuit board in 3D

    Cam

    elktownlabs/murgcam

    Autonomous, time-based, low power still camera

    116 parts
  • 2 layers90 × 90 mmLoRa MuPr VAF4751, the printed circuit board in 3D

    LoRa MuPr VAF4751

    FTHGL/LoRa_MuPr-VAF4751

    Multiprotocol LoRa Mesh

    81 parts

Questions

How big is the GsmGuard PCB?

It measures 70.9 × 45.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the GsmGuard use?

37 parts, built around the SIM800C, MBR0520L-TP, 1N4148W and IRLML6401. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the GsmGuard KiCad files?

From the AlexIII/gsmGuard repository on GitHub, at the commit this page was made from: the board is kicad-project/gsmGuard.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the GsmGuard design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).