Las variables globales sólo deben utilizarse para estados verdaderamente globales. Utilizar una variable global para representar algo como, por ejemplo, la latitud del límite norte del mapa, sólo funcionará si sólo puede haber un "límite norte del mapa". Si en el futuro el código tiene que trabajar con varios mapas que tienen diferentes límites septentrionales, el código que utiliza una variable global para el límite septentrional probablemente tendrá que ser reelaborado.
En las aplicaciones informáticas típicas, a menudo no hay ninguna razón en particular para suponer que nunca habrá más de uno de algo. Sin embargo, en los sistemas embebidos, estas suposiciones suelen ser mucho más razonables. Mientras que es posible que un programa informático típico tenga que dar soporte a varios usuarios simultáneos, la interfaz de usuario de un sistema embebido típico estará diseñada para ser utilizada por un único usuario que interactúe con sus botones y su pantalla. Como tal, en cualquier momento tendrá un único estado de interfaz de usuario. Diseñar el sistema para que varios usuarios puedan interactuar con varios teclados y pantallas requeriría mucha más complejidad y tardaría mucho más en implementarse que diseñarlo para un único usuario. Si el sistema nunca tiene que soportar múltiples usuarios, cualquier esfuerzo extra invertido para facilitar dicho uso será en vano. A menos que sea probable que se requiera soporte multiusuario, probablemente sería más inteligente arriesgarse a tener que descartar el código utilizado para una interfaz monousuario en el caso de que se requiera soporte multiusuario, que gastar tiempo extra añadiendo soporte multiusuario que probablemente nunca se necesitará.
Un factor relacionado con los sistemas embebidos es que en muchos casos (especialmente en lo que se refiere a interfaces de usuario), la única forma práctica de soportar tener más de una cosa sería utilizar múltiples hilos. En ausencia de alguna otra necesidad de multihilo, es probablemente mejor utilizar un diseño simple de un solo hilo que aumentar la complejidad del sistema con multihilos que probablemente nunca serán realmente necesarios. Si la adición de más de uno de algo requeriría un enorme rediseño del sistema de todos modos, no importará si también requiere reelaborar el uso de algunas variables globales.