AAA Powered LoRa Mailbox Sensor Goes The Distance

As more of the world’s communication moves into the electronic realm, a casualty has come in the physical mail. Where once each new day might have brought with it a bulging mailbox, today it’s not uncommon for days to pass with not even so much as a bill or a coupon book. For [Eivholt] this presents a problem: he doesn’t want to miss a parcel but most visits to the mailbox are futile. His solution is a LoRa-connected mailbox monitor that sips power from a pair of AAA batteries to the extent that so far it’s run for over two years on a single set.

At its heart is a single board, a Talk2 Whisper Node. This packs a low-power version of the ATmega328 microcontroller alongside a LoRa radio and an efficient power regulator allowing it to draw only 8.70 uA in standby mode, waking up only for extremely short periods to check for mail and report via LoRa to The Things Network. The sensor is simply a microswitch, selected after finding a reed switch problematic to install. Finally an SDR was used to debug the operation of the radio.

The write-up also provides an introduction to extreme low power projects, including some tips on measuring such tiny currents. Even if you have no interest in a mailbox, any tricks that can help maximize power efficiency are always worth taking a look at. Check out the video after the break to see this radio-equipped mailbox in action.

29 thoughts on “AAA Powered LoRa Mailbox Sensor Goes The Distance

  1. While I realize sometimes we build things without cost consideration (guilty as charged) but there are ready built solutions for mailbox alerts that are under $50 that even include email notifications. No separate CPU/SBC or programming required. Add in a motion sensing light (for nighttime or any 8-legged squatters) and you’re set.

    1. The immediate problem’s solution is often outsourced more efficiently, but what everyone (builder and reader alike) learns in the process of developing a DIY fix is the real value.

    2. I agree and this project was at least as much driven by curiousity as necessity. I would be interested in knowing what available solutions exist, as I did not find any at the time the project started. Mind you, the mail box is situated out of wifi-range.

    3. Personally i like stuff like this. When my wife was pregnant 20 years ago, she liked taking the trip to the mailbox but hatted doing it every time she thought she heard the mail man. I just used an electric wireless doorbell with the switch tied to a magnetic reed switch. Open the mailbox door and walla.

  2. I don’t know what country he is in, but in the US, you can sign up for free email notifications from the USPS. It’s called informed delivery. However, I can see other uses for LORA that don’t duplicate a free option.

    1. In Germany we don’t get notified of anything else than parcels. Which are handed over to you anyway. But for all the rest you need to walk to your mailbox.

      That is extra annoying if you rent a fake address so that your kids can go to the school of your (and their) choice due to the fucked up school district laws. Anything that doesn’t cost a Sim-card and notifies you for mailbox activity will pay off in no time.

    2. That is mostly true for parcels in Norway too, but often not for cheap deliveries from Asia that show up after a month. Then there are everything from letters to kids birthday invitations that you want to know about before too many days have passed.

  3. “in standby mode, waking up only for extremely short periods to check for mail and report via LoRa to The Things Network.”

    Not sure why you would even need to wake up and check. Tie the sensor to an IRQ and have it wake up when something happens. No need to “check” for it

      1. It is true the MCU is in deep sleep until the external interrupt is triggered by the switch. Technically the MCU only sleeps for short bursts, you can see this in the power profile if you zoom in close. I decided to not make the device report periodically to notify it is alive to save even more power. Instead I registrered a watchdog in AllThingsTalk that notifies me when no signal has been received in 4 days. It leaves a bit of uncertainty for the reason, but it will last a bit longer.

        1. The payload of each trigger is the battery voltage as 2 bytes. Since the notifications display the voltage I have a pretty good indication of how the batteries are doing. I could define a rule to notify extra when the voltage drops under a certain level. The LDO should be able to supply 3v3 even when the batteries drop to 0.7v, which I think is pretty impressive.

  4. My solution uses a CdS cell, comparator, Murata CMWX1ZZABZ-078 and a single CR123A. The CdS is mounted to the back of the box, and the electronics are mounted underneath. Opening the door in the dark won’t trigger it, but pretty much any ambient light level that a mere human can see in the box is sufficient to trigger it. When triggered it sends a notification via LoRaWAN to the Chipstack instance, which is monitored by the NodeRed server. When the door is opened, an announcement is made over the household Alexa devices. This works most of the time, except for when node-red-contrib-alexa-remote2 or one of it’s sub-modules flakes out and “forgets” how to post messages to the Amazon API…

    Quiescent current is somewhere around 11ua, and transmit is current is 60ma (IIRC) . The battery should last at least 5 years. My gate notifier, which is based on more or less the same hardware, has been running over a year, and the battery voltage has dropped from 3.12 to 3.08 volts in that time. A notification is sent when the gate is open or closed, and heartbeats every hour. The NodeRed server logs the temperature and battery voltage and I plot the temperature in a NodeRed graph node.

    1. Thanks for sharing your project details! I also like the Murata and use it when size is important. I also use cr123a batteries with my Rocket Scream dev boards, great for 3v in a small size. I want to experiment more with coin cells. I find the use of CdS interesting, will keep that in mind for future projects. I’m curious though, do you get a lot of triggering in the dark? I live above the arctic circle so it’s dark most of the day in the winter and light all summer. I was prepared that the sensor would trigger excessively (wind and whatnot), that it would require a lot of filtering, but that has not been a problem at all.

    2. > This works most of the time

      And this is why I don’t like the whole api-over-api-over-api approach to LoRa. It’s pretty esoteric in the first place when you could just send the message to a raspberry pi somewhere actually in your house.

  5. Remember Steve Ciarcia? The guy doing cool projects in the early Byte Magazine?
    They discontinued his column because the publishers did not realize that his “computerized wood stove monitor” was just a vehicle to instruct the logic, process and parts used.
    The publisher just did not get that it was an instructional example.
    It was only 50 years ago and I still am annoyed they axed his column :)

  6. My solution was to mount a door hinge horizontally on my mailbox door. When I pick up the mail, I raise the free end of the hinge. It stays in that position until the mail box door is opened when the mail is delivered, when the free end of the hinge falls by gravity. When I look out my window, I can instantly tell whether the mail has been delivered. Fluorescent paint on the inside of the hinge makes its state pretty obvious from a distance. No batteries required.

    1. A tried-and-tested solution that brings me back to Day of the Tentacle computer game. To be honest, the ability to get mail notifications while at work or on holiday has presented a new problem: when unexpected deliveries arrive I spend the rest of the day wondering what’s waiting at home ;)

  7. I find 8.7uA quite a lot for standby mode nowaday’s. It was some 15+ years ago that those numbers were impressive.

    A 20s search on the ‘web for low power microcontoller nowaday’s gets numbers like:
    “Sleep currents as low as 9 nA with power-efficient wake-up sources and run currents down to 30 μA/MHz”

    On the other hand, It may be lower than the self discharge of your AAA’s and therefore not very relevant.

    1. Well, I think you might be looking only at the MCU power consumption. Remember there has to be a power regulator, lora-radio and in some cases a RTC. It all adds up. I have yet to find a complete (Arduino-compatible) dev board that can do better. The Mini Ultra LoRaWAN comes close at 35 uA, check out my other recent project using it here:
      Also, the ATMega328p in the Whisper Node is more than 15 years old ;)

      1. With readily available development boards you’re indeed unlikely to do (much) better.
        Getting below those 8uA sleep current would likely need stuff like removing the voltage regulator altogether (wich can be done if fed from 2 0r 3AA’As).
        Another technique for lowering the power consumption is to use a uC pin as output to switch the Vcc of external circuitry (such as the LoRa module (But that one probably needs to high peak current during sending)

        Some (lineair) voltage regulators are 1uA idle current.

        With such low power consumption every little detail becomes important.
        Leakage current to an external MOSfet (to switch an external peripheral) can easily be > 1uA and leakage through electrolytic capacitors can also be >> 1uA. Leakage currents may also have a pretty big temperature cooficient, and many more potential problems which require carefull design.

        Off the shelf development boards are rarely developed around such parameters.

  8. I tend to look at this projects not as an automated mailbox, but as a LoRA-Radio plus Arduino programming course that costs you $50 and you get an mailbox as a gift. I know most things that were published here could get bought from China for a couple bucks, but you won’t learn anything (maybe how to buy things online, if you don’t know already), but learning it all the fun.

    What I would change: get rid of the LoRA, put an ESP32 or ESP8266, keep it powered off all the time, and when I get email, start it, connect to my home wifi (the mailbox is not that far anyway) and send a message to anything (IFTT is great). Cheaper than the current setup.

    Great project!

Leave a Reply

