Just for experimental purposes and tracking with TTN mapper (ttnmapper.org) I made a LoR node with a button to send one LoRaWAN package. Of course it is based my own designed MiniPill LoRa.
Basically the node goes to sleep forever and wakes up on an external interrupt generated by the button. I use an external 4k7 resistor and 100n capacitor to “debounce” this signal. It is also possible to wake up on timed interrupt and external interrupt.
After sending a signal a LED is lit for 1 second. I use a Li-Po battery en power controller from an earlier project. The antenna is extended to the outside of the box to get a better signal.
Two example code repositories
I have made two example code repositories for this project. The first is with LMIC library. It is possible to use ABP or OTAA activation. It does not send a LoRaWAN packet immediately due to the queuing mechanism.
https://gitlab.com/iot-lab-org/minipill_lora_lmic_low_power_node_button_wakeup
The second library uses a Proprietary library and can only use ABP activation. The response is very fast, and the device does not wait for downlink messages.
https://gitlab.com/iot-lab-org/minipill_lora_prop_button_wakeup
Low Power measurements
Due to the use of the button and generate an interrupt with it, this node uses only 0.5 uA in stop mode: