LoRa-E5 mini
LoRa-E5 mini is a compacted-sized development board suitable for the rapid testing and building of small-size prototyping and helps you design your ideal LoRaWAN wireless IoT device with a long-distance transmission range.
LoRa-E5 mini is embedded with LoRa-E5 STM32WLE5JC Module, which delivers the world-first combo of LoRa RF and MCU chip into one single tiny chip and is FCC and CE certified. It is powered by ARM Cortex-M4 core and Semtech SX126X LoRa chip and supports LoRaWAN protocol on the worldwide frequency and (G)FSK, BPSK, (G)MSK, and LoRa modulations.
Learn more about LoRa-E5 here.
More comparison between the LoRa-E5 and LoRa RFM95 chip:
LoRa-E5 mini leads out all GPIOs of LoRa-E5, including UART, ADC, SPI, IIC, and etc. It contains RESET and BOOT buttons and is use-friendly. Supporting LoRaWAN protocol, LoRa-E5 mini features ultra-long-range transmission and ultra-low power consumption: it is able to achieve a transmission range of up to 10 km, and the sleep current of LoRa-E5 modules on board is as low as 2.1 uA(WOR mode). It is designed with industrial standards with a wide working temperature at -40 ℃ ~ 85℃, high sensitivity between -116.5dBm ~ -136 dBm, and RF output power up to +20.8 dBm at 3.3V.
Other than the LoRa-E5 mini, we also provide other choices including the LoRa-E5 Development Board carrying more complex interfaces and features to unlock the more powerful performance of the LoRa-E5 module. It provides a broader range of access protocols and superabundant types of interfaces. Thus you are able to test and prototype the module rapidly with RS-485, Grove interfaces, and rich GPIOs. (Learn more about LoRa-E5 Development Board)
Since LoRa-E5 is a LoRaWAN chip with an MCU, there are three main ways to utilize the LoRa-E5 mini:
1. Connect LoRa-E5 mini to PC and control by AT commands
There is a built-in USB to UART function on board, you could connect the LoRa-E5 mini to your PC with a USB type C cable, and use serial communication software to send AT commands and read data from the board.
2. Connect LoRa-E5 mini to another mainboard via UART and control by AT commands
For example, connect LoRa-E5 mini to Seeeduino XIAO and the Expansion Board via UART, and send AT commands and read data from Seeeduino XIAO through Arduino IDE serial monitor.
3. User Application Development by using SDK
Develop your own LoRa development board with MCU function by using STM32Cube Programmer, which is the SDK officially provided by STMicroelectronics. To download this SDK resource, please find the resources in learning and document down below.
With all the outstanding features listed above, the LoRa-E5 mini will be a superior choice for IoT device development, testing, prototyping, and applications in long-distance, ultra-low power consumption IoT scenarios like smart agriculture, smart office, and smart industry.
If you are unfamiliar with LoRa and LoRaWAN technology, please check out this blog LoRapedia in detail.
Features¶
-
Full GPIOs led out from the Lora-E5 STM32WLE5JC
-
Global LoRaWAN® and LoRa frequency plan supported
-
Long-distance transmission range to 10km (ideal value in open area)
-
Mini and compact size, suitable for rapid testing and building small size prototype
-
Convenient RESET and BOOT buttons on board
Harware Overview¶
Specification¶
Parameters | Specifications |
---|---|
size | 50*23mm |
voltage - supply | 3.7V - 5V |
power - output | up to +20.8 dBm at 3.3V |
working frequency | 868/915MHz |
protocol | LoRaWAN |
sensitivity | -116.5 dBm ~ -136 dBm |
interfaces | USB Type C / 2P-2.54mm Hole / 1*12P-2.54mm Header*2 / SMA-K / IPEX |
modulation | LoRa, (G)FSK, (G)MSK, BPSK |
working temperature | -40℃ ~ 85℃ |
current | LoRa-E5 module sleep current as low as 2.1uA (WOR mode) |
Part List: | |
---|---|
LoRa-E5 mini *1 | |
Antenna(EU868/US915) *1 | |
USB TypeC (20cm) *1 | |
Sticker *1 | |
1X12pin male pin headers *2 |
Application¶
- LoRa-E5 module Easy testing
- Rapid small-dimension prototyping of LoRa devices with LoRa-E5
- Any long-distance wireless communication application development
- LoRa and LoRaWAN application learn and research
Application Notes¶
1. Factroy AT Firmare
LoRa-E5 series has a built-in AT command firmware, which supports LoRaWAN Class A/B/C protocol and a wide frequency plan: EU868/US915/AU915/AS923/KR920/IN865. With this AT command firmware, developers can easily and quickly build their prototype or application.
The AT command firmware contains a bootloader for DFU and the AT application. The "PB13/SPI_SCK/BOOT" pin is used to control LoRa-E5 to stay in the bootloader or jump to the AT application. When PB13 is HIGH, the module will jump to AT application after reset, with a default baud rate of 9600. When PB13 is LOW (press the "Boot" button on LoRa-E5 Dev Board or LoRa-E5 mini), the module will stay in the bootloader, and keep transmitting "C" character every 1S at baud rate 115200.
Attention
- Factory AT Firmware is programmed with RDP(Read Protection) Level 1, developers need to remove RDP first with STM32Cube Programmer. Note that regression RDP to level 0 will cause a flash memory mass to erase and the Factory AT Firmware can't be restored again.
- The "PB13/SPI_SCK/BOOT" pin on the LoRa-E5 module is just a normal GPIO, not the "BOOT0" pin of the MCU. This "PB13/SPI_SCK/BOOT" pin is used in the bootloader of the Factory AT firmware, to decide to jump to APP or stay in bootloader(for DFU). The real "BOOT0" pin doesn't pinout to the module, so users need to be careful when developing the low-power applications.
2. Clock Configuration
2.1 HSE
-
32MHz TCXO
-
TCXO power supply: PB0-VDD_TCXO
2.2 LSE
- 32.768KHz crystal oscillator
3. RF Switch
LoRa-E5 module ONLY transmits through RFO_HP:
-
Receive: PA4=1, PB5=0
-
Transmit(high output power, SMPS mode): PA4=0, PB5=1
Getting Started¶
1. Quick start of AT Commands¶
1.1 Preparation¶
-
Step 1. Connect LoRa-E5 mini to PC via a Type-C cable
-
Step 2. Open a serial tool(eg. Arudino Serial Monitor), select the right COM port, set baudrate to 9600 and select Both NL & CR
-
Step 3. Try to send "AT" and you will see the response.
1.2 Basic AT Commands¶
-
AT+ID // Read all, DevAddr(ABP), DevEui(OTAA), AppEui(OTAA)
-
AT+ID=DevAddr // Read DevAddr
-
AT+ID=DevEui // Read DevEui
-
AT+ID=AppEui // Read AppEui
-
AT+ID=DevAddr,"devaddr" // Set new DevAddr
-
AT+ID=DevEui,"deveui" // Set new DevEui
-
AT+ID=AppEui,"appeui" // Set new AppEui
-
AT+KEY=APPKEY,"16 bytes length key" // Change application session key
-
AT+DR=band // Change the Band Plans
-
AT+DR=SCHEME // Check current band
-
AT+CH=NUM, 0-7 // Enable channel 0~7
-
AT+MODE="mode" // Select work mode: LWOTAA, LWABP or TEST
-
AT+JOIN // Send JOIN request
-
AT+MSG="Data to send" // Use to send string format frame which is no need to be confirmed by the server
-
AT+CMSG="Data to send" // Use to send string format frame which must be confirmed by the server
-
AT+MSGHEX="xx xx xx xx" // Use to send hex format frame which is no need to be confirmed by the server
-
AT+CMSGHEX="xx xx xx xx" // Use to send hex format frame which must be confirmed by the server
1.3 Connect and send Data to TTN¶
- Step 1: Load into TTN website: https://www.thethingsnetwork.org and create your account, then access "Console" and first click on "APPLICATIONS"
- Step 2: Add an Application
- Step3: Copy the
APPLICATION EUIS
and click "register device" button to add your device to TTN
-
Step4: Send AT command
AT+ID=DevEu
i to get your Device EUI, send AT commandAT+KEY=APPKEY,"11223344556677889900112233445566"
to set the App Key, and send AT commandAT+ID=AppEui,"APPLICATION EUIS you copy just now"
to set the App EUI, finally fill all these EUIs and Key to the page to register your deviceTx: AT+ID=DevEui Rx: +ID: DevEui, 2C:F7:F1:20:24:90:16:1D Tx: AT+KEY=APPKEY,"11223344556677889900112233445566" Rx: +KEY: APPKEY 11223344556677889900112233445566 Tx: AT+ID=AppEui,"70B3D57ED003F06A" Rx: +ID: AppEui, 70:B3:D5:7E:D0:03:F0:6A
-
Step 5: Register your LoRaWAN Gateway on TTN Console, please refer to the instruction shown in The Things Indoor Gateway wiki page: The Things Indoor Gateway Get Started with SenseCAP
-
Step 6: Type the following AT Commmand to connect to TTN
Tx: AT+ID
Rx: +ID: DevAddr, 24:90:16:1D
+ID: DevEui, 2C:F7:F1:20:24:90:16:1D
+ID: AppEui, 70:B3:D5:7E:D0:03:F0:6A
Tx: AT+DR=EU868
Rx: +DR: EU868
Tx: AT+CH=NUM,0-2
Rx: +CH: NUM, 0-2
Tx: AT+MODE=LWOTAA
Rx: +MODE: LWOTAA
Tx: AT+JOIN
Rx: +JOIN: Start
+JOIN: NORMAL
+JOIN: Network joined
+JOIN: NetID 000013 DevAddr 26:01:5F:66
+JOIN: Done
If you see +JOIN: Network joined
in your serial console, congratulations, your device have already connect to TTN! You can also check your device status at the "overview" page.
- Step 7: Type the following AT Command to send data to TTN
// send string "HELLO" to TTN
Tx: AT+MSG=HELLO
Rx: +MSG: Start
+MSG: FPENDING
+MSG: RXWIN2, RSSI -112, SNR -1.0
+MSG: Done
// send hex "00 11 22 33 44"
Tx: AT+MSGHEX="00 11 22 33 44"
Rx: +MSGHEX: Start
+MSGHEX: Done
- Step 8: For more information about AT Commands, please refer to LoRa-E5 AT Command Specification
2. Develop with STM32Cube MCU Package¶
This section is for LoRa-E5 Mini or LoRa-E5 Dev Board, aiming at creating a LoRaWAN End Node with STM32Cube MCU Package for STM32WL series(SDK), to join and send data to LoRaWAN Network.
Attention
Please read Erase Factory AT Firmware section first, as if we need to erase the Factory AT Firmware before we program with SDK. After erasing the Factory AT Firmware it CANNOT be recovered.
2.1 Preparasions¶
Softwares:
-
Download and extract STM32Cube MCU Package for STM32WL series(SDK)
Hardwares:
-
LoRaWAN Gateway connected to LoRaWAN Network Server(e.g. TTN)
-
Prepare an USB TypeC cable and a ST-LINK. Connect the TypeC cable to the TypeC port for power and serial communication, connect the ST-LINK to the SWD pins like this:
2.2 GPIO Configuration Overview¶
- As the hardware design of LoRa-E5 series is a bit different with NUCLEO-WL55JC, the official STM32WL55JC development board from ST, developers need to reconfigure some gpios, to adapt the SDK example to LoRa-E5 series. We have already reconfigured gpios in this example, but we think it is nessary to point out the difference.
SDK Example Label | GPIO of NUCLEO-WL55JC | GPIO of LoRa-E5 Mini and LoRa-E5 Dev Board |
---|---|---|
RF_CTRL1 | PC4 | PA4 |
RF_CTRL2 | PC5 | PA5 |
RF_CTRL3 | PC3 | None |
BUT1 | PA0 | PB13 |
BUT2 | PA1 | None |
BUT3 | PC6 | None |
LED1 | PB15 | None |
LED2 | PB9 | PB5 |
LED3 | PB11 | None |
DBG1 | PB12 | PA0 |
DBG2 | PB13 | PB10 |
DBG3 | PB14 | PB3 |
DBG4 | PB10 | PB4 |
Usart | Usart2(PA2/PA3) | Usart1(PB6/PB7) |
2.3 Build the LoRaWAN End Node Example¶
-
Download and copy this repo to your SDK folder
en.stm32cubewl\STM32Cube_FW_WL_V1.0.0\Projects\NUCLEO-WL55JC\Applications\LoRaWAN
and replace the originen.stm32cubewl\STM32Cube_FW_WL_V1.0.0\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\LoRaWAN_End_Node
folder -
Open the
LoRaWAN_End_Node
example withSTM32CubeIDE
, by double click fileLoRaWAN_End_Node\STM32CubeIDE\.project
-
Click
Build Debug
for this example, it should works without any errors
2.4 Modify your Device EUI, Application EUI, Application KEY and your LoRawan Region¶
- Please follow the guide here to setup your TTN application, get your Application EUI and copy it to the macro definition
LORAWAN_JOIN_EUI
inLoRaWAN/App/se-identity.h
, for example, my Application EUI is70 B3 D5 7E D0 03 F0 6A
:
// LoRaWAN/App/se-identity.h
/*!
* App/Join server IEEE EUI (big endian)
*/
#define LORAWAN_JOIN_EUI { 0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x03, 0xF0, 0x6A }
- Also, you can modify your Device EUI and Application Key, by setting the macro definition
LORAWAN_DEVICE_EUI
andLORAWAN_APP_KEY
inLoRaWAN/App/se-identity.h
, don't forget to ensureLORAWAN_DEVICE_EUI
andLORAWAN_APP_KEY
are the same as theDevice EUI
andApp Key
in TTN console.
// LoRaWAN/App/se-identity.h
/*!
* end-device IEEE EUI (big endian)
*/
#define LORAWAN_DEVICE_EUI { 0x00, 0x80, 0xE1, 0x15, 0x00, 0x07, 0x4C, 0xD5 }
/*!
* Application root key
*/
#define LORAWAN_APP_KEY 2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C
- The default LoRaWAN Region is
EU868
, you can modify it, by setting the macro definitionACTIVE_REGION
inLoRaWAN/App/lora_app.h
// LoRaWAN/App/lora_app.h
/* LoraWAN application configuration (Mw is configured by lorawan_conf.h) */
/* Available: LORAMAC_REGION_AS923, LORAMAC_REGION_AU915, LORAMAC_REGION_EU868, LORAMAC_REGION_KR920, LORAMAC_REGION_IN865, LORAMAC_REGION_US915, LORAMAC_REGION_RU864 */
#define ACTIVE_REGION LORAMAC_REGION_EU868
- After modification, please rebuild the example and program to your LoRa-E5. Open
STM32CubeProgrammer
, connect ST-LINK to your PC, holdRESET Button
of your Device, then clickConnect
and releaseRESET Button
:
- Make sure the Read Out Protection is
AA
, if it is shown asBB
, selectAA
and clickApply
:
- Now, go to the
Erasing & Programming
page, select your hex file path(my path isE:\en.stm32cubewl\STM32Cube_FW_WL_V1.0.0\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE\LoRaWAN_End_Node_Debug.hex
), select the programming options as the following picture, then clickStart Programming
! Once the prgramming is finished,
2.5 Connect to TTN¶
- If your LoRaWAN Gateway and TTN are setup, LoRa-E5 will join successfully after reset! A comfirm LoRaWAN package will be sent to TTN every 30 seconds. The following log will come out from the serial port if the join is successful:
APP_VERSION: V1.0.0
MW_LORAWAN_VERSION: V2.2.1
MW_RADIO_VERSION: V0.6.1
###### OTAA ######
###### AppKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### NwkKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### ABP ######
###### AppSKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### NwkSKey: 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C
###### DevEui: 00-80-E1-15-00-07-4C-D5
###### AppEui: 70-B3-D5-7E-D0-03-F0-6A
0s045:TX on freq 868100000 Hz at DR 0
1s550:MAC txDone
6s572:RX_1 on freq 868100000 Hz at DR 0
6s779:MAC rxTimeOut
7s572:RX_2 on freq 869525000 Hz at DR 0
7s709:PRE OK
8s246:HDR OK
9s393:MAC rxDone
###### = JOINED = OTAA =====================
30s068:temp= 25
30s068:VDDA= 254
30s069:TX on freq 868500000 Hz at DR 0
30s082:SEND REQUEST
31s728:MAC txDone
32s750:RX_1 on freq 868500000 Hz at DR 0
32s957:MAC rxTimeOut
33s706:RX_2 on freq 869525000 Hz at DR 3
33s744:PRE OK
33s815:HDR OK
33s897:MAC rxDone
###### ========== MCPS-Confirm =============
- Cheers! You have already connected LoRa-E5 to LoRaWAN Network! Can't wait to see you develop some wonderful LoRaWAN End Node applications!
More demos coming soon...
Resources¶
LoRa-E5 mini Datasheet:
LoRa-E5 Datasheet:
LoRa-E5 Certifications:
Relevant SDK:
Tech Support¶
Please submit any technical issue into our forum.