The Kerberos Programmable Burglar Alarm System
2021-11-13, 11:30–12:00, Room 1

Kerberos is a highly-flexible burglar alarm system for the Raspberry Pi.
It is configurable through a domain-specific language
and arbitrary C functions.
It was originally designed and implemented to run under FreeBSD using
the pbio(4) 8255 parallel peripheral interface basic I/O driver,
with an interface such as the Advantech PCL-724 Digital I/O Card.
It was later modified to run on a Raspberry Pi with the
Wiring Pi API.
In both cases a custom-built PCB interfaces the alarm system to
passive infrared (PIR), magnetic, and other sensors as well as
to actuators, such as sirens.


Kerberos is hosted as Free Software on GitHub. One set of simple and one set of more sophisticated example files are provided,
but the possibilities of what you can do are limitless.
Here are some ideas.

  • Kerberos can send notifications using cellular SMS, a voice modem,
    web push notifications, or email.
  • Kerberos can filter-out spurious movements.
  • Kerberos can warn you through a home appliance, such as Alexa,
    before it raises hell in the neighborhood.
  • Kerberos can automatically disarm based on IoT signals.
  • Kerberos can be operated and monitored through a web interface or a phone app.
  • Kerberos can automatically enter diverse states at specific times
    through cron(8) jobs.
  • Kerberos can enter diverse states based on movement patterns.
See also: Presentation

Diomidis Spinellis
— @CollSWEng on Twitter —
is a Professor of Software Engineering in the Department of Management Science and Technology at the Athens University of Economics and Business, Greece,
Professor of Software Analytics in the Department of Software Technology of the Delft University of Technology, and director of the Business Analytics Laboratory (BALab)
His research interests include software engineering, IT security, and cloud systems engineering.
He has written two award-winning, widely-translated books:
Code Reading and
Code Quality: The Open Source Perspective.
His most recent book is Effective Debugging: 66 Specific Ways to Debug Software and Systems.
Dr. Spinellis has also published more than 300 technical papers in journals and refereed conference proceedings, which have received more than 11500 citations.
He served for a decade as a member of the IEEE Software editorial board, authoring the regular “Tools of the Trade” column, and as the magazine's Editor-in-Chief over the period 2015–2018.
He has contributed code that ships with Apple’s macOS and BSD Unix and is the developer of git-issue, Cscout, UMLGraph, dgsh, and other open-source software packages, libraries, and tools.
He holds an MEng in Software Engineering and a PhD in Computer Science, both from Imperial College London.
Dr. Spinellis is a senior member of the ACM and the IEEE.
In a previous life he was four times winner of the International Obfuscated C Code Contest.
Nowadays he tries to keep his code boring.