POS Simulator
AvailableBoot a real Android terminal in an emulator — a PAX, Ingenico, Sunmi, Verifone or Kozen device with its own screen, memory, peripherals and spoofed build identity — and run your payment app against it without the hardware on your desk.
Overview
The POS Simulator boots an Android Virtual Device shaped like a specific payment terminal. You pick a vendor, model and variant; the simulator creates the AVD, applies the device’s screen, memory and peripheral profile, spoofs its ro.product.* build identity, and powers it on. Your APK then runs believing it is on that terminal.
It is a development and debugging rig, not a certification tool — but it is the real Android emulator underneath, so the app under test behaves as it would on the device.

Terminal Catalog
PAX, Ingenico, Kozen, Newland, Sunmi, Verifone, NexGo, Castles and Telpo models, plus generic shapes, each with its own variants.
Real Emulator Hardware
Memory, display, graphics, input, cameras and sensors written straight into the AVD’s config.ini.
Spoofed Identity
ro.product.manufacturer, brand, model, device and name set to the target terminal’s values.
Peripheral Profile
Thermal printer, barcode scanner and PIN entry device described per model — dots per line, paper width, PIN block formats.
Prerequisite Checks
SDK, emulator binary, command-line tools, adb, system image and host ABI all validated before boot.
Card Source
Software card profile, a real card through a PC/SC reader, or a serial link — configured per terminal.
Quick Start
- Create a terminal profile — Open
POS Simulatorand add a profile in the left rail. - Pick the device — On the Device tab choose a manufacturer, a model, and the variant matching the unit you are targeting.
- Adjust hardware if needed — The Hardware tab carries the model’s defaults; override only what you need.
- Point at your SDK — On System & Boot confirm the Android SDK, system image and AVD name.
- Launch — Launch POS Simulator opens the terminal window. Check the green prerequisites list, then Power on — the AVD is created if needed, booted, and given the device identity.
- Install your app — Install APK… pushes your build onto the running terminal.
Boot is fastest when the system image ABI matches your host — the prerequisites list reports arm64-v8a — hardware accelerated when it does.
Device Tab
The Device tab picks which terminal the emulator will pretend to be. It has four parts: a Vendor filter with a model/variant/SKU search, the Model grid, the Variant chooser, and a Resolved device summary of what the AVD will actually be built from.

Vendors in the catalog
PAX, Ingenico, Kozen, Newland, Sunmi, Verifone, NexGo, Castles Technology, Telpo, plus two generic shapes — a 720×1440 Android terminal and a 480×480 square one.
Variants
Variants of one model differ in screen, memory, peripherals or Android version. Each carries a confidence badge:
| Badge | Meaning |
|---|---|
| Verified | The numbers came from a real adb probe against the hardware. |
| Unverified | Derived from a datasheet. Vendors publish “5″ HD” and rarely the exact pixel dimensions or density bucket, so these are flagged rather than presented as fact. |
| Hardware only | The model has a hardware profile but no payment-SDK integration yet. |
Hardware Tab
Every control here writes an actual key into the AVD’s config.ini, driven by the emulator’s own hardware-properties.ini schema — the property name sits under each label so you can see exactly what is being set. Values come from the selected model; anything you change is stored as an override and can be reset. A validation strip at the top of the tab reports problems at edit time rather than as a failed boot ten minutes later.






Some changes can be patched into an existing AVD; others force a destructive recreate. The tab tells you which before you commit.
Peripherals Tab
What the terminal has bolted to it, beyond the Android hardware. The model supplies these; the tab lets you confirm or override them.
System & Boot Tab
Where the Android toolchain lives and how the AVD boots.
google_apis) and ABI, checked against the host ABI so you know whether boot will be hardware accelerated.-no-window), writable /system and SELinux permissive.ro.product.manufacturer, brand, model, device and name values applied after boot — what an app reads when it asks which terminal it is running on.Card & Host Tab
Where card data comes from, and where transactions are meant to go.
The acquirer host fields are stored on the profile, but the terminal does not yet send ISO 8583 to them — that arrives with the ISO 8583 uplink milestone. To exercise a host today, drive the Host Simulator directly.
The Terminal Window
Launch POS Simulator opens the terminal itself. Two tabs are live today; the rest are placeholders that name what they will hold and which milestone brings them.
| Tab | State | What it holds |
|---|---|---|
| Device | Live | Power on / Prepare AVD / Install APK, the prerequisites checklist, the resolved device summary and the spoofed identity. |
| Card | Live | The card the terminal will present, from the configured card source. |
| SDK Trace | Pending | Every DAL call the payment app makes — interface, method, arguments, latency, result — with the matching APDU exchange beside it. |
| PIN Pad | Pending | Soft keypad, PIN block format selector, and the live clear block, encrypted block, KSN and KCV. |
| Receipts | Pending | A thermal-paper roll rendering what the app printed, at this device’s dots per line, with paper-out and overheat fault injection. |
| Scanner | Pending | Barcode injection into the running app, with presets, history and a queue for scripted runs. |
| Transactions | Pending | Completed transactions with their EMV tags and the ISO 8583 request and response that carried them. |
| Scenarios | Pending | Fault injection — card yanked mid-transaction, comm errors, PIN timeout, paper out, host no-response — plus scripted runs with deterministic replay. |
| Logs | Pending | Boot log, bridge frames and DAL calls in the shared log panel with filtering and auto-scroll. |
For chip-level cryptogram and TLV work today, pair the terminal with the APDU Simulator and the EMV & Card Tools.