A standard system for laboratory equipment development

Public Chat
Similar projects worth following
BeeHive is a modular electronics framework to make the development of laboratory equipment easier and more affordable!

Hi There!
Welcome to BeeHive's project page. In this section you will find the reasoning why we started this project and what solutions we are proposing for the problem we are trying to address. At the bottom of the page you will find a table with links to all sub-parts of the project and its repositories.


If you ever been to a biology laboratory, you might have noticed that a lot of the equipment in there are designed to perform very specific tasks. Each task is normally performed by one machine, but from the electronics point of view, all these machines have a lot of similar modules!! Here are some examples, with each item in the list below organized as:

  • task - machine examples - electronics module (overall view)
  • Heating.cooling static samples - Dry baths, PCR machines - peltier elements, H-bridge, temperature sensors
  • Heating/cooling flowing solutions - in line heater, heated chambers - peltier elements, H-bridge, temperarture sensors
  • Keeping air in a chamber at constant conditions - incubator - peltier elements, H-bridge, temperature sensors
  • Controlling fluid injection - syringe pumps - stepper driver
  • Controlling fluid flow (reward systems, perfusion) - peristaltic pumps, solenoid valves - H-bridge/solenoid controller
  • control gas flow - solenoid valves - H-Bridge/solenoid controller
  • Measuring environmental variables (temperature, humidity, light levels) in  animal husbandry rooms - different types of sensors - microcontroller+sensors

All of the above are just a subset of the types of machines in a lab, and what we can see from these examples is that there is a lot of repetition on the electronics behind different devices!

Unfortunately, this repetition did not bring about the benefits we would expect, that is, these machines are not made cheaper or more accessible because they could have interchangeable parts, or because they are easy to repair, etc.

Being expensive and only available for purchase via a few different companies, makes these machines only accessible by researchers in academic institutions. And even in this case, researchers have to be in well funded laboratories in specific locations in the globe (as being away from the "global north" increases the complexities of shipping, customer care, customs etc).



One possible solution for the problem mentioned above is to make scientific equipment easier to access/build/understand/modify.

This is where BeeHive comes in! We are building a modular platform that will allow people to pick up different modules and build equipment, making using of re-usable electronic modules as well as code.

The system specification:


  • A central breakout board for ESP32
  • different custom PCBs, each responsible for one task (H-bridge, solenoid driver, 8 switch array, IR photo transistor controller, temperature sensor breakout)
  • Standard pin out for the boards, allowing other PCBs to be created by anyone
  • compatibility with GROVE System for different sensors and actuators
  • A training board with different actuators and sensors so that users can focus on developing their own different firmware for their applications, before figuring out the electronics and their connections (to be implemented)


  • MicroPython
  • Compatibility with Bonsai-RX using Open Sound Control protocol
  • Compatibilty with LabThings for smart control/observation of the different tools.
Table of contents

- GitHub organization (with more detailed documentation on how to build things)
- Repository containing all board definitions and main implementations/enhancement issues being discussed
- repository
- project log on
Behavioural task under the microscope
- repository
- project log on
Behavioural taks in home cage
- repository ...
Read more »


An overview of potential applications for the system

Portable Network Graphics (PNG) - 533.21 kB - 08/06/2021 at 16:41



First prototype of BeeHive. ESP32 on protoboard, plus PCBs that contain "spike and hold" circuit (2X per board) to control solenoid valves

JPEG Image - 2.42 MB - 06/30/2021 at 11:58



PCB iteration of the central hub of BeeHive.

JPEG Image - 2.58 MB - 06/30/2021 at 11:57



H-Bridge circuits to control linear actuator and DC motors

JPEG Image - 2.10 MB - 06/30/2021 at 11:57


