Point-of-sale technology has undergone a fundamental transformation over the past decade. Legacy POS terminals — those chunky, single-purpose devices running proprietary firmware — are rapidly being replaced by modern Android-based devices that offer flexibility, app ecosystems, and dramatically lower total cost of ownership. However, building a production-grade Android POS application is an entirely different discipline from standard mobile app development. It demands deep expertise in Android Open Source Project (AOSP) customization, EMV payment certification, hardware abstraction layers, and PCI DSS security compliance — a combination of skills that very few engineering teams possess.
This case study details how our team at ESS ENN Associates partnered with a Singapore-based payment solutions company to deliver a full-stack Android POS ecosystem — from the operating system layer through the payment application to the cloud-based merchant management portal — powering 25,000+ devices across eight Southeast Asian countries.
Our client is a Singapore-headquartered payment solutions company that designs and manufactures custom Android-based POS terminals. Their product line includes two form factors: a countertop POS terminal designed for retail and food & beverage (F&B) environments, and a ruggedized handheld POS device built for logistics, field service, and mobile retail applications across the Southeast Asian market.
The company had already secured hardware manufacturing partnerships and regulatory approvals across Singapore, Malaysia, Thailand, Indonesia, the Philippines, Vietnam, Myanmar, and Cambodia. What they needed was a technology partner capable of building the entire software stack — from the custom Android operating system to the certified payment application to the backend infrastructure that would manage a fleet of tens of thousands of devices. They had previously worked with two development vendors who were unable to navigate the complexity of AOSP customization combined with EMV payment certification, and they came to ESS ENN Associates with an aggressive 24-week timeline and non-negotiable quality requirements.
The scope of this project was comprehensive, spanning multiple engineering disciplines that rarely intersect in a single engagement. The core challenges included:
The interdependencies between these requirements made the project exceptionally complex. For example, the thermal printer driver needed to operate within the security constraints imposed by PCI DSS policies, the offline payment queue needed to maintain EMV compliance even when operating in store-and-forward mode, and the MDM system needed to push configuration updates without disrupting active payment transactions.
We assembled an 8-engineer team with deep specialization across the required disciplines: three Android platform engineers with AOSP experience, two application developers specializing in Kotlin and Jetpack Compose, one payment systems engineer with EMV certification experience, one backend engineer for the cloud infrastructure and merchant portal, and one QA engineer with hardware-in-the-loop testing expertise. The engagement was structured as a 24-week delivery, broken into four phases: OS and HAL development, payment application and peripheral integration, backend and MDM, and certification and deployment.
Our technology choices were driven by the specific requirements of POS device development, which differ substantially from standard mobile application development:
This architecture allowed us to maintain a clean separation between the platform layer (AOSP + HAL), the application layer (payment app + merchant UI), and the cloud layer (backend + portal), which proved essential for managing the complexity of the project and enabling parallel workstreams across the team.
The technical implementation spanned the full depth of the Android stack, from kernel-level device drivers to cloud-based fleet management. Here is how we approached each critical subsystem:
AOSP Customization and System Hardening
We built a custom SystemUI that replaced the standard Android navigation paradigm with a POS-optimized interface. The navigation bar was disabled entirely, replaced by a persistent kiosk launcher that presented only the payment application and approved merchant tools. We implemented custom SELinux policies that enforced PCI DSS requirements at the operating system level — preventing unauthorized inter-process communication, restricting file system access, and ensuring that payment card data could never be written to unencrypted storage. The boot sequence was optimized to bring the device from cold start to transaction-ready state in under 12 seconds, achieved through aggressive service trimming, lazy initialization of non-critical components, and a custom boot animation that masked the remaining startup time.
Payment Flow Architecture
The payment transaction flow was engineered for speed and reliability. When a customer presents a payment card, the system follows a tightly orchestrated sequence: card detection (via NFC antenna, chip reader, or magnetic stripe) triggers the EMV kernel, which performs card authentication and risk assessment according to the card scheme's specifications. The transaction is then submitted for online authorization via ISO 8583 messaging to the acquiring bank's host, and upon approval, a receipt is immediately rendered and sent to the thermal printer. The entire flow — from card insertion to printed receipt — was benchmarked at under 3 seconds in production conditions.
NFC and Contactless Payment Support
The NFC subsystem supported all major contactless payment protocols prevalent in the Southeast Asian market: Visa payWave, Mastercard PayPass, UnionPay QuickPass, and NETS (Singapore's domestic payment network). Each protocol required specific kernel configuration and certification testing, and we worked closely with the card scheme test laboratories to achieve certification across all four protocols within the project timeline.
Offline Transaction Processing
For markets with unreliable connectivity — particularly Myanmar, Cambodia, and rural areas across the region — we implemented a robust offline transaction processing system. Transactions processed offline were stored in an encrypted SQLite database with a queue management system that automatically synchronized with the backend when connectivity was restored. The sync engine included conflict resolution logic for handling edge cases such as duplicate submissions, partial uploads, and server-side rejections. Risk management rules governed which transactions could be approved offline, with configurable floor limits, velocity checks, and merchant-level risk parameters.
Thermal Printer Integration
The thermal printer subsystem was implemented as a custom AIDL (Android Interface Definition Language) service that managed print job queuing, bitmap rendering, and hardware communication. The receipt template engine supported multilingual output — English, Chinese (simplified and traditional), Malay, and Thai — with correct character encoding, right-to-left text handling for certain contexts, and dynamic layout adjustment based on content length. Merchant logos were rendered as bitmaps with dithering optimized for the 58mm thermal printer's resolution, and QR codes for digital receipt links were generated inline.
Mobile Device Management
We built a custom device policy controller that extended Android's standard device administration framework with POS-specific capabilities. The MDM system supported remote wipe (both selective and full), over-the-air application updates with staged rollouts and automatic rollback on failure, configuration push for merchant settings and payment parameters, and geofencing that could trigger alerts when devices were moved outside their assigned operating areas. The MDM dashboard provided real-time visibility into device health, battery levels, connectivity status, and transaction throughput across the entire fleet.
Security and PCI Compliance
Security was architected into every layer of the system. The device achieved PCI PTS POI compliance through a combination of hardware tamper detection (provided by the device manufacturer) and our software-level protections. All card data was encrypted using point-to-point encryption (P2PE) from the moment of capture, with encryption keys stored in the device's hardware secure element. Network communication used TLS 1.3 exclusively, with certificate pinning to prevent man-in-the-middle attacks. Comprehensive audit logging captured every security-relevant event for compliance reporting. Our QA and security testing process included penetration testing, static code analysis, and formal PCI DSS assessment preparation.
"The ESS ENN team delivered a complete POS ecosystem — from the Android OS layer to the payment application to the backend portal. The quality of their AOSP work and payment integration rivaled what we'd seen from Tier-1 POS manufacturers."
— CEO, Payment Solutions Company (Singapore)
The project was delivered on schedule within the 24-week timeline, and the results exceeded the client's performance targets across every measurable dimension:
Beyond the quantitative metrics, the platform's architecture positioned our client to compete effectively against established POS manufacturers in the Southeast Asian market. The modular design of both the AOSP build and the application layer means that new payment schemes, peripheral devices, and regional requirements can be integrated without fundamental architectural changes — a critical advantage in a rapidly evolving payments landscape.
This engagement reinforced several important principles that apply broadly to Android POS development and embedded payment systems — lessons that we believe are valuable for any organization considering building or customizing POS hardware and software.
AOSP customization for POS requires rare expertise. Building a commercial-grade Android operating system for POS devices is fundamentally different from standard Android application development. It requires deep understanding of Android internals — the init process, service manager, Binder IPC, SELinux policy authoring, and hardware abstraction layers. Engineers who excel at building Play Store applications rarely have this skillset, and vice versa. We staffed this project with platform engineers who had prior experience with AOSP builds for embedded devices, and that specialization was essential to meeting the timeline.
EMV payment certification is a marathon, not a sprint. EMV Level 2 certification is a rigorous, time-consuming process that involves detailed test scripts from each card scheme (Visa, Mastercard, UnionPay, etc.), multiple rounds of testing at accredited laboratories, and meticulous documentation. We started the certification process in week 4 of the engagement — running certification test cases in parallel with feature development — and the final certifications were received in week 22. Organizations that treat certification as a post-development activity routinely experience 3-6 month delays.
Offline capability is not optional in emerging markets. Connectivity in Southeast Asia is inconsistent, particularly outside major urban centers. Our store-and-forward architecture was invoked far more frequently than the client originally anticipated — not just during major outages, but during routine connectivity gaps that lasted anywhere from seconds to hours. The investment in robust offline processing with intelligent sync and conflict resolution proved to be one of the most valuable features of the entire platform.
Thermal printer performance directly impacts perceived transaction speed. An often-overlooked aspect of POS user experience is receipt printing speed. We discovered during early testing that a naive implementation of receipt rendering could add 2-3 seconds to the transaction time, negating the speed gains achieved in the payment processing pipeline. By pre-rendering receipt templates, optimizing bitmap compression for the thermal print head, and implementing asynchronous print job queuing, we reduced print time to under 800 milliseconds for a standard receipt.
Fleet MDM must be architected from day one. When managing tens of thousands of devices across multiple countries, the ability to remotely configure, update, diagnose, and recover devices is not a nice-to-have — it is a fundamental operational requirement. We have seen other POS deployments that attempted to add MDM capabilities after launch, and the retrofitting effort was invariably more expensive and less effective than building it into the platform architecture from the start. Our MDM system saved the client an estimated $2.1M annually in reduced technician dispatches alone.
If your organization is developing custom Android-based POS terminals, handheld payment devices, or embedded commercial hardware, our mobile and Android development team and product engineering practice bring the specialized expertise required to deliver production-grade solutions. Contact us to discuss your requirements.
From AOSP customization and EMV payment certification to fleet MDM and cloud backend — our team delivers production-grade POS solutions for payment hardware manufacturers and fintech companies worldwide.




