Gnoke Skins: Every Device Already Has a Face. It Just Hasn't Rendered Yet.
Description and use
Gnoke-Skins is a solution for creating custom UIs on any device exposing JSON data. Instead of complex firmware for each device, a browser-based 'skin' is used, allowing rapid UI iteration without changing the hardware. This reduces the cost of industrial control panels and simplifies device configuration.
Problem
Industrial and consumer hardware devices possess rich internal state (signal strength, battery, temperature, duty cycle) but lack a human-readable interface. Standard HMI panels are expensive ($15,000+), proprietary, and locked-in. Users often struggle to configure devices (e.g., MiFi routers) because they must access IP addresses via laptops or phones, which is inconvenient, especially during outages.
Outcome
Gnoke-Skins provides a decoupled UI layer for any hardware exposing JSON. By using a single config.js and index.html, users can render custom interfaces on devices ranging from MiFi routers to industrial PWM controllers. This eliminates the need for expensive proprietary HMIs and allows manufacturers to iterate on the frontend without firmware updates.
Workflow
- Ensure the device exposes a JSON endpoint.
- Create a 'config.js' file to map device keys to UI elements and define presets.
- Create a single 'index.html' skin file containing pure display logic.
- Implement a firmware bridge (device-specific work) to serve the JSON and render the skin.
- Deploy the skin to the device's screen (e.g., via Web Serial/Bluetooth) or a browser.
- Navigate the interface using physical buttons or touch inputs.
Evidence
A standard industrial HMI panel setup costs $15,000 once you add the proprietary OS, the vendor lock-in, the license fees.
Most MiFi users never change their factory default SSID. Not because they don't want to — because 192.168.1.1 gets in the way.
The firmware bridge is the only device-specific work. Everything else is reusable. One integration per hardware model — after that, every future UI is a skin change, not a firmware project.
- Record date: 2026-09-07T17:22:56.857Z