From BioDesign for the Real-World
Jump to: navigation, search



This is the v.3 of the green fluoresscence detector + absorbance measuring device that we have been building to measure the bioreporter outputs. Please find here the Chronology of the prototypes.
EPFL students from 2014 worked on this, and this is part of their 2014 Final Report.


Our prototype is based on a fluorescent method where we use GMO bacteria expressing GFP (Green Fluorescent Protein) in presence of Arsenic in a water sample. This fluorescence is detected optically and can be quantified in order to measure the concentration of Arsenic.

A vial containing the water sample we want to test is positioned on a socket through which a blue LED passes. GFP absorbs this blue light (λ=475 nm) and emits green light (λ=504 nm) which is detected by a photosensor on which the light is concentrated with the help of two lenses that avoid loss of intensity and that allow more precise results.

Moreover, a red LED was added to measure the turbidity. Turbidity is the cloudiness or haziness of a fluid caused by individual particles. In our case, if there are a lot of GFP, one GFP can absorb light emitted previously by another GFP and then emit light itself and thus creating a chain reaction falsifying the results. The measurement of turbidity will allow us to normalize our results.

With these measures, one can determine the concentration of arsenic in the sample and so know if the water is drinkable or not.

In summary, the most current version consists of:

  • lasercut chassis
  • blue LED for eGFP fluorescence excitation at 90 degrees from detector
  • red LED for transmittance measurements in line with detector
  • vial holder matching the vial approved by the Swiss authorities
  • light to frequency detector
  • a filter to block excitation light
  • LCD screen read out
  • based on the arduino


Arduino Uno R3: Microprocessor needed to control the prototype.
Where to get it: e.g. arduino at boxtech, software
27.80 CHF
LCD Arduino Shield: Screen to display the results.
GitHub with schematics, PCB, how to use it and how to build it.
20.00 CHF
XPE Series Cree Blue LED: Emits a blue light at 475nm. Used to quantify the fluorescence of the sample via GFP excitation.
12.95 CHF
3mm Red High Flux LED: Emits a red light at 630nm. Used to quantify the turbidity of the sample.
0.25 USD
Light To Frequency ConverterTSL235R: Photosensor that measures the intensity of light that goes through the sample.
2.95 USD
2x P-channel Mosfet Transistor: Pull-up, PMOS transistor
at Akizuki Denshi
~2.00 CHF
2x Plastic Biconvex Lenses: To concentrate the light coming from the sample onto the photo detector for a higher precision of counting.
at Knight Optical
We’d like to thank Valentin Simeonov at ENAC for providing these for free.
~7.00 CHF
Resistors, wires, solder, button etc…
  • 1x 100 ohm resistor
  • 1x 47 ohm resistor
  • 2x 10 ohm resistors
~5.00 CHF
Total price: ~85.00 CHF

Let’s note that this price can still be further reduced by, for example, choosing a cheaper Arduino microcontroller.

Build it step by step

Our prototype is contained in a wine box. The idea is to have a prototype easily reproducible so you can use any closable box.

To build it, follow the following instructions.

Step 1: The optics

To make this part, you need a wood board where you have to foresee:

  • A socket of 15 mm in diameter where you can put the future sample that we want to test.
  • A square piece of wood to stick the photosensor on.
  • Two trenches for two biconvex lenses that focus the light on a target point.

The distance between the two lenses should be optimal for the focusing of light.
By experimenting, we concluded that this distance was 12,2 cm.

2014 prototype img1.jpg

Step 2: Add the photosensor and the blue LED

For the photosensor, you have to stick it on the square block of wood after connecting its anode and cathode to the wires which will be connected themselves to the circuit.

2014 prototype img2.jpg

For the blue LED, inside the socket, you have to make another hole that allows the light of the LED to go through. Then after connecting the anode and cathode as before, you stick the LED in order to have the light passing through the hole.

2014 prototype img3.jpg

2014 prototype img4.jpg

Step 3: Add the red LED at the end of the box

Connect one wire for the cathode and one for the anode and stick the LED with tape. Be careful not to hide the LED with the tape. One way to do this is to cut a square inside the tape and put the LED in this square.

2014 prototype img5.jpg

Be sure that the red LED is correctly aligned with the sample and the lenses of the board inside the box so they're at the same height. Place the board as close as possible to the red LED.

2014 prototype img6.jpg

Step 4: Make the circuit

The following sketch explains the wiring required. Note that the LED screen is not seen on it and that it’s an interface between the arduino and the circuit. However, when you incorporate the LCD screen on the Arduino board, you will have to solder the cables for the different pins onto the LCD board and then reconnect it to the circuit in the same place. This modification can be seen on the following pictures.

2014 prototype img7.jpg

2014 prototype img8.jpg

2014 prototype img9.jpg


To use the prototype, you’ll need to use this Arduino code so you can start measuring! Comments are added to the code so you can understand it and modify it if you need to. The program is uploaded onto the Arduino microcontroller (via a USB cable) so it can function autonomously without the computer. However, you still need to keep the computer connected to power the microcontroller; a future prototype design will be able to run on a battery.

In short, the program setups the screen and LEDs and then awaits the push of the button before starting the measurement processes. On the push of the button, the blue light will turn on (for 30 seconds) in order to measure the fluorescence of the sample. Once the measurement is done, the blue light is switched off, the result is printed on the screen and the system then pauses for 3 seconds before turning the red light on (for 300 milliseconds) to measure the turbidity. Once the turbidity measurement is done, the red light switches off and the result is printed on the screen. The system then awaits the push of the button before starting the aforementioned process again. Let’s note that the time lengths can be changed in the code if necessary. Here’s a diagram illustrating the code’s loop function that controls the above process:

2014 prototype code diagram.jpg

Global view

Once all these steps are done, assemble everything together and you'll have (hopfully) functioning prototype! To use it, upload the code, place the sample in the socket, close the box and press the button to start measuring.

This is what you should get:



Here you can see a little video giving a brief explanation about the prototype.

Testing and Results

Testing and results can be found here 2014_Final_Report#Lab_session_and_results.