Skip to main content

Profiles

Profiles are reusable configuration presets for ArmorLink firmware.

They are intended for hardware variants that share the same firmware shape but need different values, such as servo positions, GPIO pins, LED counts or faceplate timing.

Profile Target

A firmware declares which profile family it supports:

module.profileTarget("muehliindustries.armorlink.helmet.v1");

The target should be stable and specific enough to prevent incompatible profiles from being applied to the wrong firmware.

Recommended format:

vendor.product.device.schemaVersion

Example:

muehliindustries.armorlink.helmet.v1

Profile Name

A firmware can also expose the active/default profile name:

module.profileName("Iron Patriot Generic Helmet");

Setup tools can show this name and include it when saving or sharing a profile.

What Profiles Store

Profiles store configuration values, not firmware code.

Typical values:

  • Servo GPIOs
  • Servo open/closed positions
  • Pulse ranges
  • LED pins and counts
  • Brightness and color
  • Durations and delays
  • Feature toggles

Compatibility

A profile should only be applied when its target matches the firmware descriptor's profileTarget.

If firmware does not define a profile target, setup tools should not offer profile browsing or saving for that node.

App and Web Configurator

Profiles are most useful with the Web Node Configurator and community profile library:

  • Browse compatible profiles.
  • Import profile values into the connected node.
  • Save a working setup as a profile.
  • Submit board, servo or complete device profiles.

Summary

Profiles make hardware setup repeatable. The firmware defines a compatible target, and setup tools apply values through the standard Configuration API.