AI-B100 LoRaWAN Gateway

Firmware version 1.9.8  |  See also: HTTP API User Guide  &  MQTT User Guide

AI-B100 Gateway System overview
AI Embedded Nordic AB Slottagårdsgatan 9
235 35, Vellinge, Sweden
Website: www.ai-embedded.se
Support: ai-b100@ai-embedded.se

Introduction

The AI‑B100 is an industrial LoRaWAN-to-MQTT/HTTP bridge that connects LoRaWAN end devices to your application over a standard Ethernet network. It supports Class A and Class C LoRaWAN operation and delivers data to your application via MQTT or HTTP callbacks. Configuration and diagnostics are available through an integrated web interface.

Key Features

Revision History

VersionDateDescription
1.9.52026-05-11GPS and Info pages added; companion API manuals added
1.82026-02-19HTTP API and support for hardware 1.3
1.7.62025-11-02LoRaWAN Class C support
1.62025-06-17OTA for updates
Safety Notice: Read this manual carefully before installing or operating the AI‑B100. Failure to follow the instructions may result in improper operation or reduced performance.

Hardware

AI-B100 front panel

Buttons and LEDs

ItemFunction
Button BBOOT / DHCP Toggle / Factory Reset
Button RHardware Reset
LED RRF — LoRaWAN activity
LED LLAN — LAN activity
LED PPWR — Power

Size

DimensionValue
Length139 mm
Width70 mm
Height33 mm
Mounting holes130 mm

Buttons

Reset restarts the AI-B100.

Boot is used for two functions: Factory Reset and DHCP Toggle.

When the Boot button is held during reset or power‑up, the AI‑B100 enters Software Update Mode, where it awaits a firmware upload via USB. This mode can be exited by performing a reset or power cycle.

If the Boot button is pressed after both LEDs begin blinking, two distinct modes are available depending on the duration of the press:

Power Input

The AI-B100 can be powered by:

External Trig Input

A connector located at the rear of the box is available for external signal integration. The accepted voltage range is 10–48 V DC at 2 mA. Any change in the signal will initiate an MQTT message. The status can be retrieved via JSON status messages through an HTTP request.

LED Indicators

There are 3 LED indicators on the box:

Power indicates if power is connected or not.

Hardware revision 1.2 is constant on red.

Hardware revision 1.3:

LoRaWAN Activity indicates status of the connection and communication.

LAN Activity indicates the status of the Ethernet and MQTT connections. The LED blinks green when DHCP is enabled and blue when a fixed IP address is configured.

Safety Timeout

The AI-B100 is programmed to initiate a reboot if it does not receive messages through MQTT, HTTP, or LoRaWAN within a designated time. This duration can be configured on the home page; the default timeout is set to 10,080 minutes, equivalent to seven days. Set to 0 to disable.


LoRaWAN

The AI-B100 conforms to the LoRaWAN specifications as described by The Things Network:

Users are responsible for ensuring that airtime usage complies with local regulations and that all activities adhere to fair usage policies. Each transmission occupies a share of the available radio spectrum, and LoRaWAN networks enforce a duty cycle limit — the device must remain silent for a minimum period after each transmission. Sending too frequently, or at a low data rate that requires long air times, can exhaust the available duty cycle and cause transmissions to be blocked.

More information: www.thethingsnetwork.org/docs/lorawan/

Regional parameters: www.thethingsnetwork.org/docs/lorawan/regional-parameters/eu868/

Data Rates

The AI-B100 is compatible with Data Rates 0 through 5 as detailed in the table below. A lower data rate combined with a higher spreading factor extends the range of LoRaWAN communication, but also increases airtime, which limits the volume of data that can be transmitted and increases duty cycle consumption.

LoRaWAN data rate table

The Data Rate/Spreading Factor may be adjusted prior to transmitting a message. If the payload size exceeds the specified limit for the current data rate, an error message will be generated.

Confirmed uplink messages should be used only when guaranteed delivery is required, as they increase network load and may impact gateway duty‑cycle availability.

In LoRaWAN deployments, gateways are typically fewer than end devices; consequently, frequent transmission of confirmed uplinks from multiple devices may lead to excessive consumption of the gateway's duty cycle.

Device EUI

The LoRaWAN Device EUI utilizes a globally unique IEEE EUI number. To guarantee uniqueness, this identifier is derived from the ESP32-S3 chip, which contains a preprogrammed 64-bit EUI number. This number is assigned to Espressif, and any searches will identify the device as an Espressif product. By default, the Dev EUI is populated with the factory-built EUI; however, it can be overwritten if an alternative EUI is required.

Join EUI, AppKey and NwkKey

The Join EUI, AppKey, and NwkKey are prepopulated and available on the LoRaWAN settings page. While NwkKey is not required for LoRaWAN 1.0.4, it must still be entered. Leave the default value when using 1.0.4.


