LoRa Basics Modem and LoRa Edge documentation

Scenario - Modem-E Initialization


For the LoRa Basics™ Modem-E to operate properly on a LoRaWAN® network, it must be initialized by its host Microcontroller Unit (MCU). During this process, a set of parameters related to its hardware configuration, the LoRa Cloud™ Device & Application Services, and the LoRaWAN protocol must all be initialized.


LoRa Basics Modem-E



  • None

Prerequisites for LoRa Basics™ Modem:

  • Not applicable

Prerequisites for LoRa Basics™ Modem-E:

  • The LR1110 must be flashed with LoRa Basics Modem-E firmware. For more information, see the LR1110 Updater Tool documentation.

  • The LR1110 chip must be connected to an end device application MCU.

  • A Low-frequency (LF) clock must be supplied, either with the built-in real time clock (RTC) (with an onboard 32.768kHz XTAL), or from the host MCU on pin DIO10

  • The device must be powered-up within the applicable voltage operating range.

  • The device must have finished its power-on reset (POR) sequence.

Step-by-Step Procedure

Before the LoRa Basics Modem-E can start the join procedure, the following steps are required:

  1. Configure the application hardware, with the following board-specific settings:

    1. LF clock source, using the ConfigLfClck() command.

    2. Regulator mode (DC-DC or LDO), using the SetRegMode() command.

    3. TCXO controller, using the command SetTCXOMode().

    4. PA options, using the command ManageRFOutput().

    5. RF switch control, using the SetDioAsRfSwitch() command.

    6. Configure the TX power offset, uing the SetTxPowerOffset() command.

  2. Configure an Alarm Timer if necessary: SetAlarmTimer().

  3. Configure the LoRaWAN Class with SetClass(). The default value is Class A.

  4. Select an adaptive data rate (ADR) Profile with SetAdrProfile(). By default, the ADR Profile is set to Network Controlled.

  5. Set the device management (DM) FPort, if needed, using the SetDmPort() command. The default value is 199.

  6. Configure the DM reporting interval using the SetDminfoInterval() command. The default value is 1 hour.

  7. Configure the DM information fields: SetDminfoFields(). The default information fields are: status, charge, temperature, signal, uptime and rxtime.

  8. Configure the LoRaWAN region using the SetRegion() command. This will automatically enable duty cycle restrictions for regions where they apply. The default region is EU868.

  9. For end devices using assisted GNSS, or if the application requires timing, configure the ALC Sync using the SetAlcSyncPort() and SetAlcSyncMode() commands.

  10. Configure the connection timeout using the SetConnectionTimeout() command.


The following parameters do not persist in flash memory and must be set after each reset: Alarm Timer, LoRaWAN Class, DM info interval, DM info fields, connection timeout, and parameters related to ALC Sync.

@startuml modem_initbox End-Device #ADD8E6    participant "Application MCU" as MCU #ADD8E6    participant "Modem-E" as LR1110 #00ADEFend boxlegend left|=             |= Owner || <#00ADEF>    | Semtech || <#ADD8E6>    | Customer || <#D3D3D3>    | Ecosystem |endlegend== Hardware configuration  ==MCU -> LR1110 : Select LF clock sourceMCU -> LR1110 : Select Regulator (LDO or DC-DC)MCU -> LR1110 : Configure TCXO controllerMCU -> LR1110 : Select PA optionsMCU -> LR1110 : Configure RF switch controlMCU -> LR1110 : Configure Tx power offset== Modem configuration  ==          MCU -> LR1110 : Configure Alarm timerMCU -> LR1110 : Configure LoRaWAN ClassMCU -> LR1110 : Set DM FPort, reporting interval, info fieldsMCU -> LR1110 : Select LoRaWAN RegionMCU -> LR1110 : Configure and enable ALC SyncMCU -> LR1110 : Configure connection timeout@enduml

Used By

Application MCU


  • With LoRa Basics Modem-E version 1.0.7 or lesser, the SetAdrProfile() command must be sent after each successful join procedure.