LoRa is the go-to tech for low power, long range wireless sensor networks. Designing with off-the-shelf modules can be a boon or a bane depending on the documentation and support. Luckily, [Renzo] has prepared a set of tutorials to get you started.
In his seven part series of write-ups, [Renzo] starts by connecting the E32 module from AliExpress to an Arduino as well as an ESP8266 to demonstrate essential communications. Then he discusses the configuration options and the library he created to make like a bit easier. Following that is a series of posts discussing transmission types as well as power saving methods including sleep modes and wake-on-radio.
The information will be extremely handy for someone starting off with the SX1276/SX1278 Wireless Modules which are relatively inexpensive as opposed to more standardized development kits. We love the abundance of fritzing diagrams, arduino code and helper library and hope someone will build on it. You can get the library from Github for your tinkering pleasure.
If you are looking for ideas for this newly discovered skill, have a look at LoRa Enabled Mailbox as well as Electric Fence Monitoring with The Things Network for a bit of IoT action.
Great to see a series of quality info all in one place. Thanks!
Thanks,
I believe that simplifying things is not only useful for the beginner, but it serves to make development more effective by allowing you to focus on other aspects.
Thanks,
I try to create a little ecosystem to simplify the work, I think the simplify is not needed only for beginner but for all so we can concentrate on real problem.
Nice! Thanks [Renzo]!
In the fall I started messing with a pair of TTGO-LORA boards (ESP32/SX1276) for a specific application, and this will help move things along.
On the TTGO boards, you can use micropython: https://lemariva.com/blog/2020/02/tutorial-micropython-esp32-sends-data-over-lorawan
Thanks, I’ll have a look.
When I select this device I also see TTGO-LORA, but I stop me because I don’t like all in one device, and It’s quite expensive :P
Oh awesome! I just started work on a custom LoRa library to try and solve some of the major hassles with some of the others.
I’m hoping to encode everything you need to connect into a “Channel”, which is a string that has a security key plus the frequency and SF, plus I’m planning to do proper transmit power control, which we all need to start using pretty quick I think. I’m also planning to have a standardized over the air pairing method based on public keys.
It’s just too bad the hardware is so expensive compared to ESP, NRF, and the like!
A lora transceiver IC costs around $4 in quantities. How is this expensive?!
The STM32WL was also recently announced, with LoRa and a Cortex-M4 (on the same die?). I haven’t seen any dev boards yet.
https://www.st.com/en/microcontrollers-microprocessors/stm32wl-series.html
Also waiting for a small pre-made board like the RFM Modules
Speaking of this… LoRa modules seem to be one of those things i frequently find with “limited to x per customer” where x is usually a low number like 2, on aliexpress. What is that all about?
I think It’s a marketing. You can order more than one time.
The bare transceivers do, but for anything open source and DIYish you’re probably gonna want a pair of dev boards, and that’s going to be like $40. Which isn’t terrible, but still expensive by DIY standards.
Hi eternityforest,
I create 2 dev board, one for Arduino, one for WeMos, and I put they free on PCB manufacter site, with 5$ you can get 5 board.
A complete assembly and use tutorial here for Arduino
https://www.mischianti.org/2019/12/28/lora-e32-device-for-arduino-esp32-or-esp8266-wor-wake-on-radio-the-microcontroller-also-and-new-arduino-shield-part-6/
and here for WeMos esp8266
https://www.mischianti.org/2020/01/17/lora-e32-device-for-arduino-esp32-or-esp8266-wor-wake-on-radio-microcontroller-and-new-wemos-d1-mini-shield-part-7/
I think this is usefully.
Bye Renzo
Renzo you are the man nice open source project
Thanks
I select this device because they are less expensive from all device I have found. SX1276 and SX1278 chip without other layer are also more expensive.
I add a KeeLoq encription decription (If you look inside the library I already add the function), but It’s a work in progress.
I’ve been working very hard lately on TTN support for ESPEASY using the MicroChip RN2483 LoRa module.
It is working very well now, but it has been quite a steep learning curve. So let’s hope tutorials like these and my own tools (of course) can make more people enthusiastic for LoRa/LoRaWAN.
I create a library and shield to help develop on LoRa device, because there isn’t something simple as you said before.
I contact EBYTE and to have more device to add a complete support and they aren’t interested, I think it is not a forward-looking behavior.
Pity LoRa PHY is proprietary…
I am using these modules in an amateur radio project. They seem to work fine, however I’m very disappointed at the lack of control their proprietary UART interface provides. There is a very, very long list of (important) aspects of SX1276 which are hard-coded in this module that cannot be changed. Everything from bandwidth (it’s at the max 500khz), to spread, to received RF strength to whether or not a signal is being received (to prevent collisions) is not exposed in their UART interface. Additionally, modes such as FSK cannot be used at all. The interface itself is very clunky (have to switch to slow 9600 data rate to issue a configuration command, such as setting output power or frequency), and requires a significant amount of GPIOs for the M0, M1, AUX on top of your normal UART. Unfortunately these are the only 30dbm / 1 watt modules I can find that have USA shipping sources. COVID-19 has delayed shipping from China by months.
If anyone has any information on how to bypass any of that (access the SX1276 directly in some way, or pass through UART commands to it) that would be great. I have scoured the net and can only find the official documentation that only allows a few things (basically just frequency, output power and data speed) to be controlled.