LoRaWAN Birdhouse

A Birdhouse with Internet

Similar projects worth following
The birdhouse uses a weight scale on the inside to detect an inhabitant. The weight, temperature and battery voltage get transmitted via LoRaWAN to the Internet. It is power self-sufficient using a solar panel and battery.

Here are a few links to the main hardware components used:

And here are links to the software used:

openSCAD, mechanical drawings and images

Zip Archive - 34.54 MB - 07/25/2022 at 12:49


LoRaWAN setup and Arduino source code

Zip Archive - 804.39 kB - 06/19/2022 at 09:56


schematic and PCB images

Zip Archive - 5.50 MB - 06/15/2022 at 05:01


  • 1 × Grasshopper LoRaWAN Development Board STM32L082 Development Board with SX1276 LoRa Radio programmable using Arduino IDE via USB Connector
  • 1 × SparkFun Load Cell Amplifier - HX711 small breakout board for the HX711 IC
  • 1 × Linear Technology LTC4070 Li-Ion/Polymer Shunt Battery Charger System
  • 1 × Seeed Studio 0.5W Solar Panel monocrystalline solar panel
  • 1 × TAL221 Mini Load Cell - 500g 500g Load Cell

View all 8 components

  • Temperature Adjustments

    Jan Schlieper08/12/2022 at 16:01 0 comments

    With the TSic 306 installed in the scale I got thinking on how to measure the temperature drift of the load cell. I needed some way to cool and warm the scale just like when it's exposed to weather in the birdhouse. I eventually decided to put the scale into a small cardboard box and from there into the freezer of my refrigerator. There it could cool down over night and in the morning I would take it out and hook it up to the Grasshopper to watch it thaw. While it was thawing the Grasshopper would probe the weight of the empty scale and also record the changing temperature. In the image below you can see the tare point of the load cell change with the temperature:

    The image shows three measurement series (1.log, 3.log, 4.log). The Grasshopper did a tare first thing after getting the scale out of the freezer. And after that you can see the tare point sink further and further the warmer the scale gets. The measurement series are almost linear which should make it easy to compensate using the formula below:

    After applying this correction the measurement series look like this:

    Using this simple formula the temperature drift changed from 4-5g to less than 0.5g over the temperature range measured. Implementing this into the Grasshopper should not be difficult. But it remains to be seen if this will also work in a real world environment.

  • New Thermometer

    Jan Schlieper08/09/2022 at 05:28 0 comments

    I have been testing the DS18B20 thermometer over the past few days. There are some drawbacks using the One Wire protocol (it's a bit complicated). I also had some issues turning off the DS18B20 to save power. The DS18B20 has a low standby mode of less than 1 µA but I wanted to turn it off completely which proved to be difficult. So I started looking for an alternative thermometer. After some searching I found the TSic 306 which turned out to be really nice. It is a pre calibrated digital thermometer just like the DS18B20 and also comes in a TO-92 package. It uses the much simpler ZACwire protocol to communicate with the micro controller. And it can be turned off completely between temperature readings to save power. Initial tests of the TSic 306 are looking good. Next I will have to come up with a setup to measure the temperature dependency of the load cell.

  • Scale Improvements

    Jan Schlieper07/25/2022 at 13:00 0 comments

    I have started working on another scale. This one has drainage holes in the corners of the base plate in case water gets into the birdhouse (please see the There have been a couple of downpours since I have hung the birdhouse and I'm not sure if any/how much water has gotten in. And I have added a mount point for a DS18B20 digital thermometer. Having a thermometer connected to the base plate of the scale should give better ambient temperature readings for the inside of the birdhouse.

  • Load Cell Temperature Compensation

    Jan Schlieper06/24/2022 at 09:29 0 comments

    One thing I noticed about the load cell: It is not fully temperature compensated. During a 24 hour period you can see the zero (tare) point move up or down by 1-2 grams. This is not a big issue since a typical bird for this type of birdhouse weighs about 10 grams but maybe there is something that can be done here.

    I was thinking about using the temperature measurement to compensate for this drift. But the CPU thermometer used right now is not very well suited for this kind of correction. The CPU temperature is always a few degrees higher than the ambient temperature. And with the shunt regulator also close by it's not measuring the actual temperature of the weight scale.

    For the next version of the birdhouse I was thinking about maybe mounting a Dallas Semiconductor DS18B20 one wire thermometer next to the load cell. That thermometer could help level the temperature drift and would also provide a better ambient temperature reading for the birdhouse.

  • First Couple of Days

    Jan Schlieper06/19/2022 at 10:12 0 comments

    I have hung the birdhouse into a tree 11 days ago. So far the scale has not detected any tweeties. With nesting season already in full progress this was to be expected.

View all 5 project logs

  • 1
    Saving Power

    Power consumption of the hardware is at about 2-4 µA in idle sleep mode. To get there you have to cut the PCB trace for the power LED of the Grasshopper (please see the And you also have to remove pullup R5 on the HX711 SparkFun board. Another important component to save power is the schottky diode D1. It needs to be a diode with a very low reverse current. Otherwise the battery will drain via the solar panel e.g. during the night. And last but not least there is the voltage divider R1, R2 used to measure the battery voltage. The Grasshopper can switch on/off the divider via transistor Q3 so it only uses power while measuring the battery voltage.

  • 2
    External Antenna

    To disable the chip antenna of the Grasshopper you have to remove the 0 Ohm resistor next to the IPEX connector (please see the

  • 3
    Mounting the Scale

    The scale is inserted into slits on both sides of the birdhouse (please see the There is a millimeter of room on all sides for the scale to move around. The reason for this floating type of mount is the wood contracts and expands due to moisture/temperature and would otherwise exert pressure on the scale.

View all 3 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates