Payment Terminal Launcher & Cash-Register Bridge
Ceylon Business Appliances · 2026
An Android home-screen app for payment terminals. It limits the terminal to approved apps, downloads its settings remotely, and runs a bridge so the cash register can start a sale, void or settlement.
By W.K.D. Kavishka, Flutter & Android Developer
What I built
- Launcher built with Jetpack Compose in a multi-module Gradle project.
- Bridge service that takes commands over TCP sockets, USB serial and Bluetooth, with acknowledged message framing.
- Foreground service that starts on boot and restarts itself, with battery-optimisation handling.
- Remote settings download, so terminals can be reconfigured without a visit.
- Python test clients that drive every command over each connection.
- Related research: a Bluetooth SPP server that captures and decodes the ESC/POS print data a POS app sends to its printer.
Tech
- Kotlin
- Jetpack Compose
- Android
- Bluetooth
- USB serial
- TCP sockets
- RxJava
- ESC/POS