Difference between revisions of "Team:Madrid-OLM/HardwareElectronics"

Line 96: Line 96:
 
                             <p class="lead">Although is essential to correctly choose the programming language for the different platforms, it is mandatory to keep an eye choosing the communication protocols between all of the device’s platforms.</p>
 
                             <p class="lead">Although is essential to correctly choose the programming language for the different platforms, it is mandatory to keep an eye choosing the communication protocols between all of the device’s platforms.</p>
 
                             <img class= "figureimage" alt="Figure1" src="https://static.igem.org/mediawiki/2018/9/96/T--Madrid-OLM--Device--FinalPrototype--SoftwareProto.png" style="width:90%;"/>
 
                             <img class= "figureimage" alt="Figure1" src="https://static.igem.org/mediawiki/2018/9/96/T--Madrid-OLM--Device--FinalPrototype--SoftwareProto.png" style="width:90%;"/>
                             <p class="lead" style="margin-left:10%; margin-right:10%;">Figure 3: The platform’s programming languages employed and the communication protocols between all of them.</p>
+
                             <p class="lead" style="margin-left:5%; margin-right:5%;">Figure 3: The platform’s programming languages employed and the communication protocols between all of them.</p>
 
                             <p class="lead">In our circuit there are five platforms liable to be programmed:</p>
 
                             <p class="lead">In our circuit there are five platforms liable to be programmed:</p>
 
                             <ol class="ourlist">
 
                             <ol class="ourlist">
Line 105: Line 105:
 
                                 <li><p class="lead">Finally, a <b>PC program</b>, written in python with Qt creator, is able to communicate through the serial protocol with the device. The application let you configure 8 different motors, run protocols sequentially or inject liquid in the microfluidic chips.</p></li>
 
                                 <li><p class="lead">Finally, a <b>PC program</b>, written in python with Qt creator, is able to communicate through the serial protocol with the device. The application let you configure 8 different motors, run protocols sequentially or inject liquid in the microfluidic chips.</p></li>
 
                             </ol>
 
                             </ol>
                           
+
                            <img class= "figureimage" alt="Figure1" src="https://static.igem.org/mediawiki/2018/6/62/T--Madrid-OLM--Device--FinalPrototype--CapturProgram.png" style="width:80%;"/>
                           
+
                            <p class="lead">You can find the code for the PC app, the Arduino control and the Rodeostat’s modified firmware in <a href="http://github.com/OpenLabMadrid/iGEM-Madrid-OLM">our GitHub.</a> Both the iOS app and the firebase server was set up thanks to the help of <b>Marcos Hernández Cifuentes</b>.</p>
                           
+
                            <p class="lead">The main controller which operates the rest of the components, Arduino Mega 2560.</p>
+
                            <ol class="ourlist">
+
                                <li><p class="lead">Immobilized aptamers on a PDMS surface. In order to create an electrostatic and mechanical trap for our targeted protein, we planned to work in a PDMS environment. PDMS is a well-known manufacturing material for electronics. So we could easily integrate PDMS in our device. </p></li>
+
                                <li><p class="lead">Optical measurement sensor. The materials required to test our sensor were a 280nm UV LED emitter and an LDR.  The amount of light traversing the solution was quantified by a drop in voltage across the LDR: with higher protein concentrations, higher absorption is expected together with an increased drop in voltage. </p></li>
+
                                <li><p class="lead">Microfluidics: for channeling fluids through the chip. Microfluidics allows us to move microliters of samples, minimizing the dead volumes and the waste through the chip.</p></li>
+
                                <li><p class="lead">Modular design and normalization: We needed to standardize the protocols related to hardware to reduce the number of variables involved. This would restrict the design and manufacture and help us a lot when playing with certain design parameters. </p></li>
+
                                <li><p class="lead">Enable the DIY: We had the need of developing everything in a way such that anyone, regardless his/her origin could replicate our experiments in an affordable and creative way.</p></li>
+
                            </ol>
