pHloat is a DIY kit that is made for use in conjunction with a pre-owned / pre-existing arduino microcontroller. Its purpose is to test the pH levels in local rivers, lakes, and streams due to the influx of air and water pollution often caused by acid rain. It is specifically designed to be used in areas that are home to refineries, chemical plants, and manufacturing industries that are causing environmental damage. However, it can be used in any body of water to test acidity levels.


pHloat has the option to be made from several recycled materials including but not limited to, styrofoam, paper,  and plastic food containers. If these materials cannot be found they can be purchased along with the necessary electrical components for approximately $25. pHloat functions through the modification of a simple garden moisture and pH sensor that can be purchased at any home improvement store. It acts as both an environmental measurement tool and a floating sculpture, borrowing inspiration from Japanese floating paper. As the pHloat navigates down a stream it is taking a constant pH reading that is being translated by the arduino to produce a variation of colored light (produced by a low energy and cost superbright RGB LED). The different colors of light indicate the level of acidity in the body of water. For example, a normal pH reading would result in the emission of green light while a high pH reading would result in the emission of red light. Blue light emission indicates a semi-acidic body of water. The lights are housed on the top of the pHloat and are illuminated under a paper origami shade. As to not further contribute to environmental pollution, a rope (not pictured in the 3d models) should be attached to each pHloat so it can easily be retrieved from the water (this allows for the pHloats to also be affixed to a particular area measuring passing water).

pHloat is designed to create a social awareness of pollution in local rivers, streams, and lakes. It also functions as visual expression of concern for the emission of dangerous chemicals into our atmosphere. pHloats are designed to be released together to ultimately create floating mobile sculptures. Thus initiating a social space that engages locals living in the midst of these manufacturing industries to begin a dialogue about their environmental conditions.

Check out the youtube video below that talks about the pHloat

Step 1: Gather the Materials

The Materials that you need for this project are: 


1. Arduino Microcontroller (available to purchase at a myriad of online places, sparkfun, allelectronics etc). Approximately 30.00$

2. Moisture and pH Garden sensor, Home Depot 7.58

3. Small Round Plastic Food Container, capable of holding the arduino, a 9V battery, and the top of the pH sensor

4. 9V battery

5. 9V battery attachment with black and red leads, Can buy at radioshack, any electronics supplier

6. Electrical Tape

7. 22-24 gage (suggested) hook up wire available at radioshack, multiple colors work best

8. Duct Tape (white preferred), but choose any interesting color to dress up your pHloat

9. 3 Wide Angle square bodied 4pin LEDs. You could also use one superbright RGB LED, however, you would have to compile your own code (if you are familiar with arduino)

10. Two 1/2" diameter dowel rods, available at craft and home improvement stores

11. Small piece of insulation foam to make an 8" circle, can find or purchase from home improvement store

12. 1 pack of 10k ohm 1/4 watt resistors, 1 pack of 1k ohm 1/4th watt resistors

13. 1 small PCB board

