Guides › LoRa mailbox notifier
📬 LoRa mailbox notifier
“My mailbox is 150 m from the house and WiFi doesn't reach. How do I get a 'you've got mail' alert?”
WiFi rarely reaches 150 metres. LoRa, a low-power radio made for small messages over long distances, does. A battery sender in the mailbox wakes when the flap opens and sends one short message; a receiver in the house passes it on to your phone.
What to buy
| Part | Why this one | Rough cost |
|---|---|---|
| 2 ESP32 boards with LoRa built in (e.g. Heltec WiFi LoRa 32 V3 or LilyGO T3-S3) | One sender, one receiver. Built-in LoRa saves wiring a separate radio module. Buy the band for your country: 868 MHz in Europe, 915 MHz in the US, 865 MHz in India. | $15–25 each |
| An antenna for each board (usually included) | Never transmit without the antenna connected: it can damage the radio. | included |
| Reed switch and magnet | A switch that closes when a magnet comes near. Mount it so the flap moves the magnet. | $1–3 |
| LiPo battery or an 18650 cell with holder, for the sender | These boards have a battery connector and charger built in. | $5–10 |
| Small weatherproof box | For the sender, if the mailbox is metal (see below). | $3–8 |
Prices are rough ranges, not quotes. Check the current price and stock before you order.
What to install
Use the RadioLib library in Arduino; it's actively maintained and supports these boards' LoRa radios. The sender sleeps, wakes when the reed switch changes, sends a message of a few bytes, and goes back to sleep. The receiver stays on, on USB power in the house, and sends the phone alert when a message arrives: through ntfy, or through Home Assistant if you run it.
Two boards talking directly need no gateway and no monthly fee. That's plain LoRa, not LoRaWAN (the network version, which needs a gateway).
Build it in three steps
- Talk across the table. Get the two boards sending and receiving a test message on your desk, and print what arrives over USB.
- Walk the distance. Put the receiver where it will live, run the sender on its battery, and walk it out to the mailbox. Check that every message arrives. Walls, trees and hills cut the range a lot; a receiver near a window, or higher up, helps.
- Add the switch and the sleep. Connect the reed switch to a pin that can wake the board from deep sleep (a very low-power state where almost everything is off). Send one message per opening, then sleep. Add the phone alert on the receiver.
What catches people out
- Metal mailboxes block radio. Put the antenna outside the box, or put the whole sender in a plastic box on the post.
- Dev boards leak power while asleep. The chip may sleep at a few microamps, but the board's LEDs, USB chip and voltage regulator can draw far more. Measure the real sleep current (a multimeter on its µA range, in series with the battery) before trusting any battery-life estimate.
- Use the legal band. 868 MHz in Europe, 915 MHz in the US and Canada, 865–867 MHz in India, 923 MHz in much of Asia; check yours before buying. Selling a product with a radio also needs that country's approval (e.g. CE in the EU, FCC in the US, WPC in India). In Europe you may only transmit for a small share of the time (typically 1%). One short message per opening is far below that.
- A wobbly flap sends several messages. Ignore new openings for a minute or so after each one.
Field tip
“In my experience, antenna placement and line-of-sight made the biggest difference in practice. The spreading factor also helped, especially in challenging conditions, while proper antenna matching was important for getting consistent performance.”— Arash Golsaz, embedded systems & IoT engineer, who tested LoRa nodes over 5 km. The spreading factor is a LoRa setting: higher values reach further but send more slowly.
Your version is different?
Ask IotMentor with your own details: distance, power, budget, experience. It asks a few questions back, then gives you a plan like this one, free.
Ask IotMentorStarts with: “My mailbox is 150 m from the house and WiFi doesn't reach. How do I get a 'you've got mail' alert?” Add your own details before you send it.