Skip to main content

Gateway

Every ArmorLink network has exactly one Gateway.

For small projects, the Gateway may be the only module in the system.

For larger projects, the Gateway acts as the central coordinator that connects and manages all other modules.

The Gateway is responsible for command routing, module discovery, pairing and communication with the ArmorLink mobile application.

The Gateway is a Role

A Gateway is not a dedicated device type.

Any ArmorLink module can act as the Gateway for a network.

The Gateway role can be assigned to a standalone controller or to a module that already performs other tasks.

info

The Gateway role and the module functionality are not mutually exclusive.

A Gateway can control hardware, expose Actions, provide Configuration and publish Telemetry just like any other ArmorLink module.

Single Module Projects

For small projects, the Gateway may be the only module in the network.

Example:

Arc Reactor
|- LEDs
`- Gateway

In this scenario, no additional modules are required.

The Arc Reactor controls its own hardware while simultaneously acting as the Gateway.

Multi Module Projects

In larger projects, the Gateway coordinates multiple modules.

Example:

Back Module (Gateway)
|- LEDs
|- Smoke System
|- Servos
`- Gateway

Helmet
Left Arm
Right Arm

The Gateway coordinates communication between all modules in the network.

Responsibilities

The Gateway is responsible for:

  • Command routing
  • Module discovery
  • Module pairing
  • Maintaining the list of known modules
  • Providing BLE connectivity for the ArmorLink App

The Gateway acts as the central coordinator of the network.

What the Gateway Does Not Do

The Gateway coordinates the network but does not own module data.

Configuration, Telemetry and Logs remain the responsibility of the individual modules.

The Gateway does not permanently store:

  • Module Configuration
  • Module Telemetry
  • Module Logs

These remain on the modules themselves and are only forwarded when required.

Command Routing

All ArmorLink commands are sent through the Gateway.

When a command is received, the Gateway determines whether:

  • The command targets the Gateway itself
  • The command targets another module

Example:

ArmorLink.sendCommand(
"Chest",
"BTN_R1",
"SINGLE_CLICK"
);

In this example, Chest is the name of the Gateway module.

The Gateway receives the command and processes it locally.

Example:

ArmorLink.sendCommand(
"Helmet",
"Facemask",
"toggle"
);

The Gateway detects that the command is intended for the Helmet module and forwards it automatically.

Mobile App Connectivity

The ArmorLink App communicates exclusively with the Gateway.

App
|
v
Gateway
|
v
Modules

The App never communicates directly with individual modules.

The Gateway acts as the bridge between the mobile application and the ArmorLink network.

Module Discovery

When the ArmorLink App connects to a Gateway, it requests a list of known modules.

App
|
v
Gateway
`- Known Modules

The Gateway provides the information required for the App to display the available modules.

Pairing

New modules must be paired with a Gateway before they become part of the network.

Pairing can be initiated either through:

  • The ArmorLink App
  • The Gateway serial interface

During pairing:

Gateway enters pairing mode
|
v
Broadcast:
"I am ready for pairing"
|
v
Unpaired modules respond
|
v
Gateway stores module information
|
v
Pairing complete

Only modules that are not already paired with a Gateway participate in the pairing process.

Summary

A Gateway is the central coordinator of an ArmorLink network.

It is responsible for:

  • Routing Commands
  • Discovering Modules
  • Pairing Modules
  • Connecting the ArmorLink App

The Gateway is a role, not a dedicated device.

Any ArmorLink module can act as the Gateway while simultaneously performing its own hardware-related tasks.