+
 
                         </div>
 
                         </div>
 
                     </div>
 
                     </div>

Revision as of 20:12, 14 October 2018

Madrid-OLM

Electronic part of the device

Electronics

The final version of the device integrates multiples features. Each one of these characteristics come with its own platform and its own firmware.

We have chosen each one of them with the essential characteristic of being Arduino compatible. The final device looks like a patchwork, with all the different platforms working together to accomplish the main objective: automate the measurement of the electrode.

Hardware

The hardware is mainly composed of different modules, interconnected for two main purposes: distributing the powers rails through all the modules and communicating each module with the main controller.

Figure1

Figure 1: Diagram of the different platforms that run the system.

Broadly the system is composed of four main sections:

  1. A pump system on a microlitre scale. Composed of eight stepper motors, controlling the syringe’s pumps. It is in charge of injecting and removing the fluid from the chips. This system is directly connected to a 12V power supply and controlled through the digital pins from the main controller, Arduino Mega.

  2. A potentiostatic measurement system, the Rodeostat, directly connected to the microfluidic chip. It connects directly to the Arduino (Which governs the device) through Serial communication. For that purpose, the pins 26 and 31 of the P14 connector in the RodeoStat have been connected to the RX2 and TX2 pins on the Arduino Mega. The system is supplied by the 5V pin of the Arduino Mega power converter. For a more detailed description of the system, connection checks this threat where we have explained to the RodeoStat community our set up.

  3. A WiFi module, designed and developed by ourselves. The system is based on the board ESP8266, broadly extended in IoT applications. It communicates to Arduino through Serial protocol through its RX3 and TX3 pins. The purpose of this module is to uploads the data sent by Arduino to an external cloud server on FireBase. You could go over all the schematic and board designs on our GitHub.

Foto placa wifi

The main controller which operates the rest of the components, Arduino Mega 2560.

CAUTION: The controllers has several modifications that allow it to work in the device. Trying to replicate it without the modifications is dangerous and can imply the universe destruction:.

  1. Arduino’s M7 diode, which job is to avoid an eventual situation of reverse current, has been removed. This is because of his inability to stand the 4 amperes that go through the system when the 8 motors are at their full capacity..

  2. In its position, we have solder a IRLZ44N transistor, able to stand up to 50 A. To do it, the pins of the source and drain were connected in a similar way as the pins of the diode and the gate pin was connected to the 12V power supply. A heat sink was also put in the upper side.

  3. An Arduino Shield was mounted to increase the total of pins to 8 Vin an 8 GND, to connects the power of the motor drivers.

Foto Arduino

Software

As we have introduced in the previous section, our system is like a patchwork, with several different platforms including actuators, sensors and control elements.

Although is essential to correctly choose the programming language for the different platforms, it is mandatory to keep an eye choosing the communication protocols between all of the device’s platforms.

Figure1

Figure 3: The platform’s programming languages employed and the communication protocols between all of them.

In our circuit there are five platforms liable to be programmed:

  1. The ESP8266, module in charge of all the wifi communications. We have kept the original firmware because we didn’t have time to reprogramme it during this call.

  2. In the Rodeostat, potentiostat responsible of the electrochemical measurements of the sensor, we modify the original firmware so it could be controlled through the Arduino Mega, instead of a computer.

  3. The Arduino Mega controls all the device, handling the motors, receiving the Rodeostat measurements and sending them to the cloud through the WiFi module or the serial communication with the PC.

  4. Outside the device, the data go to Firebase server. The server, on one hand, gets all the data and send them to an iOS design app, where the final user can watch the development of the data in real time.

  5. Finally, a PC program, written in python with Qt creator, is able to communicate through the serial protocol with the device. The application let you configure 8 different motors, run protocols sequentially or inject liquid in the microfluidic chips.

Figure1

You can find the code for the PC app, the Arduino control and the Rodeostat’s modified firmware in our GitHub. Both the iOS app and the firebase server was set up thanks to the help of Marcos Hernández Cifuentes.