Our project aims at destroying the biofilm of Pseudomonas aeruginosa. This biofilm can be adapted to many environments which could be inside or outside the body. To make our experiments easier and to prove that our engineered Escherichia Coli works, the dry lab team created an automated incubator. Our incubator takes charge of the plate during all the experiment : it provides the wished experiment parameters and does the analysis of the plate. To do so, our automated incubator has 3 functions : an environment control module, an agitation module and a fluorescence module.
The first module sets the environment parameters: our incubator controls and monitors temperature and humidity. Indeed, these two parameters have a significant impact on bacteria growth and must be properly set. Here, the challenge is to obtain a stable atmosphere, so that we have the same growth characteristics during the whole experiment.
The second part operates the plate movements. Bacterial growth requires agitation to homogenize the access of the cells to the surrounding medium. We chose to implement this agitation by controlling the position of the multiwell plate where our samples are, at any time. This agitation is necessary to grow bacteria to form a biofilm. Moreover, this module is necessary to examine each well of our plate precisely to analyze its fluorescence.
The last part is the detection module. We chose fluorescence because you don’t need to extract a part of the medium to make the analysis and fluorescent genes can be a constituent element of bacteria. This means that we can remove human interaction with the plate during the analysis. We chose to use green and red fluorescence to distinguish the E. Coli and P. aeruginosa evolutions. Thanks to this module, AMI takes care of the analysis and is able to show the results of the experiences.
The first step in cell growth culture is to define the culture conditions. AMI is taking care of two important environment parameters: temperature and humidity in addition to a physical parameter: the agitation.
An overview of the components and the global electronic circuit is shown in the Figure 1 below.
The temperature module is composed of a power supply of 24V and 5A, a relay which plays the role of a controlled switch and ATE RB50 heating resistors. Heating resistors are electric devices that generate heat. It is based on the Joule’s first law that is whenever an electrical current goes through a conductor and produces heat.
To make it to a fully wet atmosphere, we used an ultrasonic water atomizer. It works as follows: a little disk vibrates at the surface of water, shooting out microdrops in the atmosphere. This atomizer works in 2 parts: there is a control card that is an intermediary between the Arduino and the disk. The placement of the disk was tricky because it needed a perfect placement in order to properly function. The common solution is to support the disk with paper but it is quite unstable. We solved this issue thanks to the 3D printed piece with cotton inside the cylinder. Water is carried to the disk through cotton and the atomizer works nicely. Thanks to this, the atomization is independent of the water level.
Before trying to monitor the environment, it should be quite homogeneous. To do so, we used the idea of rotating heat in the ovens. Hence, 2 fans of 12cm*12cm were put on the back wall. These fans are powered with its own 12V power supply and they can be controlled by an Arduino (function “PWM fan”). That means that you can control the rpm or the cfm (cubic feet per minute).
We needed sensors both for humidity and temperature. We wanted sensors with high sensitivity (temperature precision of the order of 0.1K) and stability over time. After comparison with other sensors, we chose the DHT22 (Figure 5) because it was meeting the best of these expectations. To sum up, the DHT22 is both a humidity and temperature sensor. It is accurate at 0.1°K and 0.1 relative humidity and it works finely during such long experiments. Another plus for this sensor is its ease of communication with Arduino.
DHT22 temperature sensor is a NTC (Negative Temperature Coefficient) thermistor, it means that the resistance value changes in function of the temperature. Concretely, if you know the characteristic of the compound by reading its resistance then you know the temperature of the compound. For humidity, it is 2 electrodes separated by a moisture substrate holding that changes its resistance with moisture. That’s the same idea as temperature : by knowing the characteristic of the compound, if you measure the resistance then you have access to humidity.
But all of these components need to be controlled in order to perform their proper function, and this is what we are going to see in the next paragraph.
Control of the environment module
Due to our choice, which was based on heating resistances, the temperature evolves thanks to long term effects. Indeed, when you stop the current which supplies the resistances, it will take time to cool down and therefore continues to heat up the atmosphere. About humidity, it evolves instantly because it is an on/off phenomenon.
Hence, the automation of the temperature is more complex than the one for humidity.
control of the temperature is based on a PID (Proportional-Integral-Derivative)
The PID corrector adapts the heating power depending on the error between the
temperature and the actual one. Concretely, the PID corrector decides on the duty
the PWM (Pulse Width Modulation) alimentation for heating resistors.
If you want to go a little deeper in the PID theory, there are 3 proportional coefficients that have to be calibrated to get a good answer of the system. Each of them has its own effect : reaching the desired value, deciding on the speed or stabilizing at the target. That is what the PID corrector plus the PWM supply does: it allows the environment to smoothly reach and stabilize at the desired temperature with low overshoot.
Regarding humidity monitoring, we set our water atomizer to work until reaching a
humidity of the desired value. In the case you need saturated humidity, the
is set to 99,5% of relative humidity.
Prototype and results
We made a prototype of the environment module with a 10L box in order to validate in the first instance our choices. This prototype is a smaller version of the actual environment module. We checked many results with this prototype: to verify that the environment module works, to calibrate the PID corrector parameters, to see the influence of disruptions and how a biological sample evolves compared with a real incubator.
Too see the results of the experiments go to Results.
Plate displacement module
The first goal of the plate movement module is to create an agitation for bacteria growth. The second goal is to line up the desired well and the detection module. To reach these 2 goals, we created our own device thanks to 3D printed pieces and stepper motors. In this part we will develop an overview of the module and how it works. Thus we focus only on the agitation function as the displacements well by well use the same idea and computer programs are very similar.
A 3D model was built on ©Fusion 360 before building the agitation module. It saved us some time and plastic waste as this model was used for printing the 3D pieces.
We got inspired by the 3D printer we had in our room to build this plate control device. This results in combining 2 stepper motors, belts, pulleys, axes and limits switches.
We first created a base to hold the whole components. This base was 3D designed and we printed most of the pieces. Then the base is completed by two steel linear axes which support linear bearings. To these bearings we screwed 2 other plastic pieces supported by two additional linear axes. Which themselves carry the 96 plate holder screwed to two linear bearings. But a figure is worth a thousand words as you can see in figure 8.
To move the plate, we decided to use stepper motors because of their accuracy. An electric motor converts electric current into magnetic force and allows the motor to carry some weight away. Stepper motors are built to reach determined positions at the same angular distance. We used NEMA17 motors (Figure 9) which has 200 steps for one revolution, equivalent to 1.8° or 0.0157 rad steps. These motors are controlled with TMC2130 motor drivers. If you want more details on stepper motors, you can check the 2019 Grenoble Alpes hardware page.
The first goal of the plate movement module is to create an agitation for
second goal is to line up the desired well and the detection module. To reach
2 goals, we
created our own device thanks to 3D printed pieces and stepper motors.
To move the plate, we decided to use stepper motors because of their accuracy. An electric motor converts electric current into magnetic force and allows the motor to carry some weight away. Stepper motors are built to reach determined positions at the same angular distance. We used NEMA17 motors and it has 200 steps for one revolution, which means it does 1.8° or 0.0157 rad by step.
Basically, you need drivers that act as an intermediary between the microcontroller and the stepper motor. The Grenoble Alpes 2019 team used the driver DRV8825, but we chose to use the TMC2130. Basically, the combination motor-driver determines many things. Moreover, there is also how you code it, using pre-defined Arduino libraries or not, that determines how the motor works. In our opinion, this driver has many improvements because it allows more functions and also, compared to the DRV8825, it is noiseless. We ended up copying the idea of 3D printers: to combine 2 stepper motors, belts, pulleys, axes, limits switches and 3D printing support. The result is the possibility to move the plate on a plain which approximately is/does a square of 15*15cm.
The motors drive the pulleys which in their turn drive the belts. Thus, these pieces transform the rotative movement of the motor axis in a linear movement. In addition we added two switches in order to bound the plate’s stroke. All of the components are wired to an Arduino MEGA according the following scheme (Figure 11).
To observe the evolution of the biofilms of Pseudomonas aeruginosa as well as the PyoBusters which are our engineered E. Coli Nissle designed to kill the P. aeruginosa’s biofilm, we manufactured a module allowing us to follow by fluorescence in a qualitative way the evolution of the biological systems. We chose this technique because fluorescence is widely used in biology and also, for the biologists, it is relatively easy to insert fluorescence genes that can be expressed.
Fluorescence is a light emission induced by an excitation of the electrons of a
molecule. We use
this phenomenon to follow the biofilms and the PyoBusters at the same time, we labeled
with different fluorescent proteins. Each protein has its proper excitation wavelength
given by the excitation and the emission spectra (Figure 12).
Fluorescence is a light emission induced by an excitation of the electrons of a
molecule. We use
this phenomenon to follow the biofilms and the PyoBusters at the same time, we
with different fluorescent proteins. Each protein has its proper excitation
given by the excitation and the emission spectra (Figure 12).
The two fluorescent molecules we worked with are EGFP, dedicated to mark the biofilms and mCherry, the fluorescence expressed by our therapeutics bacteria.
Our fluorescence detection module is made of two main parts. The first one is the
part which includes the excitation light and the excitation filter. The second one
detection module, composed of an absorption filter and a light sensor able to detect
light like a camera (Figure 13).
The excitation module
In order to emit a sufficiently high intensity of fluorescence, bacteria need a
sufficiently intense excitation light source. To achieve this, we created a
fluorescent protein. The excitation light comes from RGB LEDs that can be
specific light with a chosen spectra. For the EGFP protein, the maximum
around 488nm, so we used the blue channel of the LED which emits a light between
(close enough to the maximum excitation). We coupled the LED with a 410 nm
shortpass filter (Figure 14) .
the mCherry protein we used the same
combination of the green channel of the LED (515-530nm) in addition with a
(cut-off wavelength: 510 nm) (Figure 14) .
We designed and printed a 3D plastic piece with 2 chambers. In each one, at the bottom 4 RGB LEDs and at the top the filters. The LEDs are controlled with an Arduino.
The detection module
The detection is made of two components, two absorption filters specific to each protein and a detector controlled by a raspberry microcontroller. The high-pass filters have shortcut frequencies of 515 nm to observe the EGFP and 610 nm to observe the mCherry (Figure 15)  .
The two absorption filters ensure that the camera receives only the fluorescent light coming from the sample. Without these filters the image captured is very noisy, and the image processing would be trickier. As we can see in the first image in the figure 17, the excitation light is clearly visible by the camera. The two other image show that with the 515nm high-pass filter the image get rid of the excitation light associated to the EGFP fluorescence (the blue light) and with the 610 nm high-pass filter, we get rid of the mCherry fluorescence excitation light (the green one).
The camera is a Picamera HQ with a Sony IMR477R detector of 12 million pixels (Mpx). On it we settled a 16mm lens which has a 10Mpx resolution (Figure 18). The camera is monitored by the Raspberry Pi 4. The lens enables to set the diaphragm’s aperture and the focal length. To focus on the samples and get an image without blur, we set the focal length at 16 mm and the diaphragm to its minimum aperture.
How is it controlled?
The light source is controlled by an Arduino with the
FastLED-3.3.3 library. We can set the intensity, the color and decide to switch on
picture is taken, we processed the image with a python script in order to get
the light intensity corresponding to the sample’s emitted fluorescence.
To understand better how the image is processed, here are the big steps of our algorithm. First, the image is reframed to get only the interest well, then we threshold the image in order to get rid of the possible artefacts and the noise, and finally we compute the average pixels containing the information. You can see the result below, Figure 20.
The samples are the well of the plate, to perform the best measure possible, the excitation light, the sample and the camera must be aligned, and this is managed by the plate displacement module.
The question of the filter is very important and took us a lot of work to find the right ones. The difficulty lies in the fact that the transmission light is very important but depending on what spectra you need, the transmission can be very bad. In a fluorescence microscope, the filters have a very high quality but are also very expensive. We had to deal with the best compromise between the price and the quality.
The lens has a lower resolution than the camera but it isn’t a problem because
with a 10 Mpx resolution the quality of the images will be quite good enough for our
application. With this
camera, the aperture isn’t sufficient to observe the whole plate, this is one of
the reasons why
we developed the 2D displacement module.
With the settled parameters of aperture and focal, it takes a dozen of seconds
picture. This is quite long and if we take a picture for both fluorescence for
each well, the
image capture can take 96 x 2 x 15 = 2880s=48min.
The structure of the testing bench is made of plexiglass for its robustness, its ease of drilling hence the manufacturing is quite smooth. In addition, we had to integrate all the wires properly and to do so we designed Printed Computer Boards (PCB). We let some electronic devices outside in order to protect them as they wouldn’t sustain the levels of humidity we use.
Modelisation and 3D printing
We made all of our 3D modelisation with the Fusion 360 software, prepared the pieces for printing with Ultimaker Cura and printed our pieces with a Creality Ender 3 V2 printer. All of the pieces were printed with PLA plastic, a common material used in these kind of application.
With the abilities of Fusion 360, we have been able to modelize completely our prototype. That was a very useful thing to do, in order to realize before printing the many problems that we could encounter during the building step. The time and effort put in the 3D modelisation allowed us to first save plastic because a lot of pieces of our testing bench are in plastic and printed with the 3D printer; as well as save time because the prints are long. In total we modelize close to a dozen of pieces.
One of the main reasons we have built this incubator is due to the excessively high cost of an industrial incubator on the market. With this device, a lot of laboratories without enough funds can acquire this technology.
|Element||Quantity||Price in €||Total|
|Heat and humidity module|
|upHere 12x12 fan||2||10,66|
|ATE RB50 5R6 heat resistors||6||29,94|
|Grove - Water Atomization||1||8,72|
|24V power alimentation||1||36,25|
|12V power alimentation||1||14,23|
|1.5mm² electric cable||2 meters||3|
|Raspberry Pi 4||1||45||493,85|
|Excitation filter High-Pass||1||73|
|200 mm chromed steel linear axis||4||17,98|
|Ø 5mm pulley||2||2,8|
|2 steel axis Ø 5mm and Ø 8mm compatible||2||4|
|608ZZ ball bearing||2||1|
|6mm belt||1 meter||2|
|Nema 17 HS4401||2||14,8|
|TMC 2130 motor driver||2||12|
|0.2 mm² electric cable||10m||3|
Our testing bench has been developed during 3 months due to the mondial pandemic and because the PyoBusters project started in 2020. In order to improve our testing bench the following ideas can be followed:
- Create of a complete hermetic chamber to prevent the air, heat and humidity leaks;
- Install a pump system providing gas mixtures, in order to mimic better biological environment;
- Install a microscope module able to see an entire well thus provide a better image of the cultured biological sample;
- Integrate a microfluidic system in order to cultivate biofilms in a non static environment;