14. Rope (approximately 1/2" diameter or smaller. The length is up to your discretion, I used 8'

15. Transistor variety pack, available at radioshack.

16. 8 pieces of 8 1/2" x 11" vellum from local craft or scrapbooking store

Suggested Tools: 

-Cordless Drill and various bits
-Hot Glue Gun
-Soldering Iron and Solder
-Small hand saw to cut dowel rods
-Exacto Knife or razor blade for cutting foam

Step 2: Initial Construction

1. To begin, gather your piece of Styrofoam, a permanent maker, string, and a pushpin

2. Cut a small piece of string approximately 9 inches long. Tie one end of the string to the top of the pushpin and the other end of the string to the marker. Push the pin into the Styrofoam. Pull the string taught with the pen and draw a circle. Follow the images in this step

3. 3. Cut out the circle using a razor blade or small hacksaw. You will want the edges to be nice and clean so bits of the Styrofoam do not flake off. Next divide the circle into eight equal sections. After you have divided the circle into eight equal parts, at the end of each line, measure along the side and make a dot at 1.5” down. Repeat this eight times.

Step 3: Drilling Holes and Securing the Foam

4. Drill ½” holes at each mark along the edge of the circle. Drill each hole approximately 1” deep. You should have 8 holes when you are finished that are equally spaced apart.

5. Next, use the duct tape (preferably white for aesthetic reasons) to cover the exterior of the foam. This helps to waterproof the base and to prevent any pieces of loose foam to become loose and pollute the water.  Be careful and do NOT cover the holes that you made in the previous step.

6. 6. After you cover the circle form with duct tape, affix a 6” dowel rod into each hole. They stay in best if you put a small bit of glue in the hole. Hot glue works best. I spray painted my dowels so that the pHloat was all one color and could be seen easily in the dark. Spray painting is not necessary. 

Step 4: Attach Dowels and Drill Holes in the Body of the PHloat

Next drill a small hole into the pHloat. Do not do this in the center. After the hole has been drilled, pull a small piece of rope (approximately 6’ in length) through the hole and tie a knot. This will allow for the pHloat to be retrieved easily.

7. Next take your plastic container and drill two holes in the bottom of the container spread about 1” apart. The holes should be about the same diameter as the legs of the pH sensor found in the kit.

Step 5: Attaching the Arduino's & Sensor's Container

8. Place the bowl on top of the pHloat in the center. Make a mark on the pHloat where the two holes in the container are. Drill the two holes using the same size drill bit. Finally, glue the bowl on top of the pHloat form. Follow the images below. 

9. Place the pH sensor leads through the two holes that you just made.

10.  Take the lid of the container and drill holes for the wiring in the top. You will need between 4-6 holes depending on the thickness of the wire.

Step 6: Building the Circuit

11. We will now work on building the circuit. Find your PCB board. Any small size/shape will work fine.

12.  First solder a black wire (for ground) and a red wire (for power) as shown. Use the 22 gauge stranded wire for all
wiring done on the breadboard.

13. Next attach the transistor and 10k resistor as shown. 

14. Attach a wire in the same line with the 10k resistor. See the photo below. 

Step 7: Circuit Building Continued

15.  Attach another wire from the emitter of the transistor to the left leg (positive) of the green LED.  See image below.

16.  Attach a 1k resistor from the Positive (right) leg of the LED to the power ‘rail’ as seen below.

17. Repeat steps 12 through 16 two more times to put the blue and red Led’s in place. The board should look like this when you are done.

18.  We will now work on making the pH sensor, which will be the mechanism that tells us the pH level of the water. Open the pH sensor; the best way to do this is using a pair of side cut pliers. Be careful, there are wires inside that you will need to keep in tact for the sensor to work properly. It should look like this when you open it up. Attach a black wire to the lead as shown below and the red wire (coming from the bottom right), to the other lead as pictured. 

Step 8: Circuit Building Continued

19. Go back to your breadboard. Attach a fourth 10k resistor outside of the other previously made circuits. Attach it so it is flush to the board).

20. Attach the black wire and the red wire coming from the pH sensor (that you attached in step to the pH sensor in step 18) to the bottom of the resistor. On the other side of the resistor, solder in two red and black lead wires. See below and follow:

Step 9: Continuing the Circuit and Attaching It to the Structure

21.  Place the circuit board on the top of the lid and run the wires through it.

22. Download the following code to your arduino microcontroller. After you download the code the light on the board should turn green. When the pHloat detects moderately high acidity levels in water the light will turn blue. When the pHloat turns red it has detected dangerously acidic.  This code should achieve these results.

