A lightweight, standalone scheduling board built with Python, Kivy, and SQLite (via SQLAlchemy), designed for a Raspberry Pi connected to a touchscreen. The app displays a monthly calendar view with tap-to-edit events, optimized for visibility and finger input. Great for home offices, studios, family schedules, or small business front desks.
- 📆 Monthly calendar view with tap-to-edit daily events
- 📱 Touchscreen-optimized UI using Kivy (large buttons, clean layout)
- 💾 Persistent event storage via SQLite and SQLAlchemy ORM
- ⚡ Auto-start on boot for kiosk-style use on Raspberry Pi
- 🌙 Future enhancements planned: theming, syncing, notification support
Full-screen calendar on a Raspberry Pi touchscreen with highlighted dates and event popups.
| Layer | Tech |
|---|---|
| UI | Kivy |
| Database | SQLite via SQLAlchemy |
| Hardware | Raspberry Pi 4/5 + Touchscreen |
| Language | Python 3 |
EventCalendar/
├── main.py # Entry point
├── /app/ # Theme manager, utils, API logic
├── /ui/ # Calendar view and popup components
├── /storage/ # DB connection and queries
├── /assets/ # Images, fonts, icons
├── README.md
├── requirements.txt
└── calendar.db # SQLite DB (auto-generated)
- Raspberry Pi OS (Lite or Full)
- Python 3.8+
- Kivy installed (
pip install kivy) - SQLAlchemy installed (
pip install sqlalchemy)
git clone https://github.com/bordanattila/EventCalendar.git
cd EventCalendar
Create & activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate
Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
Run the app
python main.py
🔁 Auto-Start on Boot (Optional) To launch on boot:
nano ~/.config/lxsession/LXDE-pi/autostart
Add:
@/usr/bin/python3 /home/pi/EventCalendar/main.py
🌟 Roadmap ✅ Themed UI (light, dark, custom)
✅ Weekly calendar view
🔄 Google Calendar sync (OAuth)
🔔 Event reminders / notifications
🧠 Natural language input (“Lunch with Sarah at 2PM”)
🤘 Author Attila Bordán
Engineer. Builder.

