
Yandi
archivedA Raspberry Pi print-queue kiosk for shared rooms — Qt/QML dashboard on an attached screen, with job submission over Bluetooth, Wi-Fi, and Ethernet.
What it does
Yandi is a local print-queue kiosk for multi-workstation rooms — a Raspberry Pi with an attached display acts as the hub, showing a live dashboard of incoming and active print jobs while accepting submissions from nearby machines over several transport links.
- Kiosk dashboard in Qt/QML — quick view, print history, logs, settings, and on-screen queue visibility
- Multi-path job submission — Bluetooth pairing, TCP over Wi-Fi/Ethernet, and NFC share flows
- PDF handling and printing — Poppler-based preview, printer discovery, driver download, and receipt decoration
- Room-scale connectivity — TCP server for LAN clients, Bluetooth interface for wireless enqueue, Flask helper for Wi-Fi provisioning on the Pi
Why I built it
A contract engagement to replace ad-hoc USB printing in a busy computer lab — the client needed a single visible queue, reliable local submission from dozens of machines, and a dashboard staff could glance at without logging into a server.
How it works
- Hardware: Raspberry Pi with attached touchscreen, running as an always-on local print hub
- UI: Qt Quick / QML — splash, quick-view dashboard, print history, logs, PDF viewer, and Bluetooth/NFC configuration popups
- Device layer: C++
PrinterInterface,BluetoothInterface,TcpServer,NfcInterface, andPopplerDocwired into QML - Supporting services: Python
Controller.py(Flask) for Wi-Fi scan/connect; JS modules for receipt processing and stats loading - Deployment: self-contained Pi appliance — local queue, on-screen status, and multi-link submission from room workstations
What I learned
A room-scale print hub is as much a UX problem as a networking one — the attached screen has to make queue state obvious at a distance, and submission has to work over whichever link a given machine actually has (Bluetooth vs Wi-Fi vs cable). Keeping everything local on the Pi avoids cloud dependency but makes concurrent job handling, driver management, and recovery worth designing upfront.