Introduction: Pressurized Algae Photobioreactor

About: Just another DIY creator gaining experience through every project!

Before diving into this instructable, I would like to explain a little more on what this project and why I chose to make it. Even though it is a bit long, I encourage you to please read through it, since a lot of what I am doing won't make sense without this information.

The full name of this project would be a pressurized algae photobioreactor with autonomous data collection, but that would be a bit long as a title. The definition of a photobioreactor is:

"A bioreactor that utilizes a light source to cultivate phototrophic microorganisms. These organisms use photosynthesis to generate biomass from light and carbon dioxide and include plants, mosses, macroalgae, microalgae, cyanobacteria and purple bacteria"

My reactor setup is used for growing freshwater algae, but it may be used for other organisms.

With our energy crisis and climate change issues, there are many alternate sources of energy, such as solar power, being explored. However, I believe that our transition from depending on fossil fuels to more environmentally friendly energy sources will be gradual, since we can't completely overhaul the economy quickly. Biofuels can serve as a sort of stepping stone since many cars that run on fossil fuels can easily be converted to run on biofuels. What are biofuels you ask?

Biofuels are fuels produced though biological processes such as photosynthesis or anaerobic digestion, rather than the geological processes that create fossil fuels. They can be made through different processes (which I wont cover in detail here). Two common methods are transesterification and ultrasonication.

Currently, plants are the largest source for biofuels. This is significant because in order to create the oils needed for biofuels, these plants must go through photosynthesis to store solar energy as chemical energy. This means that when we burn biofuels, the emissions put out cancel out with the carbon dioxide that the plants had absorbed. This is known as being carbon neutral.

With current technology, corn plants can give 18 gallons of biofuel per acre. Soybeans give 48 gallons, and sunflowers give 102. There are other plants, but none compare to algae which can give 5,000 to 15,000 gallons per acre (The variation is due to the species of algae). Algae can be grown in open ponds known as raceways or in photobioreactors.

So if biofuels are so great and can be used in cars that use fossil fuels, why aren't we doing it more? Cost. Even with high algal oil yields, the cost of production for biofuels is much higher than that of fossil fuels. I created this reactor system to see if I could improve the efficiency of a photobioreactor, and if it works then my idea may be used in commercial applications.

Here is my concept:

By adding pressure to a photobioreactor, I can increase the solubility of carbon dioxide as described by Henry's Law, which states that at a constant temperature, the amount of a given gas that dissolves in a given type and volume of liquid is directly proportional to the partial pressure of that gas in equilibrium with that liquid. Partial pressure is how much pressure a given compound exerts. For example, the partial pressure of nitrogen gas at sea level is .78 atm since that is the percentage of nitrogen there is in the air.

This means that by increasing the concentration of carbon dioxide or by increasing the air pressure, I will increase the amount of dissolved CO2 in the bioreactor. In this setup, I will be only be changing the pressure. I am hoping that this will allow algae to undergo photosynthesis more and grow faster.

DISCLAIMER: This is an experiment that I am currently conducting and I at the time of writing this, I do not know it it will affect algae production. Worst case, it will be a functional photobioreactor anyways. As part of my experiment, I need to monitor algae growth. I will be using CO2 sensors for this with an Arduino and SD card to collect and save the data for me to analyze. This data collection portion is optional if you want to just make a photobioreactor, but I will give instructions and Arduino code for those who want to use it.

Step 1: Materials

