Skip to main content


Bee monitoring system


Goal of the project

This on-going project is hosted at the Hackuarium association, a DIY biology hacking-space and open laboratory located in Ecublens (Switzerland).

The goal of the Bee Monitoring System (BeeMoS) project is to provide an open-source hardware and software solution in order to monitor honeybee hives from a distance at a reasonable cost. Such a system would bring consistent and valuable non-biased data to assist beekeepers in their beekeeping tasks e.g to follow how much honey is collected and when to add an extra honey supper or to harvest honey; and to receive personalized alarms e.g. in case of swarming and theft. From the bees' perspective, this could allow to minimize the number of bee hive inspections and thereby cause less disturbance.
In a second phase, data gathering from multiple hives and apiaries could be used to detect abnormalities at a large scale and to build useful models to detect or prevent queen loss, swarming or conditions favorable for bee diseases.

Why should we care about bees? Western honeybees (Apis mellifera) are important insect pollinators that live in colonies of thousands individuals with a single queen. As bee foragers travel from plant to plant to collect nectar and pollen, plant cross‐pollination occurs, allowing plant reproduction and in particular fruit production. Honeybees are estimated to contribute to US$215 billion worth of crops annually worldwide (Smith et al. 2014) and to pollinate about one third of the Western world's crop species (McGregor, 1976).

Despite their importance, honey bees have been facing important declines due to multiple causes including acarian, viral and bacterial pests, exposure to pesticides and poor diet due to large-scale monocultures. The automatized large scale monitoring of bees could allow to detect unexpected patterns and to provide data-based evidence on the long run rather than biased interpretations based on a few manual inspections.


Board: ESP32-C3 Mini Lolin

Current pin assignments:

0Battery levelAnalog read battery level using voltage resistor with R1=R2=220kOhm. First tests indicate a value of 2895 for a full NCR18650B battery (4.12V) , and a value of 1869 when the battery is empty (2.615V).
1Not assigned yet
2Not assigned yet
3I2C SDAI2C (SDA+SCL) is used to control Si7021 temperature and humidity sensor as well as other devices (scale, light measurements...)
4I2C SCLI2C can be set on any pair of GPIO pins, the code must explicitly specify those pins (with Wire.begin(SDA,SCL) e.g. Wire.begin(3,4)
5Not assigned yetCaution: this pin is on ADC2 and by default there are conflicts when WiFi is used in code.
61-WireThe 1-Wire protocol allows to connect multiple DS18B20 temperature probes to the same pin. The external temperature probe is connected to this pin.
7Builtin LEDThis pin is used for the "Blink" task which is the lowest priority task blinking the LED. It allows to detect in case the board is in a frozen state or reboots frequently by observing the LED blink pattern (or absence of blinking).
81-WireThe external temperature probe is connected to this pin.
9Pin not exposed, internally used for button switch
10Not assigned yet