Status Codes

CodeMeaning
0LoRaWAN Status OK
1Restarted — Ready to Join
2LoRaWAN no payload
3LoRaWAN payload too long
4LoRaWAN could not join network
5Restarted — Auto join enabled
6LoRaWAN unknown error
7LoRaWAN Joined
8LoRaWAN payload received
9LoRaWAN payload sent
10LoRaWAN payload sent and confirmed
11LoRaWAN payload not confirmed
12LoRaWAN heartbeat
13Duty cycle active — uplink blocked
14LoRaWAN lost connection
15LoRaWAN invalid port number
16LoRaWAN uplink failed
17LoRaWAN parameter error
18LoRaWAN not joined
19LoRaWAN parameter updated

Getting Started

Follow these steps the first time you set up the AI‑B100.

Step 1 — Connect the hardware

Connect the AI‑B100 to your network with a standard Ethernet cable. Power the unit via USB‑C, PoE, or the external 5 V connector (HW 1.3). Both the Power LED and the LAN LED should begin blinking within a few seconds.

Step 2 — Find the IP address

By default, the AI‑B100 obtains an IP address from your DHCP server. Check your router or DHCP server's lease table to find the assigned address. If DHCP is not available, hold the Boot button for 3 seconds after startup to toggle to a fixed IP address (the default static IP is printed on the device label).

Step 3 — Open the web interface

Open a web browser and navigate to http://<ip-address>. The home page displays the current settings and lets you configure the gateway. Work through the configuration pages described in the Configuration section to enter your LoRaWAN credentials, network settings, and MQTT or HTTP callback details.

Step 4 — Register on your LoRaWAN network server

Before the AI‑B100 can join a LoRaWAN network, the device must be registered on your network server (for example The Things Network). You will need the Device EUI, Join EUI, and AppKey shown on the LoRaWAN Settings page. Enter the same credentials on the network server.

Step 5 — Join and send

Once credentials are saved, trigger a join from the web interface or via the MQTT or HTTP API. The LoRaWAN LED will change from a fast blink (trying to join) to a slow pulse (connected) when the join succeeds. The gateway is then ready to receive uplink commands from your application.

For detailed integration instructions, see the companion documents listed in Related Documents.


Configuration

The AI‑B100 is configured through its integrated web interface. Open a web browser and navigate to the gateway's IP address to access the configuration pages. Some settings take effect immediately; others require a restart — each page notes which apply.

Home Page

Home page screenshot

The home page is the main settings page and the first page shown when you open the web interface. It groups the most frequently used settings in one place.

Gateway name identifies this unit in MQTT payloads, HTTP callback responses, and in the $name$ tag that can be embedded in topic and path strings. Use a short descriptive name such as warehouse-01 when you have more than one gateway on the same network. Takes effect after restart.

Watchdog timeout sets how long the AI‑B100 will wait without any MQTT, HTTP, or LoRaWAN activity before automatically rebooting. The default is 10,080 minutes (seven days). Set to 0 to disable.

LAN Settings

LAN settings page screenshot

The LAN settings page controls how the AI‑B100 connects to your network. By default, DHCP is enabled and the gateway obtains its IP address automatically.

To assign a fixed IP address, disable DHCP and enter the IP address, subnet mask, default gateway, and DNS server for your network. A restart is required after any change to the LAN settings. After restarting with a static IP, connect your browser to the new address — the previous DHCP address will no longer respond.

If you need to return to DHCP and do not know the static IP, press the Boot button for 3 seconds after startup to toggle DHCP back on.

HTTP API enables or disables the JSON HTTP API used by external applications to send and receive LoRaWAN messages. Enable this if you are using the HTTP callback integration. Takes effect immediately.

Callback settings configure where the gateway sends its results — the IP address, port, and URL paths for status callbacks, receive callbacks, and optional GPS callbacks. You can embed $name$ in any path to route callbacks from multiple gateways to different URLs on the same server. These settings take effect immediately without a restart.

MQTT Settings

MQTT settings page screenshot

The MQTT settings page connects the gateway to an MQTT broker of your choice. When enabled, the gateway publishes LoRaWAN events to configurable topics and subscribes to topics for inbound commands.

Enable MQTT turns the MQTT client on or off. Requires a restart.

Broker address and port set the IP address and TCP port of your MQTT broker (standard port: 1883). Requires a restart.

Username and password are optional. Leave both empty if your broker does not require authentication. Requires a restart when changed.

Topics — five topic base strings are configured here:

You can embed $name$ in any topic string; the gateway replaces it with the configured gateway name at startup. All topic changes require a restart.

Heartbeat interval sets how often (in seconds) the gateway publishes a keep-alive message to the status topic. Set to 0 to disable. Takes effect immediately without a restart.