Since the data collection part is optional, I will split the list of materials into two sections. Also, my setup creates two photobioreactors. If you want only one reactor, just use half of the materials for anything above 2 (This list will tell number or materials followed by the dimensions if applicable). I also added links to certain materials which you can use, but I encourage you to do prior research on prices before buying since they can change.


  • 2 - 4.2 gallon water bottle. (Used for dispensing water. Make sure the bottle is symmetrical and doesn't have a built in handle. It should be resealable as well.
  • 1 - RGB LED strip (15 to 20 feet, or half as much for one reactor. Doesn't have to be individually addressable, but make sure it comes with its own controller and power supply)
  • 2 - 5 gallon capacity aquarium bubblers + approximately 2 feet of tubing (usually provided with the bubbler)
  • 2 - weights for the bubblers' tubing. I just used 2 small rocks and rubber bands.
  • 2 feet - 3/8" inner diameter plastic tubing
  • 2 - 1/8" NPT bike valves (Amazon link for valves)
  • 1 tube - 2 part epoxy
  • Algae starter culture
  • Water soluble plant fertilizer (I used MiracleGro brand from Home Depot)

Important Info:

Based on the concentration of starter culture, you will need more or less per gallon capacity of the reactor. In my experiment, I conducted 12 trails of 2.5 gallons each but only started with 2 tablespoons. I just had to grow the algae in a separate tank until I had enough. Also, species doesn't matter, but I used Haematococcus since they dissolve in water better than filament algae. Here is a link for the algae. As a fun side experiment, I might buy the bioluminescent algae sometime. I saw it occur naturally in Puerto Rico and they looked really cool.

Also, this is probably my 4th iteration of design and I have tried to make the cost as low as possible. That is one reason why instead of pressurizing with an actual compressor, I will be using small aquarium bubblers. However, they have less force and can move air at a pressure of around 6 psi plus its intake pressure.

I solved this problem by buying air bubblers with an intake I can connect tubing to. That is where I got my 3/8" tubing measurements from. The intake of the bubbler is connected to the tubing, and then the other end connected into the reactor. This recycles the air so I can also measure carbon dioxide content using my sensors. Commercial applications will probably just have a steady air supply to use and discard instead. Here is a link for the bubblers. They are part of an aquarium filter which you don't need. I only used these because I used to use one for my pet fishes. You can probably find just the bubbler without the filter online as well.

Data Collection:

  • 2 - Vernier CO2 sensors (they are compatible with Arduino, but also expensive. I borrowed mine from my school)
  • Heat shrink tubing - at least 1 inch diameter to fit onto the sensors
  • 2 - Vernier analog protoboard adapters (order code: BTA-ELV)
  • 1 - breadboard
  • breadboard jumper wires
  • 1 - SD card or MicroSD and adapter
  • 1 - Arduino SD card shield. Mine is from Seed Studio and my code is for it too. You may need to adjust the code if your shield is from another source
  • 1 - Arduino, I used the Arduino Mega 2560
  • USB cable for the Arduino (to upload code)
  • Arduino power supply. You can also use a phone charger brick with the USB cable to provide 5V power

Step 2: Pressure

In order to pressurize the container, two main things must be done:

  1. The lid should be able to fix onto the bottle securely
  2. A valve needs to be installed to add air pressure

We already have the valve. Simply pick a spot on the bottle well above the algae line and drill a hole in it. The diameter of the hole should be equal to the diameter of the valve's larger or screw end (You can make a smaller pilot hole first and then the actual diameter hole). This should allow the non valve end to barley fit through into the bottle. Using an adjustable wrench, I tightened the valve into the plastic. This makes grooves in the plastic for the screw as well. Next, I just took the valve out, added plumbers tape, and put it back in place.

If your bottle doesn't have thick walled plastic:

Using some sandpaper, rough up the plastic around the hole. Then, on the larger part of the valve, apply a generous amount of epoxy. It can be two part epoxy or any other kind. Just make sure it can withstand high pressure and is water resistant. Next, simply place the valve in place and hold for a little bit until it sticks in place. Don't wipe off the excess around the edges. Allow the epoxy time to cure as well before testing the photobioreactor.

As for the lid, the one I have comes with an O ring and secures on tightly. I use a max of 30 psi of pressure and it can hold it back. If you have a screw on cap, it's even better. Just make sure to thread it with plumbers tape. Lastly, you can wrap twine or heavy duty duct tape under the bottle to over the cap to hold it down firmly.

To test it, slowly add air through the valve and listen for air leaks. Using some soapy water will help identify where air is escaping and more epoxy needs to be added.

Step 3: Bubbler

As I had mentioned in the materials section, the dimensions for my tubing are based off of the bubbler I bought. If you used the link or bought the same bubbler brand, then you don't have to worry about other dimensions. However, if you have a different brand of bubbler, then there are a few steps you need to take:

  1. Make sure there is an intake. Some bubblers will have a clear input, and others will have it around the output (like the one I have, refer to the images).
  2. Measure the diameter of the input and that is the inner diameter for the tubing.
  3. Make sure the output/bubbler tubing can fit through your input tubing easily if your bubbler's intake is around the output.

Next, thread the smaller tubing through the larger one and then attach one end to the bubbler output. The slide the larger end over the input. Use epoxy to hold it in place and to seal from high pressure. Just be careful not to put any epoxy inside the intake port. Side note, using sandpaper to lightly scratch up a surface before adding epoxy makes the bond stronger.

Lastly, make a hole in the bottle large enough for the tubing. In my case, it was 1/2" (Picture 5). Thread the smaller tubing through it and up the top of the bottle. You can now attach a weight (I used rubber bands and a rock) and put it back in the bottle. Then put the larger tube through the bottle as well and epoxy it in place. Notice that the large tube ends just after it enters the bottle. This is because it is an air intake and you wouldn't want water to splash up into it.

A benefit to having this closed system means is that water vapor won't escape and your room won't end up smelling like algae.

Step 4: LEDs

LEDs are known for being energy efficient and much cooler (temperature wise) than normal incandescent or fluorescent bulbs. However, they still produce some heat and it can easily be noticed if it is turned on while still rolled up. When we use the strips in this project, they won't be so clustered together. Any extra heat is easily radiated or absorbed by the algae water solution.

Depending on the species of algae, they will need more or less light and heat. For example, the bioluminescent type of algae I had mentioned earlier requires a lot more light. A rule of thumb I used is to keep it on the lowest setting and slowly increasing it by a level or two of brightness as the algae grew.

Anyways, to set up the LED system, just wrap the strip around the bottle a few times with each wrap coming up about 1 inch. My bottle had ridges in it that the LED conveniently fit in. I just used a bit of packing tape to keep it in place. If you are using two bottles like I am, just wrap half around one bottle and half around the other.

Now you may be wondering why my LED strips don't wrap around all the way to the top of my photobioreactor. I did this on purpose because I needed space for the air and for the sensor. Even though the bottle has a volume of 4.2 gallons, I only used half of that to grow the algae. Also, if my reactor had a small leak, then the volume pressure would drop less drastically since the volume of escaping air is a smaller percentage of the total amount of air inside the bottle. There is a fine line that I had to be on where the algae would have enough carbon dioxide to grow, but at the same time there should be less enough air so that the carbon dioxide the algae absorbs makes an impact to the overall composition of the air, allowing me to record the data.

For example, if you breathe in a paper bag, it will be filled with a high percentage of carbon dioxide. But if you just breathe in the open atmosphere, the overall composition of the air will still be about the same and impossible to detect any change.

Step 5: Protoboard Connections

This is where your photobioreactor setup is complete if you don't want to add the arduino data collection and sensors. You can just skip to the step about growing algae.

If you are interested however, you will need to bring out the electronics for a preliminary test before placing it in the bottle. Firstly, connect the SD card shield on top of the arduino. Any pins that you would normally use on the arduino that are used by the SD card shield are still available; just connect the jumper wire to the hole directly above.

I've attached a pictures of the arduino pin configurations to this step that you can refer to. Green wires were used to connect the 5V to arduino 5V, orange to connect GND to Arduino ground, and yellow to connect SIG1 to Arduino A2 and A5. Note that there are many extra connections to the sensors that could have been made, but they are not needed for data collection and only helps the Vernier library perform certain functions (such as identifying the sensor being used)

Here is a quick overview of what the pins of the protoboard do:

  1. SIG2 - 10V output signal used only by a few vernier sensors. We won't need it.
  2. GND - connects to arduino ground
  3. Vres - different vernier sensors have different resistors in them. supplying voltage and reading the current output from this pin helps to identify sensors, but it didn't work for me. I also knew what sensor I was using beforehand so I hard-coded it the program.
  4. ID - also help identify sensors, but not needed here
  5. 5V - gives 5 volts power to the sensor. Connected to arduino 5V
  6. SIG1 - output for the sensors from a scale of 0 to 5 volts. I will not be explaining the calibration equations and all to convert the sensor output to actual data, but think of the CO2 sensor as working like this: the more CO2 it senses, the more voltage it returns on SIG2.

Unfortunately, the Vernier sensor library only works with one sensor and if we need to use two, then we will need to read in the raw voltage outputted by the sensors. I have supplied the code as a .ino file in the next step.

As you are attaching jumper wires to the breadboard, keep in mind that rows of holes are connected. This is how we connect the protoboard adapters to the arduino. Also, some pins may be used by the SD card reader, but I made sure that they don't interfere with each other. (It's usually digital pin 4)

Step 6: Code and Test

Download the arduino software to your computer if you don't have it installed already.

Next, connect the sensors to the adapters and make sure all the wiring is fine (Check to make sure that the sensors are on the low setting from 0 - 10,000 ppm). Insert the SD card into the slot and connect the arduino to your computer via the USB cable. Then open the SDTest.ino file I have supplied in this step and click the upload button. You will need to download the SD library as a .zip file and add it as well.

After the code uploads successfully, click on tools and select the serial monitor. You should see information about the sensor reading being printed to the screen. After running the code for a while, you can unplug the arduino and take the SD card out.

Anyways, if you insert the SD card to your laptop, you will see a DATALOG.TXT file. Open it and make sure there is data in it. I have added some functions to the SD test that will save the file after every write. That means even if you take out the SD card mid-program, it will have all the data up to that point. My AlgaeLogger.ino file is even more complex with delays to make it run for a week. On top of this, I added a function that will start a new datalog.txt file if one already exists. It wasn't required for the code to work, but I just wanted all the data the Arduino collects on different files instead of having to sort through them by the hour shown. I can also have the arduino plugged in before starting my experimentation and just reset the code by clicking the red button when I am ready to begin.

If the test code worked, then you can download the AlgaeLogger.ino file that I supplied and upload it to the arduino. When you are ready to start your data collection, turn on the arduino, insert the SD card, and click the red button on the arduino to restart the program. The code will be taking measurements at one hour intervals for 1 week. (168 data collections)

Step 7: Installing Sensors Into the Photobioreactor

Oh yes, how could I forget?

You need to install the sensors into the photobioreactor before trying to collect data. I only had the step to test out the sensors and code before this one so that if one of your sensors is faulty, then you can get a different one right away before integrating it into the photobioreactor. Having to remove the sensors after this step will be hard, but it is possible. Instructions on how to do so are on the Tips and Final Thoughts step.

Anyways, I will be integrating the sensors in the lid of my bottle since it is the farthest away from the water and I don't want it getting wet. Also, I noticed all of the water vapor condensed near the bottom and thin walls of the bottle so this placement will prevent water vapor from damaging the sensors.

To start off, slide the heat shrink tubing over the sensor, but make sure not to cover up all the holes. Next, shrink the tubing using a small flame. Color doesn't matter but I used red for visibility.

Next drill a 1" hole in the center of the lid and use sandpaper to rough up the plastic around it. This will help the epoxy bond well.

Finally, add some epoxy onto the tubing and slide the sensor in place on the lid. Add some more epoxy on the outside and insides of the cap where the cap meets the heat shrink and allow it to dry. It should now be airtight, but we will need to pressure test it to be safe.

Step 8: Pressure Test With Sensors

Since we already tested the photobioreactor beforehand with the bike valve, we only need to bother about the cap here. Like last time, slowly add pressure and listen for leaks. If you find one, add some epoxy to the inside of the cap and on the outside.

Also use soapy water to find leaks if you want, but don't put any inside the sensor.

It is extremely important that no air is escaping from the photobioreactor. The CO2 sensor reading is affected by a constant directly related to the pressure. Knowing the pressure will allow you to solve for the actual carbon dioxide concentration for data collection and analysis.

Step 9: Algae Culture and Nutrients

To grow the algae, fill up the container to just above the LED's with water. It should be around 2 gallons give or take a few cups. Then, add soluble plant fertilizer according to the directions on the box. I added a little bit more actually to increase the algae growth. Finally, add in algae starter culture. I originally used 2 tablespoons for the entire 2 gallons, but I will be using 2 cups during my experiment to get the algae growing faster.

Set the LEDs to the lowest setting and increase it later of if the water becomes too dark. Turn on the bubbler and let the reactor sit for a week or so for the algae to grow. You many need to swirl the water around a few times to prevent the algae from settling to the bottom.

Also, photosynthesis absorbs mainly red and blue light, which is why leaves are green. To give the algae the light they need without heating them too much, I used purple light.

In the pictures attached, I was only growing out the original 2 tablespoons of starter I had to around 40 cups for my actual experiment. You can tell that the algae grew a lot considering that the water was perfectly clear before.

Step 10: Tips and Final Thoughts

I learnt a lot while building this project and I am happy to answer questions in the comments to the best of my ability. Meanwhile, here are a few tips I have:

  1. Use double sided foam tape to secure things in place. It also reduced vibrations from the bubbler.
  2. Use a power strip to protect all the parts as well as have space to plug things in.
  3. Use a bicycle pump with a pressure gauge, and don't add pressure without filling the bottle with water. This is for two reasons. First, the pressure will increase faster, and second, the weight of the water will prevent the bottom of the bottle from inverting.
  4. Swirl the algae every now and then to have an even solution.
  5. To remove the sensors: use an sharp blade to cut the tubing off the sensor and tear away as much as you can. Then, gently pull out the sensor.

I will be adding more tips as they come to mind.

Finally, I would like to finish off by saying a few things. The purpose of this project is to see if algae can be grown faster for biofuel production. While it is a working photobioreactor, I cannot guarantee the pressure will make a difference until all of my trials are done. At that time, I will make an edit here and show the results (Look for it sometime in mid-March).

If you felt this instructable is potentially useful and the documentation is good, leave me a like or a comment. I have also entered into the LED, Arduino, and Epilog contests so vote for me if I deserve it.

Until then, happy DIY'ing everyone!


My experiment was a success and I was able to get to a state science fair with it too! After comparing the graphs of the carbon dioxide sensors, I also ran an ANOVA (Analysis of Variance) test. Basically what this test does is that it determines the probability of the given results occurring naturally. The closer the probability value is to 0, the less likely it is to see the given result, meaning whatever independent variable was changed actually had an effect on the results. For me, the probability value (aka p-value) was very low, somewhere around 10 raised to -23.... basically 0. This meant that increasing pressure in the reactor allowed the algae to grow better and absorb more CO2 as I had predicted.

In my test I had a control group with no pressure added, 650 cubic cm of air, 1300 cubic cm of air, and 1950 cubic cm of air added. The sensors stopped working properly on the highest pressure trail so I excluded it as an outlier. Even so, the P value didn't change much and still easily rounded to 0. In future experiments, I would try and find a reliable way to measure CO2 uptake without expensive sensors, and maybe upgrade the reactor so that it can safely handle higher pressures.

LED Contest 2017

Runner Up in the
LED Contest 2017

Epilog Challenge 9

Participated in the
Epilog Challenge 9

Arduino Contest 2017

Participated in the
Arduino Contest 2017