Industry
Use Case
Favorite Feature
An embedded systems vendor manufactures smart energy meters and edge gateways deployed in utility networks and industrial facilities. Traditionally, they shipped multiple hardware SKUs, each with a fixed set of firmware capabilities: a basic meter with standard metering functions, a premium meter with advanced analytics, and an enterprise gateway with full API access and edge computing capabilities. Each SKU required separate manufacturing, testing, and inventory management, creating supply chain complexity and leaving the vendor exposed to demand forecasting errors.
The vendor’s shift to a single universal hardware build with post-shipment software feature unlock delivers significant operational advantages. Devices are manufactured identically and shipped with core software; capabilities are unlocked remotely via NetLicensing when customers purchase upgrades. This reduces SKU complexity, eliminates stranded inventory, enables mid-life upsells, and supports dynamic licensing aligned with evolving customer needs.
The original multi-SKU approach created substantial operational friction:
Node-Locked License Model — device serial number or hardware ID serves as the unique Licensee identifier. Each device is registered in NetLicensing at manufacturing time, and feature entitlements are bound to that specific device. Multi-Feature License Model — granular per-capability entitlements. Rather than “Pro” vs. “Enterprise” tiers, capabilities are licensed individually: basic metering, advanced analytics, demand-response, API access, edge processing. Customers purchase combinations of features matching their operational needs.
Node-Locked Multi-Feature Architecture:
- Device serial: SN-2024-0045821
├─ Feature: Basic Metering (always included)
├─ Feature: Advanced Analytics (licensed, active)
├─ Feature: Demand Response (not licensed)
├─ Feature: API Access (licensed, active)
└─ Feature: Edge Processing (not licensed)
Customer upgrades → adds "Demand Response" → device re-validates
on next check-in → new feature available in firmware
Product & Module Setup:
BASIC_METERING — always included, no license requiredADVANCED_ANALYTICS — $500 one-time, unlocks data aggregation and trend analysisDEMAND_RESPONSE — $1000 one-time, enables automatic load sheddingAPI_ACCESS — $2000 one-time, remote device control and data query APIEDGE_PROCESSING — $3000 one-time, on-device ML model inferenceKey Parameters:
nodeSecretMode=PREDEFINED — device serial number is the node identifieractive=true — features are active immediately upon purchasenumber — feature name (e.g., ADVANCED_ANALYTICS)ASCII Configuration:
Product: SmartMeter
└── Module: Feature Access (Multi-Feature, Node-Locked)
├── Template: BASIC_METERING (included)
├── Template: ADVANCED_ANALYTICS ($500)
├── Template: DEMAND_RESPONSE ($1000)
├── Template: API_ACCESS ($2000)
└── Template: EDGE_PROCESSING ($3000)
Device SN-2024-0045821 Licenses:
├─ BASIC_METERING (auto)
├─ ADVANCED_ANALYTICS (purchased)
└─ API_ACCESS (purchased)
Integration Points:
GET /licensee/{serial_number}/validate to retrieve current feature entitlements.POST /licensee/{serial}/license to activate a feature template for that device.High-Level Flow:
Device manufactures
↓
Cloud platform registers device as NetLicensing Licensee
with node_secret = serial number
↓
Device deployed at customer site
↓
On next network connectivity:
GET /licensee/{serial}/validate
↓
NetLicensing returns active licenses:
[BASIC_METERING, ADVANCED_ANALYTICS, API_ACCESS]
↓
Device firmware applies feature flags:
if (license exists for ADVANCED_ANALYTICS) → enable_analytics_module()
if (license exists for DEMAND_RESPONSE) → skip_demand_response_module()
↓
Customer calls utility: "We need demand-response capability"
↓
Sales system: POST /licensee/{serial}/license
licenseTemplate=DEMAND_RESPONSE
↓
On next device check-in:
GET /licensee/{serial}/validate
↓
Response now includes DEMAND_RESPONSE
↓
Device firmware reloads feature flags
↓
Demand-response functionality immediately available
Each device is registered as a single NetLicensing Licensee, using the device serial number (or a composite ID like SERIAL_SN-2024-0045821) as the Licensee identifier. This binding is permanent and occurs at manufacturing time, before the device ships to any customer.
When a customer purchases a feature upgrade, the sales system calls the NetLicensing Management API to create a License for that feature under the device’s Licensee. On the device’s next periodic check-in (daily or weekly, depending on network connectivity), it retrieves the updated feature list and applies the changes locally.
For customer transfers (e.g., a device moves from Customer A to Customer B), the vendor calls the NetLicensing transfer API to reassign the Licensee ownership or creates a new Licensee record. This ensures accurate billing and entitlement tracking.
EDGE_PROCESSING license required). During update, device checks license before applying the update; if not licensed, update is skipped with a notification to the customer.
Industrial OEM: Monetizing Machine Features
An industrial OEM added software feature unlocks and usage-based licensing for PLCs and edge controllers.

OEM & Embedded Software Licensing
Distribute your software inside a hardware partner's product with device-bound entitlements and per-unit usage reporting