Skip to content

Instantly share code, notes, and snippets.

Low-power LoRa Downlink/Wakeup

How do you connect to a LoRa device without it being constantly in receive mode?

While LoRa is low-power, a battery-powered device constantly in receive mode will run out of energy in days, making such an approach infeasible.

I will describe one method which uses CAD (channel activity detection) to do this. This handshake/downlink/wakeup protocol, whatever you want to call it is similar to LoRaWAN class B but conceptually simpler and more power efficient on the node side.

Successful Handshake Flow

LSE Stability vs Supply Voltage Stability and LSE Drive

There is an interesting relationship between the stability of a crystal oscillator and the stability of its supply voltage and MCU drive capability. Here I've used the ABS07-32.768KHZ-1-T on an STM32L4 board.

LSI with unstable voltage

For reference, this is the LSI output with an unstable voltage (voltage drifting between 2.7V - 3.0V) sampled by a logic analyzer. Despite the unstable voltage, the LSI is relatively stable with only a 100 Hz difference between the Fmin and Fmax. It has a bit of inacurracy with a 200 Hz difference from its 32 kHz specification.

LSE with stable voltage and lowest drive

@ghostfuse
ghostfuse / llcc68_sf_bw_compatibility.md
Last active April 9, 2026 12:01
Semtech LLCC68 Spreading Factor/Bandwidth Compatibility

Semtech LLCC68 Spreading Factor/Bandwidth Compatibility

The Semtech LLCC68 does not support all spreading factors with all bandwidths. Source: see the note under Table 6-1 of the LLCC68 datasheet.

  1. Not all SF are available for any bandwidth with the LLCC68

This seems to be the only mention of it in the entire datasheet.

I've attached a screenshot of what it looks like to attempt to set an invalid SF/BW in a logic analyzer.