Stufin
Home Quick Cart Profile

LoRa-E5 (STM32WLE5JC) Module

Buy Now on Stufin

Component Name

LoRa-E5 (STM32WLE5JC) Module

Description

The LoRa-E5 (STM32WLE5JC) Module is a compact, low-power wireless communication module designed for IoT applications. It combines a powerful microcontroller (MCU) with a LoRa transceiver, enabling long-range wireless communication capabilities. The module is based on the STM32WLE5JC, a 32-bit microcontroller from the STM32 family, which provides a robust and feature-rich platform for developing IoT devices.

Functionality

The LoRa-E5 Module is designed to facilitate wireless communication between devices in IoT networks, particularly in applications requiring low power consumption and long-range communication capabilities. The module enables devices to transmit and receive data using the LoRaWAN protocol, a popular LPWAN (Low Power Wide Area Network) technology. The module's MCU handles the processing of data and controls the LoRa transceiver, allowing for efficient and reliable data transmission.

Key Features

### Microcontroller (MCU) Features
STM32WLE5JC MCU32-bit ARM Cortex-M4 core with 256 KB of Flash memory and 64 KB of SRAM

Low Power Consumption

Operates at a voltage range of 1.8 V to 3.6 V and consumes as low as 350 A/MHz in Run mode

Peripherals

UART, SPI, I2C, I2S, USB, and ADC interfaces available

### LoRa Transceiver Features

LoRaWAN Compliant

Supports LoRaWAN Class A and Class C devices

Frequency Range

Operates in the 868 MHz and 915 MHz frequency bands

Data Rate

Up to 27.5 kbps in the 868 MHz band and up to 50 kbps in the 915 MHz band

Range

Up to 10 km (6.2 miles) in urban environments and up to 40 km (25 miles) in rural areas

Sensitivity

-148 dBm in the 868 MHz band and -142 dBm in the 915 MHz band

### Module Features

Compact Size

18.5 mm x 24.5 mm x 3.5 mm (L x W x H)

Operating Temperature

-40C to +85C

Supply Voltage

1.8 V to 3.6 V

Interfaces

UART, SPI, I2C, and USB interfaces available

Antenna

External antenna connector (SMA or IPX) for optimal performance

### Software Support

SDK

Available for various development environments, including Keil Vision, IAR Embedded Workbench, and GCC-based IDEs

Example Code

Provided for common use cases, such as LoRaWAN node and gateway applications

Firmware Updates

Supported through UART, SPI, or USB interfaces

The LoRa-E5 (STM32WLE5JC) Module is an ideal choice for IoT applications requiring low power consumption, long-range wireless communication, and robust processing capabilities. Its compact size, low power consumption, and interface flexibility make it suitable for a wide range of use cases, from smart sensors and actuators to gateway devices and industrial control systems.

Pin Configuration

  • LoRa-E5 (STM32WLE5JC) Module Pinout Explanation
  • The LoRa-E5 module, based on the STM32WLE5JC microcontroller, is a compact and powerful device for IoT applications. It features a comprehensive set of pins that enable users to connect various peripherals and interfaces. Here's a detailed explanation of each pin, point by point:
  • Pin 1: GND (Ground)
  • Function: Ground connection
  • Description: This pin is connected to the ground plane of the module and is used as a reference point for all other signals.
  • Pin 2: VCC (Power Supply)
  • Function: Power supply input
  • Description: This pin is used to supply power to the module. A recommended voltage range is 1.8V to 3.6V.
  • Pin 3: RF_sw (RF Switch Control)
  • Function: RF switch control
  • Description: This pin is used to control the RF switch, which is typically connected to an antenna. It should be connected to a GPIO pin on the microcontroller or an external switch control signal.
  • Pin 4: RXTX (LoRa RX/TX)
  • Function: LoRa transceiver RX/TX signal
  • Description: This pin is used as the receive (RX) and transmit (TX) signal for the LoRa transceiver.
  • Pin 5: DIO1 (Digital Input/Output 1)
  • Function: Digital input/output
  • Description: This pin can be configured as a GPIO input or output, and is often used for general-purpose digital signaling.
  • Pin 6: DIO2 (Digital Input/Output 2)
  • Function: Digital input/output
  • Description: This pin can be configured as a GPIO input or output, and is often used for general-purpose digital signaling.
  • Pin 7: RST (Reset)
  • Function: Reset input
  • Description: This pin is used to reset the microcontroller. A low signal on this pin will reset the device.
  • Pin 8: BOOT0 (Boot Mode Select 0)
  • Function: Boot mode select
  • Description: This pin is used to select the boot mode of the microcontroller. When high, the device boots from the internal flash memory. When low, the device boots from an external source.
  • Pin 9: BOOT1 (Boot Mode Select 1)
  • Function: Boot mode select
  • Description: This pin is used in conjunction with BOOT0 to select the boot mode of the microcontroller.
  • Pin 10: SCL (I2C Clock)
  • Function: I2C clock signal
  • Description: This pin is used as the clock signal for the I2C interface.
  • Pin 11: SDA (I2C Data)
  • Function: I2C data signal
  • Description: This pin is used as the data signal for the I2C interface.
  • Pin 12: UART_TX (UART Transmit)
  • Function: UART transmit signal
  • Description: This pin is used as the transmit signal for the UART interface.
  • Pin 13: UART_RX (UART Receive)
  • Function: UART receive signal
  • Description: This pin is used as the receive signal for the UART interface.
  • Pin 14: SPI_MOSI (SPI Master Out Slave In)
  • Function: SPI master out slave in signal
  • Description: This pin is used as the master out slave in signal for the SPI interface.
  • Pin 15: SPI_MISO (SPI Master In Slave Out)
  • Function: SPI master in slave out signal
  • Description: This pin is used as the master in slave out signal for the SPI interface.
  • Pin 16: SPI_CLK (SPI Clock)
  • Function: SPI clock signal
  • Description: This pin is used as the clock signal for the SPI interface.
  • Pin 17: SPI_CS (SPI Chip Select)
  • Function: SPI chip select signal
  • Description: This pin is used as the chip select signal for the SPI interface.
  • Pin 18: ADC1 (Analog-to-Digital Converter 1)
  • Function: Analog-to-digital converter channel 1
  • Description: This pin is used as an analog input channel for the ADC.
  • Pin 19: ADC2 (Analog-to-Digital Converter 2)
  • Function: Analog-to-digital converter channel 2
  • Description: This pin is used as an analog input channel for the ADC.
  • Pin 20: LNA_VCC (Low Noise Amplifier Power Supply)
  • Function: Low noise amplifier power supply
  • Description: This pin is used to power the low noise amplifier in the LoRa transceiver.
  • Pin 21: NC (Not Connected)
  • Function: Not connected
  • Description: This pin is not connected internally and can be used as a test point or left unconnected.
  • Pin 22: NC (Not Connected)
  • Function: Not connected
  • Description: This pin is not connected internally and can be used as a test point or left unconnected.
  • Pin 23: NC (Not Connected)
  • Function: Not connected
  • Description: This pin is not connected internally and can be used as a test point or left unconnected.
  • Pin 24: NC (Not Connected)
  • Function: Not connected
  • Description: This pin is not connected internally and can be used as a test point or left unconnected.
  • When connecting the pins, ensure that you follow proper signal routing and PCB design practices to minimize noise and interference. It's recommended to consult the datasheet and application notes provided by the manufacturer for specific guidance on pin connections and usage.