GPS interval sets how often (in seconds) the gateway publishes its GPS position to the GPS topic. Set to 0 to disable. Takes effect immediately without a restart.

For a full description of all MQTT topics and message formats, see the MQTT User Guide.

LoRaWAN Settings

LoRaWAN settings page screenshot

The LoRaWAN settings page configures the radio parameters and network credentials used to join and communicate over LoRaWAN.

LoRaWAN version selects the protocol version and device class: LoRaWAN 1.04 or 1.1, combined with Class A (low power, receive windows after each uplink only) or Class C (continuous receive, higher power consumption). Most deployments use Class A. Requires a restart.

Device EUI, Join EUI, and AppKey are the OTAA credentials that must match the registration on your LoRaWAN network server exactly. The Device EUI is pre-populated from the chip's factory identifier but can be overridden. Requires a restart after any change.

Network Key is only used with LoRaWAN 1.1. Leave the default value when using LoRaWAN 1.04. Requires a restart.

Auto join causes the gateway to begin joining automatically after every restart, without waiting for an explicit join command. Recommended for unattended deployments.

Join retry sets how many join attempts are made in each round before the gateway stops and waits for a manual join command.

Data rate (join) sets the spreading factor used during the join procedure. Data Rate 0 (SF12) has the longest range and is recommended for first-time setup or difficult RF environments.

Data rate sets the spreading factor used for uplinks after joining. Higher data rates allow larger payloads and shorter air times but have shorter range.

ADR (Adaptive Data Rate) lets the LoRaWAN network server automatically optimise the data rate over time. Enable for stationary installations; disable for mobile deployments.

Link check interval configures how often the gateway sends a signal-quality check to the network server (every N uplinks). The result is returned in the status response and includes the number of gateways that heard the uplink and the link margin. Set to 0 to disable.

LoRaWAN heartbeat — the gateway can send a periodic confirmed uplink to keep the session active when no application traffic is flowing. Set the interval in seconds and the LoRaWAN port to use. The payload is an incrementing counter. Set the interval to 0 to disable.

Over the Air (OTA) Update Settings

Over the air update (OTA) is done via connection to an external WiFi access point. That could be a mobile phone, a mobile internet unit, or any other wireless network that accepts a simple WPA2 connection and can provide internet access. If enabled, the gateway checks for an update immediately after each reboot.

OTA settings page screenshot

This page sets up the OTA mode, the Wi-Fi SSID, and the WPA2 password used only for OTA. These credentials are not used for any other purpose and are stored separately from other settings.

OTA Modes

ModeDescription
OFFOTA disabled
ONCECheck once at next reboot; install if newer. Mode reverts to OFF after completion.
FORCEDownload and install regardless of version. Mode reverts to OFF after completion.
AUTOCheck at every reboot; install if newer
OTA uses an external Wi‑Fi network (WPA2). Mobile hotspots may require "Max Compatibility" mode.

Test Page

Test page screenshot

The Test page lets you send requests directly to the gateway's API from your browser without writing any code. Six buttons are available:

Join, Status, and Linkcheck return 202 Accepted immediately. The result is delivered as a POST to the configured callback address and port, not shown on this page. Info and Get display their response directly in the Response box.

GPS Page

GPS page screenshot

The GPS page displays the current status of the optional GPS module. It shows the fix quality (no module / no fix / 2D fix / 3D fix), the number of satellites in use, and — once a fix is acquired — the current coordinates, altitude, speed, and heading. Use this page to confirm that the GPS module is connected and has acquired a valid position before enabling GPS callbacks or MQTT GPS publishing.

Info Page

Info page screenshot

The Info page provides a read-only snapshot of the gateway's current state. It shows the firmware version, hardware revision, device EUI, current IP address, DHCP status, LoRaWAN join state (device address), and restart counter. On hardware revision 1.3, the board temperature is also shown. Use this page to verify that the correct firmware is installed and to confirm that the gateway is successfully joined to the LoRaWAN network.


The AI‑B100 documentation is distributed as a set of three documents. This manual covers hardware, LED indicators, first-time setup, configuration pages, and status codes. The two companion documents cover application integration:

MQTT User Guide

Describes how to connect the AI‑B100 to an MQTT broker and integrate it with your application using the publish/subscribe model. Covers all MQTT topics, message formats, status codes, typical lifecycle flows, and troubleshooting. Use this guide when your application connects to an MQTT broker rather than hosting a callback server.

mqtt_api_manual.html

HTTP API User Guide

Describes the request/response HTTP API for direct control of the gateway over Ethernet. Covers all endpoints, callback configuration, payload formats, Digest authentication, and troubleshooting. Use this guide when your application needs to send commands and receive results via HTTP callbacks.

http_api_manual.html