Project tutorial
SERENA: Alarm Control Panel

SERENA: Alarm Control Panel © GPL3+

A 3-password alarm control panel, using a Bluetooth to arm.

  • 21 respects

Components and supplies

Apps and online services

Ide web
Arduino IDE
Microsoft Visual Studio 2015
Personally used 2017, no big difference...

About this project

1) Why did I make this?

As I've stated in my previous project, I've found a lot of alarm systems before and I wanted to try out to make my own. All fancy, with a good UI and some nice features.

The control panel uses an Arduino MEGA, a 3.2" LCD touchscreen, a real-time clock module (DS3231), a buzzer and a Bluetooth module (HC-05).

1b) Showcase Video

I explain some stuff in the video below. You can also see the interface and how the system works in general.

2) The alarm's functions.

The alarm uses 3 passwords:

  • A 4-digit password to arm the system (can be disabled).
  • A 5-digit password to partially disarm it (the system enters in auto-arm mode).
  • And a 6-digit password to completely disarm the system.

The system can auto-arm itself, in case you forget to arm it when you leave/arrive.

The 4-digit password can be disabled in the options menu (under the "Other Settings" sub-menu.

3) Powering the board.

When the board boots, the first thing you'll see is a "BIOS-like" screen. The board will check the time, date, temperature and the existence of an SD card. The program will then continue to the loading screen and will enter the main menu.

4) Options Menu

In the options menu, you can change all three passwords. You then have the options to save them on the device, on an SD card (optional), or both. The SD card is used in case the power goes off or a reset of the board occurs.

The real time clock is used of course, to show the time, date and temperature, which will be shown when the system is armed. Time and date can of course be adjusted in the options menu.

5a) Arming

As I've said above, the 4-digit password is used to arm the system, but it can be disabled if the user wants to. If it's enabled, every time the user wants to arm the system, the 4-digit password must be entered. Otherwise, the system will just arm without asking for the password.

When the system is armed, the user will see the same screen as in the image above. The date, time, temperature and the disarm button are visible (also, some snowflakes, but that is part of an upcoming seasons update).

5b) Auto-Arming

When the user wants to disarm the alarm, he/she must touch the disarm button and then enter the 5-digit password. When that password is entered correctly, the user will see a screen like this:

When the 5-digit password is entered, the system will enter the auto-arm mode, which will arm the system after the passing of "X" number of seconds, which can be adjusted by the user (default is 40 seconds). When that time passes, the system will be armed again.

5c) Completely disarming the system.

In order to completely disarm the system, the user must first enter the 5-digit password. After that, the system will enter the auto-arm state. To completely disarm the system, the user must press a pushbutton and the system will ask for the 6-digit password.

When the user enters the correct password, the system will exit the auto-arm state and will return to the main menu.

6a) Bluetooth Connection

The MEGA board is connected via Bluetooth to a NANO board. When the system is armed, the BT connected to the MEGA board will send a signal to the BT on the NANO board telling it that the system is armed. In the video below, I use an LED to simulate that process.

The NANO board can be used any way you like. Just take the signal generated from it and use it as you please. I personally use it to activate/deactivate a relay which arms the whole system.

6b) Bluetooth Disconnection

If at any moment the main board turns off and the two Bluetooth modules are disconnected, the system will auto-arm itself as a safety measure. Of course there are a lot of situations where we don't want that to happen, but at this version I wanted to implement that feature.

7) The program

In the GitHub repository, you'll find 3 folders: "Serena_ *version*", "Graphics" and "Security".

  • The "Serena_ *version*" folder contains the main .ino file, as well as the image files that appear in the program. It also contains the code for the NANO board (folder name: "slave").
  • The "Graphics" folder, contains the files that handle all the graphics that appear on-screen. It MUST be placed in Arduino's libraries folder: Documents/Arduino/Libraries.
  • The "Security" folder, contains the files that handle all password-related function, like setting the password, getting it and saving it to the SD card. It must also be placed in Arduino's libraries folder: Documents/Arduino/Libraries.

8) Future updates

Nothing's perfect. I constantly improve the program when I have time. Right now, I'm working on a visual update, where the user can see season-related graphics when the system is armed.

Feel free to make any suggestions, improvements. I really appreciate it when I have feedback.

That's all!

Thank you for taking the time to read about my project. Don't hesitate to leave any questions, suggestions in the comments below.


SERENA Alarm Control Panel
The Serena_(number) is the main program that is uploaded to the MEGA board. Inside the Serena_Test folder, there is a folder named "slave". It contains the code that must be uploaded to the NANO board. The repository also contains two folders, named "Graphics" and "Security". These folders must be placed in Documents/Arduino/Libraries.


Just a note, the screen just goes on top of the Arduino MEGA, I just have the component there, because it would block all the other wires. There are no special wires needed for this one, you just place the Shield with the screen on the board.
Sketch 83dzwtgnhj


Similar projects you might like

Arduino Alarm System: SERENA

Project tutorial by Michael Marinis

  • 16 respects

Android App-Based Home Automation System Using IOT

Project tutorial by Team Autoshack

  • 141 respects

Buzzer Alarm System With Help Of Arduino

by Team ONYX

  • 38 respects

Security System And Access Control With Arduino And RFID

Project tutorial by Sarath P

  • 1 comment
  • 24 respects

Health Kit: Humidity and Temperature Control

Project tutorial by Diana Khalipina

  • 50 respects

Laser Beam Alarm

Project in progress by Vrcg03 and mmgamitoc

  • 18 respects
Add projectSign up / Login