Esta plantilla de código abierto ofrece un punto de partida moderno y listo para producción para desarrollar aplicaciones en el dispositivo Flipper Zero utilizando el lenguaje de programación Zig, en lugar del C habitual del SDK oficial. El proyecto, publicado en GitHub por el usuario NishantJoshi00, resuelve una de las principales fricciones del desarrollo sobre esta plataforma: la integración entre el sistema de compilación de Zig y el kit de desarrollo de firmware de Flipper, que utiliza arquitectura ARM Cortex-M4.
La plantilla articula un proceso de compilación en dos etapas. En la primera, Zig compila el código fuente a un fichero objeto (.o) para la arquitectura thumb con CPU cortex-m4, ABI eabihf y optimización ReleaseSmall, lo que reduce el tamaño del binario final. En la segunda, la herramienta ufbt (Unofficial Flipper Build Tool) enlaza ese objeto con el SDK y lo empaqueta en un archivo .fap, el formato de aplicación nativo de Flipper Zero.
Entre sus características se incluyen el soporte nativo de Zig con seguridad en tiempo de compilación e interoperabilidad con C, una canalización automatizada con ufbt, compatibilidad con macOS, Linux y otras plataformas soportadas por Zig, configuración previa de rutas de inclusión y banderas del compilador para el SDK completo, y un script interactivo (zig build init) que solicita metadatos como el identificador de la aplicación, el nombre visible, la descripción y el autor. También incorpora comandos integrados para compilar (zig build), empaquetar (zig build fap) y desplegar (zig build launch) directamente al dispositivo mediante USB.
Los requisitos son Zig 0.15.1 o superior, Python 3 para ejecutar ufbt y el SDK de Flipper Zero, que se instala automáticamente en ~/.ufbt. El repositorio incluye un ejemplo "Hello World" que muestra el uso de las APIs principales de Flipper, como la apertura del registro GUI, la creación de viewports y el bucle de eventos con furi_thread_flags_wait.
La herramienta va dirigida a desarrolladores familiarizados con Zig que quieran crear firmware o utilidades para Sub-GHz, NFC, RFID, infrarrojo, GPIO, SPI, I2C o UART sin configurar manualmente la cadena de herramientas. Como limitación, algunas cabeceras del SDK no son traducibles por el importador de C de Zig, lo que obliga a declarar externamente funciones que usen uniones con tipos opacos. El proyecto es no oficial, no está afiliado a Flipper Devices Inc. y se distribuye bajo licencia MIT.
