Author Topic: Noobie questions about RF, RFM69, RFM95 etc  (Read 2100 times)

lygho

  • NewMember
  • *
  • Posts: 3
Noobie questions about RF, RFM69, RFM95 etc
« on: October 12, 2021, 11:08:57 AM »
Hi everybody, glad to join you all in this forum.

I hope my post is in the correct section, if not let me know.

TL;DR:
Want to make wireless battery powered sensor for my home communicating with a raspberry pi 4B.
RFM modules? please help! I have no idea what I'm doing ^^

Some background before my question:
I have no background whatsoever in coding (except some minor interest over the last few years), any hardware or electronics or anything that has to do with sensors and signals. I started learning python a month or two ago, then recently discovered raspberry pi with which I was able to set up a local server. What I would like to try next is using this raspberry pi (4B) to communicate with sensors spread in my house measuring temperature and humidity. I've looked over the internet over the last few days and keep finding "better" ways to do it, so I hope to finally find out how I should proceed exactly :)
My initial plan was using ESP32 linked to a DHT22 sensor sending data to my server through wifi. As I want to be able to move them around and place them whereever I want I wanted to use battery power. I then realised battery life of a ESP32 (using a 2-3000 mA 3.7V battery) is usually not so great. I then discovered LoRa networks and ended up with the idea of using a  SeeedStudio WM1302 LoRaWAN HAT for Raspberry Pi (connected to the pi obviously) getting data from a microprocessor (probably raspberry pi pico) linked to my sensor and a RFM95 module.
However, I finally ended up on this forum where it was mentioned RFM95 is usually for very long range and RFM69 should do the job just fine.

So now, I am completely confused. So here are my questions, any advice concerning my project is also welcome:

- Is the WM1302 LoRaWAN HAT "compatible" with RFM69 (and is it with RFM95)? I suppose they should use a similar frequency?

- Are modules like the RFM69 able to both receive and transmit data or do I need special versions to transmit/receive signal?

