Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. Wio-E5 (STM32 and SX1262)

Wio-E5 (STM32 and SX1262)

Scheduled Pinned Locked Moved My Project
2 Posts 1 Posters 73 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • nagelcN Offline
    nagelcN Offline
    nagelc
    wrote on last edited by nagelc
    #1

    Hi All,
    I have been messing around with a module called the Wio-E5 from Seeed Studio.
    Ever since the NRF5 series came out I have wanted something similar but with a LoRa or RFM69 radio. The Wio-E5 looked like just the thing:

    https://www.seeedstudio.com/LoRa-E5-Wireless-Module-Tape-Reel-p-5302.html
    https://wiki.seeedstudio.com/LoRa-E5_STM32WLE5JC_Module/

    Cortex-M4 processor and SX1262 radio on a chip (STM32WLE5 series)
    Supposedly low power consumption (still testing).
    The module is small, but hand solderable package.

    I finally have one of these running as a coin cell powered temperature / humidity sensor.

    My very basic E5 node and gateway

    20241231_120829.jpg

    I have been able to get it to talk to my RMF95 gateway also.

    If you want to give it a try, I have added code to the MySensors fork on my github: https://github.com/spike314/MySensors
    in the development branch.

    You will need:

    • For programming STM32
      • STLink. There are cheap ones on aliexpress, but I got a legit STLink-V3MiniE for only US$11.70 on Mouser.
      • STM32Cube Programmer from https://www.st.com/
      • Arduino Libraries (available in the Arduino library manager)
        • STM32duino Low Power
        • STM32duino RTC
      • Arduino Board files
        • STM32 MCU based boards (available in the Arduino board manager)
    • Updates for MySensors (already in the development branch on my github)
      • STM32 files from Pull Request 1442, from @WhiskyDelta, @Koolru, and others
      • RLSX1262 files : based on @eiten SX126X driver and:
      • RadioLib https://github.com/jgromes/RadioLib (available in the Arduino library manager). Radiolib supports the STM32WL series. So I am using it for low level code to the radio.
    • Update to for AES Conflict (3/22/25 - I added a hack to my github fork that works around this issue)
      • You will get a compile error because both MySensors and STM32 define AES.
      • the offending STM32 file is here: \arduino15\packages\STMicroelectronics\hardware\stm32\2.8.1\system\Drivers\CMSIS\Device\ST\STM32WLxx\Include\stm32wle5xx.h
      • In this version, line 998: #define AES ((AES_TypeDef *) AES_BASE)
      • I changed to: #define AESWL   ((AES_TypeDef *) AES_BASE)
      • This resolves the conflict. There are probably better ways. I'd rather change the STM32 code than MySensors, but there are downsides:
        • Other files would probably need the update if you are using something besides a STM32WLE5 ....
        • If you update the STM32 library, you will have to go and change this define again.
    • Clear the factory bootloader
      • ground the PB13 pin and reboot the module to get into programming mode (This step isn't needed afterall)
      • Using the STM32Cube Programmer:
        • Hit Option Bytes (OB) button. Under Read Out Protection, change to AA and hit Apply.
        • Disconnect and (re-)Connect. You should get “Data read successfully”.
    • Program w Arduino
      • In your sketch, #define MY_RADIO_RLSX126x
      • Update the SX126X settings in MyConfig.h as desired, or override them in your sketch.
      • Use these board settings:
        • Board: Generic STM32WL Series
        • Board PN: Generic WLE5JCIx
        • UART Support: Enabled Generic Serial
        • Newlib Nano
        • STM31CubeProgrammer (SWD)

    And, there you go!
    It's all still a bit rough. I'll post some more notes and sample code when I get a chance.

    Happy New Year!

    1 Reply Last reply
    1
    • nagelcN Offline
      nagelcN Offline
      nagelc
      wrote on last edited by nagelc
      #2

      Quick Range Check on the WIO-E5-LE. The LE version uses only the low power PA, +14dBm max. Using the default settings except for 915MHz

      #define MY_SX126x_FREQUENCY (SX126x_915MHZ)
      #define MY_SX126x_LORA_SF LORA_SF7 
      #define MY_SX126x_LORA_BW LORA_BW_125 
      #define MY_SX126x_LORA_CR LORA_CR_4_5
      

      I get about 190 meter range, just walking around the neighborhood, line of site except for some trees and power lines.
      No tuning on the antenna. Just using a 77.9mm wire.
      Not as dramatic as some have achieved with LoRa radio's, but plenty good enough for my house and yard : )

      1 Reply Last reply
      1
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      24

      Online

      11.7k

      Users

      11.2k

      Topics

      113.1k

      Posts


      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • MySensors
      • OpenHardware.io
      • Categories
      • Recent
      • Tags
      • Popular