Windows has quietly run most of the world's ATMs for decades. That era is ending — not overnight, but steadily — and the banks that plan the transition now will spend far less than the ones that wait until they're forced.
Why fleets are moving
Three pressures are pushing at once:
- The end-of-life treadmill. Every Windows version eventually loses support, and each cutoff turns into a fleet-wide, deadline-driven upgrade — often tied to a hardware refresh the bank didn't choose to make.
- Cost at scale. Per-terminal licensing across thousands of machines is a recurring line item that Linux, in particular, can dramatically reduce.
- Security and control. A leaner, purpose-built OS footprint means a smaller attack surface and more control over exactly what runs on an unattended cash machine.
The three-way future: Windows, Linux, Android
This isn't a simple one-to-one swap. Most estates are heading toward a mix. Linux is the natural destination for cost, control, security and longevity. Android is emerging as a genuine third option on newer, touch-first OEM hardware, bringing a familiar app model. And Windows won't vanish immediately — many fleets will run all three side by side for years while they transition.
The migration trap
Here's where OS-migration projects actually stall: the customer application. On most ATMs, the screens, transaction journeys and device integrations are built tightly to Windows. Migrating the OS then means rebuilding the application — and if you're targeting Linux and Android too, you're staring at maintaining two or three divergent codebases of the thing your customers actually touch. That cost and risk is what freezes decisions.
Write once, run across all three
The way out is to stop tying the application to the operating system. If your customer application — the journeys, the voice, the payments, the monitoring — runs unchanged across Windows, Linux and Android, then migration becomes a redeploy rather than a rewrite. The OS underneath turns into a deployment detail instead of a project in its own right. That's the design principle behind EdgeTerminal: one platform, one application, portable across all three targets, so your software investment survives the hardware and OS transition. (We looked at the security side of that in Why the ATM Deserves a Real Platform.)
A pragmatic migration path
Migration doesn't have to be a big-bang cutover. A sensible sequence:
- Decouple the application from the OS first, so it isn't Windows-bound.
- Pilot on Linux with a small group of machines and real transactions.
- Run a mixed fleet deliberately — Windows, Linux and Android in parallel — and keep the intelligence layer (monitoring, voice, payments) consistent across all of them.
- Validate, then roll out at the pace of your hardware refresh rather than a vendor's deadline.
The bottom line
The move off Windows is coming for every ATM estate — the only question is whether it happens on your schedule or someone else's. Banks that decouple the application from the OS turn a forced, expensive migration into a controlled, incremental one, and come out the other side on a foundation built for the next decade rather than the last one.