Code Examples

LoRa-E5 (STM32WLE5JC) Module Documentation
Overview
The LoRa-E5 module is a compact, low-power, and high-performance wireless communication module based on the STM32WLE5JC system-on-chip (SoC). It integrates a microcontroller, a LoRa transceiver, and a variety of peripherals, making it an ideal solution for IoT applications that require low-power wide-area network (LPWAN) connectivity.
Key Features
STM32WLE5JC SoC with Arm Cortex-M4 core
 LoRa transceiver with Semtech SX1276/77/78/79
 Supports LoRaWAN, private LoRa, and FSK/OOK modulation
 Frequency range: 868/915 MHz (EU/US)
 Power consumption: 1.8 mA (tx), 4.5 mA (rx), 20 A (sleep)
 Onboard LDO regulator, reset button, and LED indicators
Code Examples
Example 1: LoRaWAN Node with Arduino
This example demonstrates how to use the LoRa-E5 module as a LoRaWAN node with an Arduino board.
Hardware Requirements
LoRa-E5 module
 Arduino Uno/Nano board
 Breadboard and jumper wires
 Power supply (3.3V, 1.8V)
Software Requirements
Arduino IDE (version 1.8.x or later)
 LoRaWAN library for Arduino (install via Library Manager)
Code
```c++
#include <LoRaWAN.h>
#define LORA_CE 9  // Chip Enable pin
#define LORA_CSN 10  // Chip Select pin
#define LORA_IRQ 2  // Interrupt pin
LoRaWAN lora = LoRaWAN(LORA_CE, LORA_CSN, LORA_IRQ);
void setup() {
  Serial.begin(9600);
  lora.init();
  lora.join();
}
void loop() {
  char message[] = "Hello, LoRaWAN!";
  lora.send(message, sizeof(message));
  delay(10000);
}
```
Example 2: Private LoRa Network with MicroPython
This example demonstrates how to use the LoRa-E5 module as a private LoRa node with a MicroPython board.
Hardware Requirements
LoRa-E5 module
 PyBoard or other MicroPython-compatible board
 Breadboard and jumper wires
 Power supply (3.3V, 1.8V)
Software Requirements
MicroPython firmware (install via bootloader)
 LoRa library for MicroPython (install via upip)
Code
```python
import machine
import lora
# Initialize LoRa module
lora.init()
# Set LoRa frequency and spreading factor
lora_freq = 868100000  # EU frequency band
lora_sf = 7
lora.set_frequency(lora_freq)
lora.set_spreading_factor(lora_sf)
while True:
    # Create a packet
    packet = bytes([0x01, 0x02, 0x03, 0x04, 0x05])
# Send the packet
    lora.send(packet)
# Wait for 10 seconds
    machine.sleep(10000)
```
Example 3: AT Command Interface with Python
This example demonstrates how to use the LoRa-E5 module's AT command interface with a Python script.
Hardware Requirements
LoRa-E5 module
 USB-to-UART bridge (e.g., CP2102)
 Computer with Python installed
Software Requirements
Python 3.x (or later)
 pyserial library (install via pip)
Code
```python
import serial
# Open the serial port
ser = serial.Serial('COM3', 9600, timeout=1)
# Set the LoRa frequency and spreading factor
ser.write(b'AT+LORA=FREQ:868100000
')
ser.write(b'AT+LORA=SF:7
')
while True:
    # Create a packet
    packet = bytes([0x01, 0x02, 0x03, 0x04, 0x05])
# Send the packet using AT command
    ser.write(b'AT+LORA=SEND:' + packet + b'
')
# Wait for 10 seconds
    time.sleep(10)
```
These examples demonstrate the basic functionality of the LoRa-E5 module in various contexts. Please consult the module's datasheet and user manual for more information on its capabilities and usage.