- I saw there are several RFM69 versions (C,CW,HW,HCW), what are the differences exactly? I found this answer (https://lowpowerlab.com/forum/rf-range-antennas-rfm69-library/difference-between-rfm69-w-and-cw-(or-hw-and-hcw)/) which helps a bit but leads to the questions: If I understand correctly dBm correlates to the power thus the range of the module? Also, there is a mention of different pin-out, how does this affect compatibility with a pico microprocessor for example?

- Are all the modules mentioned programable with python?

- I saw many mentions of arduino in my search, is it perfectly possible to have a remote sensor using arduino parts communicating with my raspberry pi 4B? Also, is any RFM module compatible with both arduino/raspberry etc or could there be some issues when I try to combine them into a remote sensor?

- Finally, I currently already have the raspberry pi 4B, the ESP32 (with integrated 3.7V battery power supply) and a DHT22 sensor (I ordered the last two before learning about LoRa). Any suggestions on how you would tackle making wireless battery-powered sensors (with or without any of the components mentiond) are always welcome!

Thanks for taking the time to go through my questions and feel free to redirect me to sources that have the answers or more info on basic concepts that might help me.

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: Noobie questions about RF, RFM69, RFM95 etc
« Reply #1 on: October 12, 2021, 05:00:20 PM »
Welcome!
So you're not a rocket scientist but you want a rocket eh? ;)

We could write a book with a chapter to answer each of your questions but not sure how helpful that would be. Let me attempt my best fast 2 cents to point in the "right" direction, in my own biased opinion.

I would start simple and learn your way using good tools and hardware, unless you have infinite time to burn. For your purposes the RFM69HCW is the way to go - 868-915mhz will work in most places and antennas are smaller and more manageable. The simple monopole wire kept perpendicular on the PCB will give you optimal signal, and will worsen if its bent or deformed in case space doesn't allow for optimal placement. The internet is full of resources on RFM69. There are several libraries to go with it, but I can only speak to the one I created and I support and which works on the boards I make.

IMO it's the most frustrating thing to waste days on end with DIY/breadboard/arduino UNO + RFM69 hardware only to discover you missed something obvious or not so obvious (albeit some call it a learning experience!). I would instead start with a pair of boards that are known to work. I designed the Moteino for this purpose, there are many types to choose from. When you get into hardware you will need to do some soldering, unavoidable, get ready for it and get decent tools.
Any 2 boards with the same transceiver type can communicate between them, they are both transmitter and receiver (transceiver!). Their processor and board format is simply a matter of options and processing power and/or connectivity. For instance the RFGateway is a fast board meant to plug right into a Pi and act as a gateway to a network of many remote/battery nodes. On the other end of simple and low power boards are the AVR based Moteinos, they can sip power and last for years when programmed correctly for that purpose, examples offered in the RFM69 library.

While you can directly connect a RFM69 to the Pi and avoid the "middle man" of another board and expense, I would highly advise against that, unless youre on top of everest with only a Pi and RFM69 and your life depends on it. Python is not really for programming hardware although efforts have made it relatively easy to do so. Get started with Arduino IDE and working examples, then work your way from there.

lygho

  • NewMember
  • *
  • Posts: 3
Re: Noobie questions about RF, RFM69, RFM95 etc
« Reply #2 on: October 13, 2021, 07:20:10 AM »
Welcome!
So you're not a rocket scientist but you want a rocket eh? ;)

We could write a book with a chapter to answer each of your questions but not sure how helpful that would be. Let me attempt my best fast 2 cents to point in the "right" direction, in my own biased opinion.

I would start simple and learn your way using good tools and hardware, unless you have infinite time to burn. For your purposes the RFM69HCW is the way to go - 868-915mhz will work in most places and antennas are smaller and more manageable. The simple monopole wire kept perpendicular on the PCB will give you optimal signal, and will worsen if its bent or deformed in case space doesn't allow for optimal placement. The internet is full of resources on RFM69. There are several libraries to go with it, but I can only speak to the one I created and I support and which works on the boards I make.

IMO it's the most frustrating thing to waste days on end with DIY/breadboard/arduino UNO + RFM69 hardware only to discover you missed something obvious or not so obvious (albeit some call it a learning experience!). I would instead start with a pair of boards that are known to work. I designed the Moteino for this purpose, there are many types to choose from. When you get into hardware you will need to do some soldering, unavoidable, get ready for it and get decent tools.
Any 2 boards with the same transceiver type can communicate between them, they are both transmitter and receiver (transceiver!). Their processor and board format is simply a matter of options and processing power and/or connectivity. For instance the RFGateway is a fast board meant to plug right into a Pi and act as a gateway to a network of many remote/battery nodes. On the other end of simple and low power boards are the AVR based Moteinos, they can sip power and last for years when programmed correctly for that purpose, examples offered in the RFM69 library.

While you can directly connect a RFM69 to the Pi and avoid the "middle man" of another board and expense, I would highly advise against that, unless youre on top of everest with only a Pi and RFM69 and your life depends on it. Python is not really for programming hardware although efforts have made it relatively easy to do so. Get started with Arduino IDE and working examples, then work your way from there.
Rocket scientists aren't born but made, I'll get there eventually :D
I'll follow your advice and get started with some setups used in online examples (and the ones you mentioned) to get how things work. I'll also take a look at Moteino. I do it for the learning experience and the actual application is only a secondary objective, so it's ok if I get there going through other setups first.
I was trying to stick to Raspberry Pi stuff but guess I'll just have to get over it and get into Arduino first ^^

Thanks for the advice, I think I have a better idea of how I should get started with this. Just two last questions:

How different is Arduino IDE compared to something like (micro)Python and how easily can I transfer what I learn in one to the other (like is the code to make a LED blink similar in Arduino compared to python or do they use completely different approaches to this)?

You mention "Any 2 boards with the same transceiver type can communicate between them", by "type" do you mean RFM69 vs RFM95 as different types or more like the frequency they use?

lygho

  • NewMember
  • *
  • Posts: 3
Re: Noobie questions about RF, RFM69, RFM95 etc
« Reply #3 on: October 13, 2021, 08:08:42 AM »
Just went through some links you sent and the powerlab website, I think I'll get there with the info I found, thank you!