View all 12 components

  • Pinout and voltage lines

    Ihor Sobianin3 days ago 0 comments

    Sometimes, electricity is just not there no matter how many times a device is being turned on and off. There are parts of the world, like certain regions of Africa, where continuous supply of electricity is a sign of good luck. Thus, in BeeHive we decided to adapt a commonly used 12V in batteries so our system could be powered autonomously. What it also means is that BeeHive is secure from different electrical fluctuations of a power source, provided it is connected to the battery. The 12V line is used as main line, yet we have two other voltages present in our system.

    12V is being stepped-down to 5V via LM2596. 5V is used to power ESP32, Raspberry Pi and it is also always present on one of the pins. This voltage is also used by Grove system and it creates a hardware compatibility between two ecosystems.

    3.3V voltage is generated by ESP32 on its pins and is used to control other ICs, blink LEDs and many more.

    We have briefly touched the aspect of compatibility between Grove and BeeHive in this and previous logs. The main factor that allows our system to be integrated with Grove is the same voltages and pinouts. However, Grove system uses proprietary connector thus we developed a small PCB/adaptor for BeeHive to connect properly.

    It is also available as a panelised in 4x3 array, so the user can safe some money and does not need to order small PCB adaptors in big quantities.

  • Design decisions: modularity and microcontroller

    Ihor Sobianin3 days ago 0 comments


    When we first started developing Beehive, we needed to decide which of
    the many available microcontrollers we would use. Given that there were so
    many options available, we decided to focus on researchers (our initial target
    audience) needs and skills as the main driver for our decision.
    What we know about our target audience:
    - They use python as one of their main programming languages for data
    analysis, therefore choosing a board that could deal with micropython
    would be an advantage, as they can with little effort start writing
    routines for BeeHive.
    - They require data to be transmitted from more than one device at a
    time to a central location, so using a board with built in wireless
    communication capabilities (Wi-Fi and Bluetooth) would be an
    advantage, as different devices could be all part of the same local
    network and send data to one central computer.
    - Not all researchers are based in institutions that can either afford
    expensive boards, or even having the money, have access to certain
    boards. Our chosen board would need to be truly globally available.
    - Some experiments are performed over multiple equipment in parallel,
    so again having a board that was quite affordable was important, so
    the price tag would not escalate with the number of equipment built.
    Putting the points above together, it came as an easy decision to select ESP32 as
    our main board, since it is quite affordable, ubiquitous available, having many
    pins/communication protocols, wireless capabilities and can run MicroPython.


    Since we cannot foresee all possible current and future uses for BeeHive,
    we decided to go with a modular approach, similar to Seed Studio GROVE
    system, where, we have a central breakout board, where the pins from the
    ESP32 are made available via number of 4-pin XH-JST connectors, and a selection
    of “daughter boards” where each board is dedicated to performing one function.
    For example, we have a temperature sensor breakout board, that allows easy
    connection of the central board to up to 6 DS1..., and an h-bridge board, that
    allows us to drive DC motors and/or peltier elements. So if one application is an
    incubator, we can combine these 3 boards (main, temperature sensor and H-
    bridge) and have a closed loop system in place in no time.
    Another point of this modular design is that this makes it easy for others
    to create their own modules for BeeHive, all they need to do is respect the
    guideline of “one board one function” and the pin out we established for the main board. This will allow the BeeHive community to leverage each other’s work and come up with new applications for this ecosystem.

    Finally, BeeHive is GROVE compatible, so we can leverage the many sensors and actuators developed for that ecosystem. The main difference from GROVE is that Beehive is using connectors with higher power ratings, and so we can drive different types of actuators.

  • BeeHive modules

    Ihor Sobianin08/21/2021 at 13:15 0 comments

    One of the key features of BeeHive is its modular approach that helps find the right tool for the right job.
    The heart of the system is a main hub which is based on ESP32 microcontroller. The main hub has in total 16 connectors .

    These connectors are:
    - 8 digital general-purpose connectors
    - 3 analog connectors
    - 2 I2C connectors
    - 1 UART connector
    - 2 12V5A connectors

    The main hub utilises a number of designated modules to complete a given objective. Right now, these boards are at user's disposal:

    12V5A breakoutA 12V5A breakout is a simple way of having additional supply of 12V for your system which can be distributed as needed. For example, 12V may be used for solenoid driver board or it can be step down to 5V with 5V3A power supply.
    12V to 24V boost converterA 12V to 24V boost converter is a standalone board for having a conversion of 12V to 24V.
    4 and 8 transistor switch arrays4 and 8 transistor switch arrays are used in cases when user needs a generic board to switch things on/off, for example a low powered LED. 8 switch array is based on 74HC595 shift array which allows to effectively control up to 8 devices.
    universal high load driverA universal high load driver is a classic H-bridge layout that can be used for heating up a Peltier element or driving low-powered motors.
    gas sensorA gas sensor board is built around MQ-6 gas sensor and can be used in any situation when the level of gas should be monitored
    high power LED transistor switch arrayA high power LED switch employs MOSFETs transistors to drive LED or any other devices that cannot be driven by 4 and 8 switch arrays due to their power ratings.
    humidity and temperature sensorA humidity and temperature sensor board is designed around DHT11 and DHT22 sensors and may use any. 
    IR sensor and IR LED boardAn IR sensor and IR LED board is designed to work with 5 IR LEDs and register each of them independently via 5 IR phototransistors.
    3.3V to 5V bidirectional level shifterA 3.3V to 5V bidirectional level shifter is a board that can be used in cases when logic levels need to be matched.
    standalone 12V5A to 5V3A power supplyA 12V5A to 5V3A power supply step down 12V from the main board OR from the 12V5A breakout to 5V and distributes it to 4 connectors. Pairs with switch arrays.
    solenoid driver boardA solenoid driver board is using so-called "spike and hold" method to drive solenoids in a highly effective manner.

    Check out our Wiki to learn more.

  • 2 Alternative Choice Test

    Andre Maia Chagas08/17/2021 at 23:19 0 comments

    One of the applications for BeeHive is to control a behavioural task for rodents where animals watch two computer monitors and have to tell via behavioural responses which monitor was presenting an image.

    If the animal makes the correct choice, the systems delivers a small amount of liquid reward to the animal.

    The task control is done with BeeHive, which also sends synchronisation signals to the microscope used to observe the animal's brain activity.

    This application is being documented on Github:

    The behavioural part of the system is composed of:

    • Beehive main board
    • DAC add on to encode signals to microscope DAQ
    • Solenoid drivers to control water delivery
    • H-bridge to control linear actuator
    • OpAmps to get vibration signal from piezo elements (attached to licking spouts)
    • Logic Level converter to allow communication between BeeHive (3.3v) and other electronics in the microscope (5v)

  • Inline heater

    Andre Maia Chagas08/10/2021 at 12:02 0 comments

    Inline heaters are used in labs to warm up solutions as they are passing through a system, normally close to where they will be used. This way there is better control of the solution temperature at its use point.

    We are using beeHive and off-the-shelf components to build an inline heater capable of heating solutions to physiological levels (20-50 degrees Celsius).

    Documentation for the inline heater can be found here:

    The system is composed of:

    • Beehive main board
    • Temperature breakout board
    • H-bridge
    • nichrome wire as a heating source
    • 12V power supply
    • Stainless steel or glass tubing

  • Incubator

    Andre Maia Chagas08/10/2021 at 11:57 0 comments

    Incubators are used in many different labs, in many different research fields.

    Primarily used to keep their internal space at a set temperature, different models also control humidity, concentrations of different gases and lighting levels.

    We are using beeHive and off-the-shelf components to build an incubator that will control temperature and light levels.

    The incubator documentation can be found here:

    The system is composed of:

    • Beehive main board
    • LCD screen for user feedback
    • Temperature breakout board
    • H-bridge
    • peltier element and cooling fans
    • Fan to create airflow
    • LED strip to control internal lighting
    • 12V power supply
    • Ice box as the main body

  • 5 choice serial reaction time task

    Andre Maia Chagas08/06/2021 at 17:09 0 comments

    One of the applications for BeeHive is to control a behavioural box for rodents. The first task the system will be controlling is called "5 choice serial reaction time task".

    This application is being documented on Github:

    this task consists of five ports, where mice can put their heads in. Each port has an IR beam, which is used to detect a head entry. at the back of each port, there is a white LED, which indicates to the animals, which port they should visit.

    once the animal makes a correct visit (that is, puts its head inside a port that has a back LED turned on), a pellet dispenser gives some food to the animal.

    This setup allows researchers to assess the reaction time of the mice in different ages, and in different conditions (night time X daytime, animals that show initial stages of cognitive decline X healthy animals, etc).

    Data from each session is transmitted to a PC on the fly (via serial or WiFi) for posterior data analysis.

    At the moment, we are running the first steps to implement this task, using MakerBeams for the box structure and plexiglass for its walls. The parts that the animals will interact with (ports, feeder etc) are 3D printed. 

    Here are some photos of the initial build up:

View all 7 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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