Automatic School Bell – sbell3

This project represents one of my earliest works, created while I was still in high school. I had the privilege to collaborate with my professor Igor Prša, who was also my mentor at the time. Many thanks to him for guiding me through my very first steps in the world of programming.

Empty Classroom with Wooden Desks and Windows

Introduction

The sbell3 application was developed to automate the process of signaling events within educational institutions. Traditionally, schools rely on manual or mechanical systems to announce the beginning and end of classes, breaks, and other activities. This application provides a modern, software-based solution that ensures accuracy, flexibility, and ease of use.

The project was coauthored by Alija Bobija and his high school professor Igor Prša, as part of an effort to combine practical school needs with technical expertise.

Written in C/C++ and Visual Basic .NET 2008, the application runs natively on Windows. On Linux systems, it operates reliably using the Wine compatibility layer, ensuring broad accessibility across platforms.

By clicking on the next link you can preview PDF version of this project (in Bosnian language):

Motivation

In many schools, ringing the bell remains a manual task or depends on outdated systems with limited flexibility. This can cause errors, inefficiency, and additional workload for staff. The sbell3 project was designed to:

  • Reduce human error in signaling school activities.
  • Provide a flexible and customizable scheduling system.
  • Improve school organization by integrating announcements, schedules, and multimedia playback into a single platform.
  • Enable possible extensions to external hardware and networked systems.

The guiding principle during development was simplicity of use combined with powerful features.

System Architecture

The sbell3 application consists of several core modules:

Architecture of sbell3
  1. User Interface (Control Panel):
    Provides access to all features through three sections: Basic, Advanced, and About.
  2. Basic Section:
    • Create new schedules, announcements, calendars, or playlists through step-by-step wizards.
    • Manage active items (choose which schedule or announcement is currently in use).
    • Configure playback and sound system options.
  3. Advanced Section:
    • Work Control: Start, restart, or stop the system in real time.
    • Diagnostics: Monitor service logs and review active configurations.
    • User Actions: Define custom actions (e.g., playing a video on a projector during a break).
  4. Data Management:
    Stores schedules, holidays, announcements, and playlists in text-based configuration files, ensuring reusability and easy editing.
  5. Hardware Interaction:
    Supports multiple communication interfaces (parallel port, serial port, USB) to control relays, microcontrollers, or external devices in addition to sound playback.

Implementation and Usage

Upon launching, users are greeted by a control panel.

Control Panel of sbell3

From here they can:

  • Create schedules with flexible definitions of class duration, breaks, and shifts.
  • Add announcements with sound files (MP3, WAV, WMA) for specific days or times.
  • Set calendars to define non-working days, holidays, or longer periods such as vacations.
  • Build playlists for music playback during breaks.
  • Customize user actions to trigger multimedia or hardware operations.

Playback is managed by external players such as MPlayer (default) or Winamp, ensuring compatibility with various media formats.

The system logs all activity for transparency and reliability, while diagnostics provide insight into real-time operations.

On Linux, sbell3 is executed using Wine, enabling it to function almost identically to its Windows environment.

Future Development

Although initially intended for school bell automation, the project has been designed with expandability in mind. Planned extensions include:

  • Broader hardware control via USB/serial interfaces, enabling automation of lighting, ventilation, and other devices.
  • Networking support, allowing multiple computers running sbell3 to synchronize, thereby automating entire school buildings.
  • Remote monitoring and control via the internet, providing administrators access from anywhere in the world.

This vision moves sbell3 beyond a school bell system toward a comprehensive building automation platform.

Conclusion

The sbell3 application demonstrates how software solutions can modernize traditional school operations. It combines reliability, flexibility, and simplicity to create a system that reduces workload, eliminates errors, and improves the daily rhythm of educational institutions.

Its modular architecture, hardware support, and future development potential highlight sbell3 not only as an automation tool for school bells but also as a stepping stone toward broader institutional automation.

The project also reflects the successful collaboration between a student and his professor, showcasing the value of mentorship in technical education.

Gallery

Leave a Reply

Your email address will not be published. Required fields are marked *