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 and the LoRa Cloud™ Modem & Geolocation Services must be initialized.


LoRa Basics™ Modem-E



  • None

Prerequisites for LoRa Basics™ Modem:

  • Not applicable

Prerequisites for LoRa Basics™ Modem-E:

  • The LR1110 chip must be flashed with the 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 modem management FPort, if needed, using the SetDmPort() command. The default value is 199.

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

  7. Configure the modem management information fields using 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 clock synchronization over-the-air 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, modem management info interval, modem management info fields, connection timeout, and parameters related to clock sync.

@startuml modem_initbox End Device #ADD8E6    participant "Device Application" as MCU #ADD8E6    participant "LoRa Basics™ 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 modem management FPort, reporting interval, info fieldsMCU -> LR1110 : Select LoRaWAN regionMCU -> LR1110 : Configure and enable clock syncMCU -> LR1110 : Configure connection timeout@enduml

Used By

Application MCU


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