Skip to content
Raspberry Pi Alarm Clock with sunrise lighting, coffee machine control, physical snooze button, and Android companion app:
Python HTML JavaScript Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

LightUpPi Alarm

This is a Clock Alarm System for the Raspberry PiIt has sunrise lighting, coffee machine control, physical snooze button, and an Android companion app.

It has been modularised into the following packages:

  • LightUpAlarm: Completely independent Python package to manage alarms (create, edit, and delete Alarms; can execute a callback function on alarm alert).
  • LightUpHardware: Controls external hardware to complement the alarm alert, in this case it controls the room lights, mains socket switch, and snooze functionality from a physical button.
  • LightUpServer: Creates an HTTP server to interface with the LightUpAlarm system using a web interface or JSON (used in the LightUpDroid Android app).
  • LightUpWeb: Front-end web interface for the LightUpServer.

Additionally, an Android application can be used to interface with the LightUpPi Alarm system. For more information about this app please visit its repository: LightUpDroid Alarm

Installing LightUpPi Alarm

This application has been been develop to run a Raspberry Pi with Python 2.7. The project currently aims to maintain compatibility with Python 3.

Install the dependencies described below. Then download this repository, by clicking here or running the following in the command line:

git clone git://

Software Dependencies

You can see the project Python dependencies on the requirements.txt file.

More information about specific dependencies can be found in each package README:

Hardware Dependencies

This project uses the following hardware in addition to the Raspberry Pi:

Note that the LightUpAlarm package can be used independently as an alarm system software and does not require any additional hardware to run.

Running LightUpPi Alarm

There are three different ways to run LightUpPi Alarm:

  1. Using the command line interface only, by launching the application with the -c flag:

    python -c

    Instructions about how to use the CLI can be found in the LightUpAlarm package README.

    CLI interface
  2. Using the web interface only, designed to run on a headless system, by launching the program with the -s flag:

    python -s

    And then pointing your browser to the following adddress: http://<raspberrypi_ip>/LightUpPi.

    Web Interface

    You can also use the LightUpDroid app if the server is running.

    Clock Screen Alarms Screen Timepicker Screen Settings Screen

  3. Or having both the command line and the server interface running simultaneously, by launching the program with the -s flag:

    python -b


This project is licensed under The MIT License (MIT), a copy of which can be found in the LICENSE file.

You can’t perform that action at this time.