Photon, LoRa radio and WKP

Configuration;
Photon, OS: 1.4.0
Adafruit RFM95x LoRa radio breakout (SPI bus)
59025-010-ND NO reed switch connected to WKP/GND, pulled to VDD via 10k ohm resistor
2N7000 N-MOSFET (to power the radio), gate pin pulled to GND via 10K ohm resistor

My goal is to power the system for >8 months with a 10,000mAh LiPo, WiFi OFF, 4 to 10 50 byte messages per day to a LoRa 915MHz gateway. Photon and LoRa radio ON power consumption is between 40mA and 300mA. Deep sleep the rest of the time.

Using the N-MOSFET to power off the radio - deep sleep is 201uA, not bad but I expected more. Removing power and GND to the radio (and reed switch), the power consumption dropped to 81uA, exactly what the data sheet indicates - perfect. Removing just the reed switch connections the load drops to 140uA indicating a 61uA load from the WKP pull-up and a 59uA load from the N-MOSFET pull-down. Other ideas to further reduce demand while still powering the radio and responding to the WKP from deep sleep?

1 Like

I’m afraid I don’t have any further suggestions!

If I read correctly (not sure), it looks like you use the MOSFET to power down the RFM95. The RFM95 actually has a sleep mode (write 0x00 to register 0x01) and the power consumption of the RFM95 should drop to 0.2 uA (200 nA). Meaning you could remove the MOSFET and save 59 uA?

Thank you. Yes, the MOSFET controls power to the RFM95. I did test the EN pin on the RFM95 board but the results were a 1.1mA sleep which surprised me. I’ll retest, but its possible the RFM95 breakout board is introducing additional load beyond the base SX1276 radio.

Aah, I’m only using bare RFM95 modules.
I guess the EN pin is from a voltage regulator on the breakout board, you have to look into that specific regulator to see if there is room for improvement. Or just bypass the regulator and supply 3.3V from the Photon?

Did you add pins/wires to the RFM95 or did you fab a carrier board? I will double check my use of the EN and if it is still >1mA I’ll test a bypass.

The ones I’m using at the moment are on a self designed PCB:
An attiny85 is connected to the RFM95 with direct wires from the microcontroller to the RFM95 (SCK, MOSI, MISO and SS). Vin and GND come from a 3V power (shared with the attiny) and the antenna pin connects to a (quarter wavelength) wire (functioning as antenna). The only extra component is a 10uF capacitor between Vin and GND (not necessary but gives a more stable power).

The RFM95 accepts an input voltage between 1.8V and 3.7V on Vin (datasheet).
Looking at your situation: the Photon has a 3.3V power out on its own, but the docs say it is limited to 100 mA, and the peak current of the RFM95 on the highest transmission power settings will come quite close to that according to the datasheet, so be aware of that.

I just remembered I also have a RFM95 featherwing laying around at home (link). That’s even easier if you also have a gen3 (Xenon). In that way you just connect them, have <1 uA sleep from the RFM95 and also the Xenon has a lower sleep current compared to the Photon.

1 Like

I have read several post that leverage the attiny85 with great results. I did some testing with a atmega328 but ended up with the Photon as my node. I have a few super caps in stock so I expect that would handle the surge demand over >100mA. I do have all of the new gen3 mesh boards but have not taken the time to put any of them to work.

Thanks again for the feedback, several good ideas. I’ll update this with my final solution and results.

I love playing with those Atmel chips (the attiny85 / RFM95 setup I made has a total sleep below 5 uA :smiley:), but indeed, on average it takes more time to reach your goal compared to the Particle boards. Good luck with the project, let me know if you have more questions!