Self-service checkout system
A self-service checkout kiosk to replace our student guild's decade-old system: Flutter on a Raspberry Pi, RFID login and a barcode scanner.

Juho Torkkeli

Overview & background
Our student guild’s self-service checkout has served the guild for over a decade. Its age and outdated technology have made it harder and harder to maintain.
With the guild’s webmaster team, we started planning a replacement. I had already experimented with running Flutter directly on a Raspberry Pi, and the results looked promising.
The goal was a checkout that is easier to maintain and extend, and that keeps personal balance tracking.
Development process
We got a touch display and started testing how Flutter performed on it. It ran very smoothly, so I was given the job of designing the kiosk’s physical structure.
I planned the frame around 2020 aluminum extrusion (20 × 20 mm profiles). The design changed as I worked on the 3D model. The profile system makes it easy to mount panels and leaves enough room inside for power supplies and other electronics.
I built a 12 V power system for the device, which now has speakers, LEDs, an RFID reader, a barcode scanner and a touch display. Users identify themselves with RFID tags and buy items from their account balance, and every transaction is recorded for traceability.
Once the frame prototype was in place, we designed a simple user interface for it.
Outcome
- A working device where users can browse a product list or scan items with the barcode scanner and pay on their own.
- RFID login, which links every transaction to the user’s account.
Next steps
- Use the internal space better and tidy up the cable management for better reliability.
- Add lights that react to system events, for clearer feedback to the user.
Technologies & tools
- Dart / Flutter
- Raspberry Pi