Difference between revisions of "Team:Carnegie Mellon/Device"

(Created page with "{{:Team:Carnegie_Mellon/navbar}} <html> <style src = "" type = "text/css"> Tried to make the content border-color:width the whole page... Not the stupid box: body { bor...")
 
 
(19 intermediate revisions by 3 users not shown)
Line 30: Line 30:
 
/* ----------------------------- jumbotron code ---------------------- */
 
/* ----------------------------- jumbotron code ---------------------- */
 
.jumbotron {
 
.jumbotron {
   background-image:url('http://www.isonicinc.com/beakers.jpg');
+
   background-image:url('https://static.igem.org/mediawiki/2015/d/d8/Wiki_device_banner.png');
 
   height: 600px;
 
   height: 600px;
 
   background-repeat: no-repeat;
 
   background-repeat: no-repeat;
Line 110: Line 110:
 
     <div class="jumbotron">
 
     <div class="jumbotron">
 
       <div class="container">
 
       <div class="container">
         <div class = "title">Modeling.</div>
+
         <div class = "title">Device.</div>
         <p>Rule-based modeling for our estrogen sensor.</p>
+
         <p>Do-it-yourself arduino-based optical devices.</p>
 
       </div>
 
       </div>
 
     </div>
 
     </div>
Line 117: Line 117:
 
<div id = "bodybody">
 
<div id = "bodybody">
 
<div class = "title">Purpose</div><br>
 
<div class = "title">Purpose</div><br>
   <div class = "description"> Along with improving the estrogen sensor part from our previous year’s project, this year we also updated the estrogen sensor model as well. We created two new models to represent the two different modifications we made to the estrogen sensor part. One model is based on using an RFP reporter, while the other model represents the incorporation of this year’s new part by using a gaussia reporter. The new models not only reflect the addition of new biological components to our wet lab sensor, but also incorporates our most recent wet lab data. The new biosensor models were written in the BioNetGen Language, a rule-based modeling language. Rule-based modeling is a type of modeling in which differential equations are generated from a description of how various biological components and systems interact with one another. Our models were built from data found in literature and experimental data from the lab. Due to the fact that our models are based on experimental data, it is able to predict the outcome of experimental wet lab trials under a variety of different conditions. Thus, our models not only help to guide wet lab experiments, but can also given us insight into some of the biological underpinnings of the experiment that we would not have necessarily considered without the model. Finally, the models can be used to identify any components which are interfering with our ability to obtain optimal data. The models were run in Rule-Bender version 2.0.382, an interactive design environment which is dedicated to running, analyzing, visualizing, and debugging BioNetGen Language Models. </div>
+
   <div class = "description"> Our original goal was to be able to design a fluorimeter solely using the materials available in the Arduino Ultimate Starter Kit. This package came with an Arduino Uno along with several helpful components such as LEDs, buzzers, relays, and a Light Dependent Resistor (LDR). The LDR is a resistor that has resistance inversely proportional to light: it has tiny resistance (100s of ohms) when a lot of light strikes it and very large resistance (10,000s of ohms) when in complete darkness. It soon became apparent, however, that the LDR would not be sufficient for our purposes: the device was not sensitive in low light, the signal was small, and the response time was very slow. Here is a graph of one of our trials where we simply turned the lights off and slowly changed the screen brightness of a computer in the room:
<br><br><br>
+
<br>
 +
<br><center><image src="https://static.igem.org/mediawiki/2015/5/5d/LDR_unimproved.JPG" style="width:600px;"></center><br>
 +
<br>
 +
As the graph shows, there was no discernible change between each level of brightness (just a general upward trend), there is an incredible amount of noise making a stable reading impossible, and the response time was in the order of tens of seconds.
 +
We decided to tackle these problems individually.
 +
</description>
 +
</div>
 +
<div class = "title">Improvements</div><br>
 +
<div class = "description">
 +
First, we tried to smooth out the signal. For those who are not in the field of electrical engineering, this required the use of either an inductor or a capacitor. We decided use capacitors since they were more readily available. A capacitor is a device made up of two parallel metal plates that are not touching each other so that, when a voltage is applied to these plates, an electrical field is created in between them! This field stores energy proportional to its capacitance, so it will store energy when voltage is applied over it and it will give off a voltage when there is no voltage across it. To simplify this thought, a capacitor can almost be thought of as a really small rechargeable battery. Thus, when we place a capacitor in parallel with our LDR, if the signal is high it will store energy and if the signal is low it will raise give off energy! Assuming we are using only a small capacitor, this signal will look smoother with the possible trade off of a small time delay capacitor discharges.
 +
<br>
 +
<br><center><image src="https://static.igem.org/mediawiki/2015/2/2a/LDR_improved_6ft.JPG" style="width:600px;"></center><br>
 +
<br>
 +
And here we have a much smoother signal! However, the signal is still much too small and is very slow to respond.
 +
To tackle both of these problems together, we ordered some new parts: a simple photodiode ($2) and two operational amplifiers (op amps, also roughly $2).
 +
</description>
 +
</div>
 +
<div class = "title">New Circuit</div><br>
 +
<div class = "description">
 +
Photodiodes are essentially small solar panels and op amps are a complex weave of transistors and capacitors that serve to amplify signals.
 +
This lead to the design of our complete circuit:
  
<div class = "title">Biosensor Overview</div><br>
+
<br><center><image src="https://static.igem.org/mediawiki/2015/a/a5/Circuit.JPG" style="width:600px;"></center><br>
  <div class = "description">
+
  <center><image src="https://static.igem.org/mediawiki/2015/9/96/RFPmodel.jpg" height="80%" width="80%"></center>
+
  <br>
+
  <center><i>The diagram above is a system level visualization of our RFP reporter estrogen biosensor. </i></center>
+
  <br><br>
+
  <center><image src="https://static.igem.org/mediawiki/2015/d/d1/EstrogenLuc.jpg" height="80%" width="80%" ></center>
+
  <br>
+
  <center><i>The diagram above is a system level visualization of our gaussia reporter estrogen biosensor. </i></center>
+
  <br><br>
+
  Before we began writing code to generate our model, it was important to create a visualization of our model to serve as a template which we would base our code on. A legend for the components can be seen below:  
+
  <br><br>
+
  <center><image src="https://static.igem.org/mediawiki/2015/5/58/LegendEstrogen.jpg" height="80%" width="80%"></center></div> <!-- description -->
+
  <br><br><br>
+
  
<div class = "title">Rule-Based Model </div><br>
+
Two capacitors were used, one to smooth the signal and one to stabilize the voltage source (the Arduino). Our device measures voltage at the V nodes shown in the graph (also done by the Arduino) and the resistors connected to the negative pin of the op amp determine the amplificiation of the signal.
    <div class = "description">
+
    The general outline for constructing a rule-based model is shown below:<br><br>
+
    <center><image src="https://static.igem.org/mediawiki/2015/a/a0/RulebasedModeling.png" height="80%" width="80%"></center><br>
+
    Our RFP reporter estrogen model captures a total of 16 different reactions:
+
    <br><br>
+
    <center><image src="https://static.igem.org/mediawiki/2015/d/d8/Rule16.jpg" height="80%" width="80%"></center>
+
    <br>
+
    Our gaussia reporter estrogen model captures a total of 22 different reactions:
+
    <br><br>
+
    <center><image src="https://static.igem.org/mediawiki/2015/f/f0/Rule22.jpg" height=height="80%" width="80%"></center>
+
    <br>
+
    Before the written descriptions of the rules can be transformed into code, it is imperative that a class definition for each of the components be instantiated, as the model needs to know which cellular components must be included in the module, and which components are not being directly analyzed. A class definition essentially specifies the name of the component as it will appear in the code, all the possible binding sites of the component and to which molecules it can bind, and the possible states of the component (i.e., phosphorylation state, methylation state, etc.). Below is the class definition used for the RFP reporter estrogen model: <br><br>
+
    <center><img src="https://static.igem.org/mediawiki/2015/8/89/MoleculesRFP.png" height="80%" width="80%"></center><br>
+
In the BioNetGen code estrogen will now be represented as E(). The full class definition of estrogen is E(S~U~B,L~I~O). The S~U~B, indicates that the estrogen can either be bound or unbound to the ligand binding domain of T7 RNA polymerase, and the L~I~O indicates that the estrogen can either be inside or outside of the cell.
+
    <br><br>
+
After the class definitions are provided, it is important to initialize each particular component to a predetermined value in order to begin the simulation. For components whose class definition includes multiple states, each particular instance must be initialized. Below is the initialization code used in the RFP reporter estrogen model:<br><br>
+
    <center><img src="https://static.igem.org/mediawiki/2015/f/fe/SeedRFP.png" height="80%" width="80%"></center><br><br>
+
    The final step before assembling the reaction rules, is to determine the rate constants of each reaction. Certain rate constants can be obtained directly from literature, whereas others must be approximated as a function of literature values and our experimental data. The code for the rate constants in the RFP reporter estrogen model is shown below:
+
    <br><br>
+
    <center><img src="https://static.igem.org/mediawiki/2015/3/36/FunctionsRFP.png" height="80%" width="80%"></center>
+
    <br><br>
+
    The rate constants for the diffusion of estrogen into and out of the cell are provided by the equations below:
+
    <br><br>
+
    <center><img src="https://static.igem.org/mediawiki/2015/4/4f/RateConstants.png" height="80%" width="80%"></center><br>
+
    The rate at which estrogen diffuses through membrane was found indirectly via the synthesis of literature values from a variety of sources. One of the most difficult tasks of modeling involves parsing through multiple pieces of literature in order to derive a particular rate constant. A common problem in constructing biological models is that individuals with strong computational backgrounds are not always well versed in sorting through wet lab literature for relevant information. Luckily iGEM stresses the intersectionality of synthetic biology, and our diverse team was able to overcome this issue as the modelers were able to tell those with strong wet lab backgrounds exactly what they needed from the literature, and in turn the wet lab students were able to efficiently parse through the literature to find the relevant data. It is shown below exactly how the cell's permeability to estrogen was derived:
+
    <br><br>
+
    <center><img src="https://static.igem.org/mediawiki/2015/b/b9/Derive.png" height="80%" width="80%"></center><br>
+
    A similar process was used to computer many of the other rate constants. However, certain rate constants had to be lifted from our team’s wet lab trials. For example, the diffusion of estrogen is not only dependent on the cell membrane’s permeability to estrogen, but also upon the estrogen concentration gradient. As the initial concentration of estrogen outside the cell was set in the wet lab, it was imperative for the team to run wet lab trials with various concentrations of estrogen in order to confirm the model’s correctness.
+
    <br><br>
+
The final step of constructing a rule-based model is to compile all of the aforementioned information into single lines of executable code, which correspond to a reaction rule. This can be seen below for the RFP reporter estrogen model:
+
    <br><br>
+
    <center><img src="https://static.igem.org/mediawiki/2015/d/db/FinalModel.png" height="80%" width="80%"></center><br>
+
    Each of the above lines will be turned into a differential equation or sets of differential equations, and run for a specified amount of cycles.
+
    </description>
+
</div>
+
  
<div class = "title">Results </div><br>
+
The trade off between capacitors of different sizes is always a matter of speed versus smoothness. We tried three different capacitors and found the one that worked best to be the second:
    <div class = "description">
+
<br>
      Unlike the intein-based estrogen sensor from this year, the ligand binding domain based estrogen sensor is able to produce a detectable RFP signal as shown in the graph below:
+
<br><center><image src="https://static.igem.org/mediawiki/2015/a/a5/474.JPG" style="width:600px;"><br><br>
    <br><br>
+
<image src="https://static.igem.org/mediawiki/2015/5/59/102.JPG" style="width:600px;"><br><br>
    <center><img src="https://static.igem.org/mediawiki/2015/9/9c/ResultsEstrogenModel.png" height="80%" width="80%"></center><br>
+
<image src="https://static.igem.org/mediawiki/2015/7/74/104.JPG" style="width:600px;"></center><br><br>
    The units for the x-axis are time (minutes), and the units of the y-axis are concentration (nM). Unlike last year’s sensor, the amount of RFP produced within a few hours is significantly greater than the minimum threshold detection of 100 µm. Thus the model is able to be successfully validated via our results from the wet lab.
+
<br>
    </description>
+
Compare that with the original photodiode circuit unmodified here:
 +
<br>
 +
<br><center><image src="https://static.igem.org/mediawiki/2015/6/61/Control_no_cap.JPG" style="width:600px;"></center><br>
 +
<br>
 +
As you can see, things are much better now!<br>
 +
</description>
 
</div>
 
</div>
 
+
<div class = "title">Results</div><br>
<div class = "title">Code Files </div><br>
+
<div class = "description">
    <div class = "description">
+
Reattempting our original experiment, we closed the doors and turned off the lights to see how well our new circuit could detect us changing a laptop's backlit display from the six feet away facing away from the circuit:
    Working BioNetGen files of the two estrogen models can be found in the following <a href="https://static.igem.org/mediawiki/2015/3/31/EstrogenModels.zip">zip file</a>.
+
<br>
    </description>
+
<br><center><image src="https://static.igem.org/mediawiki/2015/f/fb/Responsetime.JPG" style="width:600px;"></center><br>
 +
<br>
 +
And it worked! It can clearly be seen when the light changes and the response time is around two seconds per change. Our circuit was finally ready to test on cells!
 +
We further diminished noise by soldering our components to a PCB board (the shorter the wires, the less the noise), surrounding our circuit board with aluminum (known as a Faraday Cage, this technique prevents outside signals like radio waves from entering), and we added a Bluetooth chip to our circuit so that there was no light in the room at all.
 +
For this experiment, we used our Gaussia luciferase and tested it fully saturated to see if we could see anything at that dark. While the biologists added the Coelenterazine in the dark room, the engineers stood outside with laptops to see the results:
 +
<br>
 +
<br><center><image src="https://static.igem.org/mediawiki/2015/0/0e/Booyeah.JPG" style="width:600px;"></center><br>
 +
<br>
 +
It was a success! The point of reaction can clearly be seen, the signal was smooth and fast, and the signal was big (meaning it should work on even diluted solutions). Our luminometer works. In fact this has some pretty big implications from an economical and scientific stadnpoint. For one we were able to detect levels of light activity commonly seen in reporter molecules used in wet lab environments for a device that cost around $100. Typical fluorescent plate readers can run up to $20,000 and are much bulkier than the device we built. This allows more people to participate in synthetic biology as it reduces some of the startup costs needed to perform wet lab work.
 +
<br><br>
 +
Of course, because things can always be improved, we have now been in the process of further amplifying the signal and diminishing noise. We have done this in several ways:
 +
<br>&nbsp; &nbsp; &nbsp;*3D printed a casing for the reaction to take place to further diminish background light
 +
<br>&nbsp; &nbsp; &nbsp;*Bought more enhanced, larger signal photodiodes (approximately $17)
 +
<br>&nbsp; &nbsp; &nbsp;*Changed the resistors so that our op amp gain increased from 4 to 11.
 +
<br>
 +
<br><center><image src="https://static.igem.org/mediawiki/2015/1/13/Fullpicture.JPG" style="width:600px;"></center><br>
 +
</description>
 
</div>
 
</div>
 +
<div class = "title"> Photodiode Characterization </div><br>
 +
  <div class = "description">
 +
Due to the fact that the output from a photodiode can only be read in terms of units of current (amperes) or units of voltage (volts), we needed to use a standardized device in order to characterize a few selected photodiodes, so that we could convert voltage readings to corresponding power readings, and those corresponding power readings to lumens.
 +
<br><br>
 +
The device we used to characterize the photodiodes was the Field Max II energy meter. The energy meter detects light and converts the detected light reading to wattage. We characterized three separate photodiodes:
 +
<a href="https://static.igem.org/mediawiki/2015/4/48/PDB-C139.pdf">PDB-C139</a>, <a href="https://static.igem.org/mediawiki/2015/2/22/AvalanchePhoto.pdf">APD15-8-150-TO5</a>, and <a href="https://static.igem.org/mediawiki/2015/2/2b/Blue-Enhanced-Photodiodes.pdf">ASM71 PIN 5DP/SB</a>. Using an iPhone we shinned different brightness levels of light on both the photodiode and the energy meter. Thus we could compare the output of the photodiode to the output of the energy meter for the same level of brightness. This allowed us to build a transfer function which mapped the readings from our arduino-based optical device to the Field Max II energy meter. The experimental data used to build the transfer functions are shown below:<br><br>
 +
<center><image src="https://static.igem.org/mediawiki/2015/8/8d/PBD_graph.JPG"><br>
 +
<image src="https://static.igem.org/mediawiki/2015/8/8e/PIN_graph.JPG"><br>
 +
<image src="https://static.igem.org/mediawiki/2015/8/8d/PBD_graph.JPG"><br>
 +
</center>
 +
<br><br>
 +
Ultimately we chose to use the PDB-C139 photodiode due to its effectiveness and incredibly low cost (~$2). This enables us to detect light intensities as low as a couple hundred lumens and keep our device affordable. <br><br>
 +
Using Matlab’s built-in two term exponential fitting function for non-linear data, we were able to obtain the following fit and transfer function for the PDB-C139:<br>
 +
<center><image src="https://static.igem.org/mediawiki/2015/4/48/PBD.png" height="500" width="1000"><br>
 +
<i>Transfer Function for PDB-C139 Photodiode</i></center><br><br>
 +
<center><image src="https://static.igem.org/mediawiki/2015/5/5b/TransferFuncOptical.png" width="1000"></center>
  
<div class = "title">References </div><br>
+
  </description>
    <div class = "description">
+
    <center><img src="https://static.igem.org/mediawiki/2015/c/cf/Referencesmodel.png" height="80%" width="80%"></center><br>
+
    </description>
+
 
</div>
 
</div>
</body>
+
<div class = "title">Code Files</div><br>
 +
  <div class = "description">
 +
We built user interfaces to allow users to interface with our device via USB, bluetooth, or wifi. Using open source python and Arduino libraries we were able to construct a device that reads data from a photodiode, converts the data into a meaningful way to assess effectiveness of a light source, and then wirelessly pushes the data to a server where it can be saved and viewed in the future. We also did some data processing and modification on the raw data from the device in order to make it more useful for the general user. Pictures of the user interface can be seen below:<br><br>
 +
<center><image src="https://static.igem.org/mediawiki/2015/d/d6/UIarduinoHome.png" height="600" width="1000"></center><br><br>
 +
<center><image src="https://static.igem.org/mediawiki/2015/6/65/UIArduinoSync.png" height="600" width="1000"></center><br><br>
 +
As our device was constructed entirely with open source software, we wished to give back to the scientific and technical community. Thus we decided to put our hardware schematics and codebase online. This will enable any user or iGEM team to construct their own luminometer and use it in their experiments. The code for luminometer can be download <a href="https://static.igem.org/mediawiki/2015/0/00/UserInterfaceOptical.zip">here</a>!
 +
  </description>
 +
</div>
 +
<div class = "title">Future Directions</div><br>
 +
  <div class = "description">
 +
Future directions will also include extending our implementation to a fluorimeter. This simply requires printing a second half to the casing where we will attach an LED to excite the test tube specimens followed by a lens to only allow the wavelengths we want to measure to pass through. </div>
 +
  </description>
 +
</div>
 +
<br><br><br>
 +
 
 +
 
  
  

Latest revision as of 21:45, 20 November 2015

Device.

Do-it-yourself arduino-based optical devices.

Purpose

Our original goal was to be able to design a fluorimeter solely using the materials available in the Arduino Ultimate Starter Kit. This package came with an Arduino Uno along with several helpful components such as LEDs, buzzers, relays, and a Light Dependent Resistor (LDR). The LDR is a resistor that has resistance inversely proportional to light: it has tiny resistance (100s of ohms) when a lot of light strikes it and very large resistance (10,000s of ohms) when in complete darkness. It soon became apparent, however, that the LDR would not be sufficient for our purposes: the device was not sensitive in low light, the signal was small, and the response time was very slow. Here is a graph of one of our trials where we simply turned the lights off and slowly changed the screen brightness of a computer in the room:



As the graph shows, there was no discernible change between each level of brightness (just a general upward trend), there is an incredible amount of noise making a stable reading impossible, and the response time was in the order of tens of seconds. We decided to tackle these problems individually.
Improvements

First, we tried to smooth out the signal. For those who are not in the field of electrical engineering, this required the use of either an inductor or a capacitor. We decided use capacitors since they were more readily available. A capacitor is a device made up of two parallel metal plates that are not touching each other so that, when a voltage is applied to these plates, an electrical field is created in between them! This field stores energy proportional to its capacitance, so it will store energy when voltage is applied over it and it will give off a voltage when there is no voltage across it. To simplify this thought, a capacitor can almost be thought of as a really small rechargeable battery. Thus, when we place a capacitor in parallel with our LDR, if the signal is high it will store energy and if the signal is low it will raise give off energy! Assuming we are using only a small capacitor, this signal will look smoother with the possible trade off of a small time delay capacitor discharges.



And here we have a much smoother signal! However, the signal is still much too small and is very slow to respond. To tackle both of these problems together, we ordered some new parts: a simple photodiode ($2) and two operational amplifiers (op amps, also roughly $2).
New Circuit

Photodiodes are essentially small solar panels and op amps are a complex weave of transistors and capacitors that serve to amplify signals. This lead to the design of our complete circuit:

Two capacitors were used, one to smooth the signal and one to stabilize the voltage source (the Arduino). Our device measures voltage at the V nodes shown in the graph (also done by the Arduino) and the resistors connected to the negative pin of the op amp determine the amplificiation of the signal. The trade off between capacitors of different sizes is always a matter of speed versus smoothness. We tried three different capacitors and found the one that worked best to be the second:








Compare that with the original photodiode circuit unmodified here:



As you can see, things are much better now!
Results

Reattempting our original experiment, we closed the doors and turned off the lights to see how well our new circuit could detect us changing a laptop's backlit display from the six feet away facing away from the circuit:



And it worked! It can clearly be seen when the light changes and the response time is around two seconds per change. Our circuit was finally ready to test on cells! We further diminished noise by soldering our components to a PCB board (the shorter the wires, the less the noise), surrounding our circuit board with aluminum (known as a Faraday Cage, this technique prevents outside signals like radio waves from entering), and we added a Bluetooth chip to our circuit so that there was no light in the room at all. For this experiment, we used our Gaussia luciferase and tested it fully saturated to see if we could see anything at that dark. While the biologists added the Coelenterazine in the dark room, the engineers stood outside with laptops to see the results:



It was a success! The point of reaction can clearly be seen, the signal was smooth and fast, and the signal was big (meaning it should work on even diluted solutions). Our luminometer works. In fact this has some pretty big implications from an economical and scientific stadnpoint. For one we were able to detect levels of light activity commonly seen in reporter molecules used in wet lab environments for a device that cost around $100. Typical fluorescent plate readers can run up to $20,000 and are much bulkier than the device we built. This allows more people to participate in synthetic biology as it reduces some of the startup costs needed to perform wet lab work.

Of course, because things can always be improved, we have now been in the process of further amplifying the signal and diminishing noise. We have done this in several ways:
     *3D printed a casing for the reaction to take place to further diminish background light
     *Bought more enhanced, larger signal photodiodes (approximately $17)
     *Changed the resistors so that our op amp gain increased from 4 to 11.


Photodiode Characterization

Due to the fact that the output from a photodiode can only be read in terms of units of current (amperes) or units of voltage (volts), we needed to use a standardized device in order to characterize a few selected photodiodes, so that we could convert voltage readings to corresponding power readings, and those corresponding power readings to lumens.

The device we used to characterize the photodiodes was the Field Max II energy meter. The energy meter detects light and converts the detected light reading to wattage. We characterized three separate photodiodes: PDB-C139, APD15-8-150-TO5, and ASM71 PIN 5DP/SB. Using an iPhone we shinned different brightness levels of light on both the photodiode and the energy meter. Thus we could compare the output of the photodiode to the output of the energy meter for the same level of brightness. This allowed us to build a transfer function which mapped the readings from our arduino-based optical device to the Field Max II energy meter. The experimental data used to build the transfer functions are shown below:






Ultimately we chose to use the PDB-C139 photodiode due to its effectiveness and incredibly low cost (~$2). This enables us to detect light intensities as low as a couple hundred lumens and keep our device affordable.

Using Matlab’s built-in two term exponential fitting function for non-linear data, we were able to obtain the following fit and transfer function for the PDB-C139:

Transfer Function for PDB-C139 Photodiode


Code Files

We built user interfaces to allow users to interface with our device via USB, bluetooth, or wifi. Using open source python and Arduino libraries we were able to construct a device that reads data from a photodiode, converts the data into a meaningful way to assess effectiveness of a light source, and then wirelessly pushes the data to a server where it can be saved and viewed in the future. We also did some data processing and modification on the raw data from the device in order to make it more useful for the general user. Pictures of the user interface can be seen below:





As our device was constructed entirely with open source software, we wished to give back to the scientific and technical community. Thus we decided to put our hardware schematics and codebase online. This will enable any user or iGEM team to construct their own luminometer and use it in their experiments. The code for luminometer can be download here!
Future Directions

Future directions will also include extending our implementation to a fluorimeter. This simply requires printing a second half to the casing where we will attach an LED to excite the test tube specimens followed by a lens to only allow the wavelengths we want to measure to pass through.