int LED = 13;//output pin is #13 for normal acidity level
int LED1 = 12;//output pin is #12 for middle acidity level
int LED2 = 8;//output pin is #8 for high acidity level
int sensorValue = 0;//"place" to store the incoming analog values to be read
int sensor = 1;//sensor input attached pin #1
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(sensor, INPUT);//you don't have to declare "INPUT" since arduino seta all pins as input. I do it for remembering...
Serial.begin(9600);//get ready for serial communication
void loop() {

sensorValue =analogRead(sensor);//read the sensor and put the value in the sensorValue "place"
Serial.println(sensorValue);//pint out on the serial monitor...
if(sensorValue >= 15)//should turn on the red LED because the pH sensor reading is greater than or equal to 15 meaning that the acidity level
is dangerously high.
digitalWrite(LED2, HIGH);//turn on the red LED
digitalWrite(8,LOW);//should turn on the red LED because the pH sensor reading is greater than or equal to 15 meaning that the acidity level is
dangerously high.
if(sensorValue >= 4 && sensorValue <=14)//should turn on the blue LED because the pH sensor reading is greater than or equal to 4 and less
than or equal to 14 meaning that the acidity level is dangerously high.
digitalWrite(LED1, HIGH);//turn on the blue LED
digitalWrite(12,LOW);//should turn on the blue LED because the pH sensor reading is greater than or equal to 4 or less than or equal to 14
meaning that the acidity level is higher than normal.
if(sensorValue <= 3)//should turn on the green LED because the pH sensor reading is less than or equal to 3 meaning that the acidity level is
digitalWrite(LED, HIGH);//turn on the green LED
digitalWrite(13,LOW);//the green LED will continuously stay on because it includes the value of 0 (less than or equal to 3

Step 10: Construction Continued

23. You will now use the 9V battery, the attachment with the red and black leads, and the end of a power supply that fits the arduino's power plug in. Fashion your own 9V battery attachment to power the arduino. Once you have done this (you can look up further instructions online) Plug in the 9v battery to the arduino and move the power guard from USB to PWR. Assemble all of the electronics so that they all fit inside of the container (with the exception of the pcb board). It should look like the first image attached to this step. Once the arduino board is powered and the code has been uploaded, the green light should light up after a few seconds. If you have an arduino board that needs the jumper pin moved to power the board, move the jumper pin from USB power to EXT power.

Step 11: Continuing Construction & Assembly

24. Next you will want to make the paper shade that protects the pcb board. Inside of the kit there are  7 piece of vellum already torn to the correct size. The instructions for how to make the shade is available in video form at the following link: http://www.youtube.com/watch?v=3hysDXOWRCM. Attach the shade using glue. Hot glue works best and dries the fastest. 
While you are making the shade I suggest unplugging your battery from your arduino, It is simply just draining power at this point. Do not replug in the battery until you are almost ready to use your pHloat.

Step 12: Finishing the Shade and Attaching It

25. Glue the shade to the lid of the container. Plug in the battery and tuck the arduino, battery, and wiring into the container. Tightly place the lid on the container. Your pHloat is now complete and ready to float!

This is not recommended to be used in the rain because the electronics exposed underneath the lid could become damaged. If you make a water right top, it would be suitable for any weather conditions.

Please send me your phloats or questions to brittany@brittanyransom.com and I will upload your images, designs, adaptations to the blog phloatkit.tumblr.com


Step 13: Dowload PDF of Materials & Fabrication Plans

A circuit diagram might be helpful, especially for the connections to the Arduino board. These connections are described in words, but a picture, or diagram, would make this more clear. BTW, looking a the code in Step 9, it looks like you are expecting the pH sensor, or rather the parallel combination of pH sensor and 10K resistor, to give integer values between 0 and 15, which correspond to an actual sensor voltage of about 0 to 4.88*15=73.2 mV. I am guessing that you figured out these levels empirically, by testing the thing with different known samples of water. Is this right? Also from the code in Step 9, I am wondering if this sensor is capable of detecting alkaline water? The levels seem to be set at, normal, medium acid, and high acid.

About This Instructable



More by ransom.56:pHloat2 DIY acidic water testing sculpture & kit with arduino pHloat 
Add instructable to: