Project showcase
IoT Bird Feeder with Sigfox and Tweeter

IoT Bird Feeder with Sigfox and Tweeter © LGPL

An IoT bird feeder which tweets when the lovely birds are landing and eating.

  • 2,862 views
  • 6 comments
  • 19 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

What is more lovely than helping these lovely birds getting food during cold winters ?

When you are a geek, you also want to get more information about them and the first thing to know, is how many times a day they would eat and if they need more food depending on the weather.

This project introduces you to the future of the bird feeders. More features will be suggested at the end of the presentation if you ever need more ideas.

How does it work ?

Every time a bird lands on the bird feeder, the Arduino MKR FOX 1200 will send a SigFox message including the current temperature in Celsius and the current percentage of humidity.

On the SigFox backend, two requests will be made when a message is received :

Before going to the details of the project, I would like to show the installation and the results on Twitter and Thinger.io.

Content guidelines

1. Hardware schematics

The schematic is quite simple.

2. Sensors

  • Weather sensor - BME280

The weather sensor that I use is the BME280 from Bosch. It is simple to use, has a I2C or SPI access (I chose I2C), low power, and small dimensions.

I am using this device to get the current temperature, humidity and pressure.

  • Vibration sensor

To detect the presence of a bird, I decided to use a vibration sensor. It is an open collector output and has a potentiometer to select the sensitivity of it. I have bought it on Amazon France : https://www.amazon.fr/gp/product/B00AYB1F7C/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1

  • Rain drop sensor

To avoid the undesired vibrations due to the rain, I added a rain drop sensor. It gives two information, if it is raining or not (as digital input) and the level of rain (as analog input).

If it is raining, the bird feeder will "sleep" for 20 minutes.

  • Food level sensor - HC-SR04

During the testing phase, it happened that I had no detection anymore after a couple of days. First I thought my IoT bird feeder had an issue but when I checked it out, it was just missing food.

So I decided to add an Ultrasonic Sensor (HC-SR04) for that. It is definitely not the best low-power device on the market (15mA comsuption under 5Vcc) but I had it at home and it is quite easy to use. In the future I can imagine using a better device.

Now I can relax at home and check the food level from time to time.

3. Source Code

Power supply

In order to make the bird feeder autonomous, I decided to add a solar panel and a 3.7V LiPo battery linked with a battery charger (TP4056).

More details might be added here.

SigFox

On the SigFox backend, two POST requests will be send when it receives a new message.

  • The first POST request is sent to IFTT in order to tweet. This is the easiest way I have found to tweet from the there.
  • It stores the data in a database located on thinger.io.

IFTTT

In order to tweet from the SigFox backend, the easiest way to do it was using IFTTT.

When the SigFox backend receives a message, it sends a POST request with the humidity and the temperature to IFTTT which will format the message and tweet.

Thinger.io

I wanted to store the data on database to display them on a web page and I think Thinger.io is a pretty nice and easy way to do it.

You can find the Thinger.io dashboard here : https://goo.gl/V3FNR7

At the moment, it displays the temperature and humidity when the latest bird came to eat.

Future features

There is always room for improvement. If you have any ideas, feel free to contact me.

3D printing

I am thinking about making a 3D printing which may includes location for the sensors, easy to refill.

Improve the server management

Because it was easier and faster, I decided to use Thinger.io to store the data and display a dashboard.

Therefore, it has some limitation, I can't display on the dashboard the number of entries in the database (aka. number of birds which landed on the bird feeder), I can't send notifications to phones, etc.

A complete control of the backend could be done. For example :

  • Custom database
  • Web service to decode the SigFox messages and take actions
  • Develop a custom web page to see all the statistics
  • Develop smartphone apps connected to this database

Code

Schematics

Fritzing file
iotbirdfeeder_1ipgMUvJPJ.fzz

Comments

Submitted to Contest

An RS Pro oscilloscope + an RS Pro soldering station + a Seeed Studio Grove Kit

Arduino MKR FOX 1200 Contest

Author

Aaeaaqaaaaaaaaqraaaajdiwy2flztawlwq0yjytngmwmi1imjexlthizwjhngflnwfjmq ihgtsrag2d
Gaël Porté
  • 1 project
  • 5 followers

Published on

November 14, 2017

Members who respect this project

1000325 575141115878768 1430981947 nDefault16939633 10211865388214967 440817052948442147 nY63jevngzysxn8uwctupDsc01482t500x500DefaultDefaultDefault

and 11 others

See similar projects
you might like

Similar projects you might like

Smart Bird Feeder

Project showcase by ESIEE-Amiens Students

  • 3,097 views
  • 9 comments
  • 14 respects

Solar Powered (Beehive) Monitor Using Sigfox

Project showcase by Vilém Kužel

  • 3,571 views
  • 0 comments
  • 18 respects

Squirrel Feeder Tweet

Project tutorial by 3magku

  • 938 views
  • 1 comment
  • 4 respects

Sigfox kWh Meter

Project tutorial by jassak

  • 6,295 views
  • 8 comments
  • 15 respects

Arduino MKR FOX 1200 Sigfox Meteo Station

Project tutorial by Giovanni Gentile

  • 3,400 views
  • 5 comments
  • 7 respects

The Environment Cube! Know the Land Beneath You using Sigfox

Project tutorial by Dhairya Parikh

  • 1,674 views
  • 0 comments
  • 4 respects
Add projectSign up / Login