The OPEnS Power Control Board: A circuit to reduce the standby current draw of microcontroller projects to 130uA

At the OPEnS Lab, we’ve found a common requirement amongst our projects: a long, long, long battery life. The OPEnSampler was particularly challenging due to its simultaneous 3.3V, 5V, and 12V power requirements. MOSFET circuits exist that can manipulate power sources and drop their standby currents to near-zero, but designing these in a way that latched their state in both directions, and were powered exclusively from the source battery, was difficult. This short blog post will discuss the features and considerations of Release 1.0.0 of the OPEnS Power Control Board.


The schematic


The circuit was designed by Mitch Nelke. There are two core integrated circuits in this board. IC1 represents the flip flop IC and is responsible for latching its EN-bar output HIGH or LOW after a HIGH pulse on its Clock Pulse input or a LOW pulse on its C-bar input, respectively. IC2 represents the 12v-5v switching regulator component that drops the battery’s 12v supply to the 5v used to power the microcontroller and other components.


The Flip Flop

The flip flop circuit power is sourced from the battery’s raw 12v, though it is dropped down to 4.3v by the zener diode D1. R1 was chosen based on a minimum required current of 60uA, derived from the max required input current of the switching regulator’s enable pin and the current required by the flip flop IC plus a bit of extra as a buffer. This 4.3v source is also used to pull the flip flop’s D input HIGH at all times. The Clock Pulse (CP) input is pulled to ground by a 10k resistor. On a rising edge on CP, the flip flop reads the boolean state of D and sets its Q output to match that value. With this setup, a HIGH pulse to CP will always set Q HIGH.


The C-bar input has a weak pullup resistor, R2, to 4.3v. When C-bar is pulled LOW, such as through the RTC_INT input or a HIGH input from INT_2, the flip flop IC ignores any clock pulses and sets its Q output LOW. When C-bar is raised HIGH, Q will stay LOW until the next clock pulse.


GPIO_READ allows a microcontroller input pin to read the state of the real time clock’s (RTC) interrupt alarm while the device is on. RTC_INT should be attached directly to the RTC’s INT/SQW pin, and GPIO_CP should be attached to the microcontroller’s output pin that is responsible for shutting the device off.


The Switching Regulator

The switching regulator efficiently converts the 12v input to a 5v output. This part of the circuit is essentially ripped from the LM2575 datasheet’s recommended circuit. Its EN-bar input acts as a low-true output-enable and is attached directly to the flip flop’s Q output. The 5v output of the regulator is fed through the MODE jumper. The MODE jumper’s first two pins should be connected during regular use, but should be disconnected when a USB is plugged into the microcontroller (to program it, for example) to not have competing 5v supplies.


The Board

The board layout was done in EAGLE CAD by Sam Edwards. I’ve added dimensions and turned off tStop and pour planes so it is more clear.



The board is designed specifically to work with Adafruit’s Feather M0 microcontroller series. It should be powered by a 12v battery plugged into the 2.5×5.5mm barrel jack receptacle.

  • The +5V pin should connect to the M0’s USB power pin or the Arduino Uno’s Vin. MODE should be closed with a jumper to enable the 5v output of the board.

  • The +12V output should be connected to any circuitry that requires 12v.

  • RTC_INT should be connected to the real time clock’s interrupt output, or any other independent circuitry that sends a LOW-TRUE signal to turn the device on.

  • GPIO_READ should be connected to an input pin on the microcontroller if the real time clock’s alarm needs to be read by the microcontroller when power is already enabled.

  • GPIO_CP should be connected to the microcontroller’s digital output that is designated as the shutoff pin.

  • INT2 should be connected to any external circuitry that should power the device on with a HIGH-TRUE signal.



A current draw test was conducted by measuring the current with a multimeter between the battery’s positive lead and the positive input on the power control board. The power control board was attached to the OPEnSampler’s Microcontroller Breakout Board, upon which Adafruit’s Feather M0 Wifi microcontroller was also attached. The microcontroller was programmed ahead of time to simply power its LED upon powering up. One jumper cable was connected to the real time clock’s 3v3 power pin, supplied by the M0, and was temporarily connected to the power control board’s GPIO_CP pin to turn the device off. Another jumper cable was connected to ground and RTC_INT to turn the device on.



The device had a current draw of 22mA when powered on and only 130uA when powered off. When powered by the small 2000mAH, 12v battery used on the OPEnSampler, the device will have a maximum standby battery life of 641 days (not accounting for the battery’s internal leakage current). If the device had used normal sleep methods that can reduce the consumption down to 1.5mA, the maximum standby life would have only been 55 days. With no standby mode at all, the battery life would have been less than four days.



An important consideration is that I am not an electrical engineer, nor am I pursuing a degree in electrical engineering. There is much to be improved on this board, and if you have any ideas, or find a bug in its design, you shouldn’t hesitate to contact the OPEnS Lab or leave a comment on this post! Additionally, this was only tested on Adafruit’s Feather M0 Wifi breakout, so your mileage may vary on other boards (especially ones that are not in the Feather M0 family!).


Finally, when using this board it is important to understand that the microcontroller is completely shut down on “standby” mode. This means that after the real time clock wakes the device up, it will start at the setup routine and any variables stored in flash will be erased. Be sure to use non-volatile storage methods for variables that must be saved between power cycles. The OPEnS Power board, for example, includes a small EEPROM chip. Adafruit’s Feather M0 Express includes extra SPI or QSPI flash memory that isn’t erased between power cycles as well.



The primary application of the OPEnS Power Control Board is to increase the battery life of a sensor suite powered by a 12v, 2000mAH battery. This board is capable of dropping the standby current of microcontroller-based projects down to 130 micro-amps. The minimum standby current that could be achieved previously was about 1.5mA based on Adafruit’s tutorial linked previously. The OPEnS Power Control Board increased the theoretical max standby battery life from 55 days to 641 days. The device fully shuts off on standby and wakes up from pulses to either of its two interrupt vectors, one HIGH-TRUE and one LOW-TRUE.

Link to GitHub


Written by Mitch Nelke, OPEnS Lab OSU

Annealing For ABS Plastic Parts

By: Merritt Allen


The use of annealing ovens for 3D printed plastic is a useful technique that helps strengthen the plastic part and improves the overall look of the plastic. In this experiment, four 3D printed bag sealing caps were annealed with different techniques to compare the results. The annealing of ABS plastic is performed at a temperature range of 105C-107C which the glass transition phase of the plastic is. When ABS is printed, it is cooled below its glass transition phase which keeps the plastic harder and brittle. By slowly heating up the plastic to its glass transition phase the plastic begins to deform. This deformation is the breaking of the semi crystalline structure within the plastic to relieve stress that is created when the plastic is printed. When plastic is slowly heated, and this stress is relieved, the material is then cool very slowly so that the internal structure remains somewhat viscous- increasing overall strength of the material.


The oven used to perform this experiment was a mechanical convection oven [Source]. The mechanically circulated air heats the plastic, and then melts it. The plastic parts are in the oven for the entire heating, baking, and cooling process. The error of the oven is estimated to be +-2C. [Source] Literature states that annealing can vary in process but most sources suggest the heating of the oven to the glass transition phase at a rate of 50F to 200F over the course of 2 hours. Holding in the oven 30 minutes for every ¼” of plastic (width) and then cooled 50F every hour. The purpose of the slow process is that the plastic is amorphous. Different parts of the plastic can be in different states at different times based on thickness and air exposure. In other words, there is uneven melting and cooling of plastics. The mechanical circulation of air and the slow process is supposed to account for much of these errors. If plastics are cooled or heated at different rates then different parts of the plastics can be in different states which could potentially weaken the part overall by creating stress concentrations; having a brittle location, a half-melted location, or a partially cooled location will disrupt the uniformity of the printed part.


Experiment one was conducted with a high range of temperature, revealing the importance of the glass transition phase temperature. The first cap was placed in the oven at a temperature of 50C and then slowly brought to a temperature of 108C over the course of 30 min. The 3D printed cap is ¼” in thick. After 30 min at this temperature, the cap was removed without cooling slowly. There was no difference in appearance or feel of the cap.

This cap was cooled for over 24 hours before being put back in the oven. The purpose of a second heating was to try and see a noticeable difference in the plastic. The second heating was conducted at a stable temperature of 121C. The total time in the oven was 1 hour 42 minutes. This much longer than the recommended time. When pulled from the oven, the caps were noticeably deformed with visible melting near the center. This warping was the plastic melting outwardly.  This is not desired. The purpose of the glass transition phase is to melt the crystalline internal structure of the plastic without deforming the overall shape. It was concluded that the temperature was much too high and that the glass transition phase does hold precedence.

The next experiment tested an extended time in the oven. A cap was placed in the oven and the temperature was increased by 12-15C every 15 minutes until the oven reached 105-107C. The cap was then held in the oven for 57 minutes. After this, the cooling process began. The oven was decreased by 15-20 degrees every 15 minutes until the oven reach 50C. It was then turned off and allowed to cool to a temperature slightly above room temperature. This cap shrank slightly (3mm) which was noticed when the cap was not able to screw onto its respective bottle.

The above experiment was repeated, and it was found that this shrank as well.

A final experiment was conducted with a newly printed cap. The oven was heated by increasing the temperature 12-15 degrees Celsius every 15 until it was brought to 105-107C (oven fluctuates slightly). The part was kept in the oven for almost 2 hours before the cooling process began. The oven was brought down to 50C in the same manner as above. The part was cooled to room temperature. This part also shrank by approximately 3 mm. The part, however, was also shinier than its un-annealed state, and was smoother after it was cooled.



The pictures above highlight the difference between the annealed and the unannealed caps. The Annealed caps show the visual signs of warping and slight melting.


The photo above shows the shrinking that occurs when the 3D caps are annealed. There was little warping on this cap-temperature was correct- but shrinking still occurred which can be seen above with the unannealed cap is larger underneath the other cap.


Based on the above experiments, it could be concluded that annealing for smaller printed parts that need to fit counter parts (ie. Caps) may not be the most efficient method of finishing a part. The shrinkage of 3 mm could be accounted for in the 3D design process by adjusting dimensions of the design. There are, however, better methods that do not have such a large amount of shrinking involved. Also, if the goal of the annealing is for aesthetic purposes then vapor finishing is the suggested method. The unfinished cap has a diameter of 19 mm, a vapor finished one of 18 mm, and an annealed one of 16.5 mm. Future annealing experiments could be conducted on flatter parts whose max load tolerance could be measured- to test strength improvement-, or parts in which shrinking is easily accounted for. Based on the annealing of caps, however, the process was more cumbersome than necessary and vapor finishing with acetone is the recommended method for both these parts and parts similar in design. Vapor finishing accomplishes the same aesthetic results without the wait time and the shrinking.

Vapor Finishing for Small Printed Parts


Vapor Finishing for Printed Parts


Vapor finishing uses acetone to smooth finish 3D prints by filling the micropores present in the plastic that result from printing. The process of vapor finishing saturates the air around the part to make the surface “flow” into a smoother, better finish. There are two types of acetone bath; cold finishing and hot finishing, both use pure acetone to vapor finish the printed part. The benefits of cold baths being that the part can be left in the bath for multiple hours, and the fumes are more easily controlled. Boiling acetone (temperature of 132 degrees Fahrenheit) is a faster method than cold finishing. Results of boiling acetone can be seen in a matter of seconds, often outweighing the dangers of boiling the chemical [SOURCE]. By smoothing out a printed part the stress concentrations that are created when the part is printed, are decreased. This is done by decreasing the print lines and the micro-pores and micro-cracks in the plastic by essentially filling these in with acetone [SOURCE]. For both cool and hot vapor finishing, parts require a cooling time that ensures all the acetone has been evaporated and that the part has completely hardened. To make sure of this, pieces could use 12-18 hours before being implemented in designs. This will also make sure no warping or pooling of the acetone has occurred between ridges on the part.


The vapor finishing design for this experiment included a rice cooker chamber, acetone, 3D printed parts, and scale. This is the easiest method of boiling acetone. For each 3D cap, the time left in the bath, the temperature, and the time allowed to cool was kept constant. The part was placed in the chamber, the specific amount of acetone was added, and then the heat was turned. The heat was kept on for the same time for each bath, before being turned off and the lid to the chamber was removed. The part was then massed and used. For each experiment, the heat was turned on for 45 seconds to allow the acetone to completely vaporize. The lid was then removed when one minute had passed. Each part cooled for 15 minutes before being tested. The cooling period was implemented to make sure that excess acetone was evaporated, and the part was hardened.

Summary of Test one:

A total of 10 trials were conducted with acetone levels ranging from 0mL to 19.1mL of acetone. It was found that when a cap was treated with 0mL of acetone there was a percent mass gain of 31.3% while a cap treated with 19mL has a percent mass gain of 16.6%. Mass gain was measured by weighing the caps prior to finishing, letting them cool after finishing, and then screwing them on a bag and squeezing the bag while it is upside down. This meant water was absorbed into the micropores when water was forced into the plastic. Caps in between these two points included 5.3mL with a mass gain of 31%, 10.8mL with mass gain of 19.7%, 14.1mL with mass gain of 21.4%, 16.3 mL with mass gain of 18.5%, and 17.8 mL with mass gain of 18.5%. The other trials were repetitions of these levels with similar results. Other data take in experiment one was the water lost from the bag when the caps were being tested. The initial amount of water was measured in mL. After the bag was tilted and squeezed, the bag was re-massed to see how much water escaped. It was discovered that the more acetone used, the less water that escaped. The untreated cap allowed almost all the water to escape. The cap treated with 19mL only allowed 1.7mL to escape out of 140mL.

Summary of Experiment 2:

This experiment was performed to confirm the results from experiment one. The focus was on one low level acetone level and then many higher-level acetone levels. Since the first experiment established the necessity of the higher levels of acetone, the second experiment was performed to finalize this conclusion. For comparison, an untreated cap was tested with the bag and, again, it allowed lots of water to escape with some pressure, further supporting the need for vapor finishing. Experiment two did support the first one. An additional five trials were completed. One with no treated and four more, all above 17mL. The average mass gain between these four treated caps was 22.7%. These four caps allowed virtually no water to escape when attached to a bag and squeezed upside down, further supporting the conclusion made from experiment one. The untreated cap allowed almost all the water to escape again. The recommended amount of acetone was concluded to be 14-19mL.


 Weight of dry cap average: 5.18 g

Weight of cup used to measure acetone: 19.2g

Mass of bag: 11.4 g

Time to dry for each trial: 15 minutes


The photo above compares and untreated cap (top) with the treated caps. There are few noticeable differences, besides the greater amount of rounding in the 19mL level cap (top left).


The above picture shows a cap treated with 10mL (L) and a 19 mL (R). The 10mL treated cap is less smooth than the 19mL treated cap. The edges are less rounded. The necessity of more acetone was also supported when the 19mL treated cap allowed less water to both escape the bag and cap connection and infiltrate the cap.


The picture above shows a cap finished with 19mL of acetone (L) and an unfinished cap (R).

The treated cap is much shinier and smoother than the untreated. There are decreased print lines and the texture is more uniform than the untreated.



Without any vapor finish, cap and bag connection allowed water to easily escape from the connection point with basic pressure. The largest increase of mass was also associated to the cap without any vapor finish, indicating that water was easily infiltrating the plastic. For the second experiment, the untreated cap did not have a large mass increase, but still allowed water to run out easily.

Increasing the amount of acetone used decreased the amount of water allowed to escape while also increasing the efficiency of the connection. Almost no water escaped at the connection point with even greater pressure compared the pressure applied to the little to no acetone experiments. This was also demonstrated simply by allowing the bag to tilt upside down and seeing that the parts treated with more acetone had less water escaping than untreated parts. The recommended range for small to medium parts is 15-18 mL of acetone. With that in mind, it was also found that levels of 19mL and 17mL both performed well under applied pressure but the 17mL acetone levels kept the exactness of the design better. Meaning the acetone did not smooth the part on the outside as much but performed just as well, and the differences were not very noticeable.

The mass of the caps was measured before and after each trial. To give an idea of how much water was being absorbed during each trial. For each cap treated, when attached to the bag, pressure was applied to test how this affects the amount of water escaping at the bag and cap connection. After pressure was applied and water was allowed run out. It was found that past 17 ml of acetone far less water escaped at the connection. The percent mass gained by the caps at this point was also less. This indicates that the increase in acetone levels helps decrease the amount of water soaking into the part. The greater the acetone levels, the better the webbing formed between the plastic layers. Increasing the acetone that is vaporized increases the acetone that is being deposited between particles in the plastic. This is also why a drying period is necessary to make sure the part has hardened sufficiently before use. 

The amount water present after the bag has been squeezed was measured as well. This accounted for any water that escaped the cap through the pores during this process. It was observed that even though the caps still absorbed water with later runs, it was a small amount and most of the water leaking out was at the connection point. This was not performed for experiment two since experiment two was conducted to support the conclusion of experiment one.

Possible errors for this experiment were the acetone bath which could account for the increase in mass for many of the caps. Even though the finished prints were allowed 15 minutes to dry, that could not have been long enough to account for the acetone saturation. To ensure that the acetone is completely dry, the prints were re-massed and retested after more than 24 hours had passed. It was found that after these 24 hours, the difference in masses for the caps was no different. The top of the cap was less malleable after all the acetone could dry. For future printing, it is encouraged to allow the finished part to dry for a least a couple of hours to make sure all acetone has evaporated.  

Below are pictures that compare the results of different levels of acetone. This can be used a reference to show how increasing the amount, increased the layer of acetone that finished the part. The results on the outside show increasing smoothness and rounding at the edges. Internally, increasing the acetone resulted in a better seal. There was not a great difference between the 18 and 19 mL caps, which is why the interval of 14-19mL is the recommended interval for the acetone. The numbers on the cap indicate the amount of acetone used in the experiment.






Author: Merritt Allen


A Review of SLA Printed Bag Caps To Improve Sealing Over FDM Bag Caps


An important feature of the OPEnSampler is the ability to seal the collected water post-sample such that evaporation and contact with the air has a negligible impact on concentrations of minerals and isotopes in the samples. We’ve tried many different options but solid resin-based 3D printed caps proved to be the best option.

This post was drafted but unfinished in late 2017. Because it is still relevant and the conclusion still valid, I finished and posted it with the pictures I took but it is lacking in pictures of the setup and testing.

An SLA Bag Cap, unprocessed, printed by OSU’s Robotics Lab.

The Problem:

Most water samplers leave the sampled bottles open for evaporation and contamination of the samples due to contact with air results in the reduced quality of samples of volatile compounds. To address this weakness, we connected the sample bags through solenoid valves that close to seal the sampled water from outside conditions. As it turns out, this is quite difficult to achieve: FDM printing using spooled filament causes many small defects that result in microscopic holes in the otherwise solid plastic component.


The Causes:

There are many causes of defects in a print. In FDM the most common ones are varying filament thickness, filament that has absorbed moisture from the air, and poor layer-to-layer adhesion.

Filament is created by heating up plastic and pulling it out in a line. How consistently it is heated and pulled directly affect the thickness of the final product. Manufacturers of 3D Printing filament have ways to control for changes in thickness over a certain tolerance, but the tolerance is usually +-3% [source]. Filament with lower tolerances cost significantly more. A change in filament diameter results in a change in extrusion thickness and height, which can impact the way subsequent layers adhere to one another. This variability in extrusion rate can create relatively large holes and cracks in the part, or very thin areas in the wall.

Absorption of moisture from the air is the hardest factor to control. ABS plastic in particular can absorb up to 2% of its weight in water per day [source]. The moisture trapped in the plastic expands rapidly when the filament is heated as it passes through the nozzle. This can cause any size of defect in the form of bubbles on the surface or interior of the component and is unpredictable. We store all our filament in a sealed container with desiccant, but any amount of moisture in the filament is capable of causing microscopic holes or weak points in the final product. These holes are rarely visible and can persist even after heavy vapor-finishing.

To check for microscopic holes, a printed bag cap would be heavily treated with acetone vapor. The cap would be set out for a day to solidify and then attached to a partially filled bag. The bag would be turned upside down. After several seconds, most caps would not show signs of leaking. Many, however, would produce slow drips of water from a seemingly solid surface of the cap, and no hole would be visible. The explanation for the phenomenon was that microscopic holes in the surface allowed a very small amount of water, when under pressure, to pass through the interior of the component and out of the side surface.

Lastly, poor layer-to-layer adhesion can be the result of any number of settings and calibration failures as well as the mechanical failures caused by quality defects described above. Often the biggest factor is a significant temperature gradient across the part as it is built up. This can be seen most frequently when the printer’s bed is not covered. The cover acts to protect the part against drafts and insulates the interior to maintain a consistent temperature well above room temperature. A temperature gradient across the component causes cooler areas to contract while the top layer being printed on is still very hot, warping the print inward and causing the nozzle to print on a non-level surface.

Additional causes of poor layer-to-layer adhesion include rapid cooling of the layer before the next is deposited, large layer heights, or a poorly calibrated printer.

An FDM Printed Bag Cap with an NPT x Compression Fitting attached. It has been post-processed with acetone vapor to smooth the outer surface.

The Solution:

Many solutions were tried. Progress was made in some but the only solution that completely sealed the sample bags was to print the caps on the Form2 (shoutout to OSU’s Robotics Lab!)  in a resin-based Stereolithographic (SLA) 3D printer.

SLA-printed components reduce the inconsistencies caused by heating filament because they do not melt plastic in the process. Instead, a laser with a specific UV frequency polymerizes the liquid plastic in layers, linking chains of plastic molecules together ( Additionally, solid components are created as truly solid parts rather than solid walls with interior mesh as in FDM printers.

We asked the Robotics Lab at OSU to print us several caps with the same design as those that had been printed on our own FDM printers. To test each bag cap, a bag was filled with water and a cap was screwed on. The through-hole was tapped and an NPT x barbed fitting was screwed into it while a short length of tubing was attached to the other end of the fitting. The tubing was folded and pinched off with a small clamp and the bag was turned upside down and squeezed.

Three FDM bag caps were tested and each leaked through a different position. Four SLA bag caps were tested and only one leaked through the threaded interface between the cap and bag. The leaking SLA cap was found to have significant chipping, almost completely eliminating one-third of the O-Ring groove responsible for sealing this interface.

One of the first bag caps printed had major defects in the O-Ring groove, showcased in the red box.One of the first bag caps printed had major defects in the O-Ring groove, showcased in the red box.

One of the first bag caps printed had major defects in the O-Ring groove, showcased in the red box.

To solve this issue, the remaining 21 caps for the device were printed on their sides (also by the Robotics Lab).


Further Considerations:

While the SLA-printed caps were effective at sealing the bags, they introduced new problems. One of the major issues with SLA caps are how brittle they are – a huge setback when any defects need to be fixed with post-processing. Additionally, the brittle plastic breaks easier when shipping: one cap broke at the interface with the extruded aluminum when the device was flown to the AGU fall conference.

Labs are also less likely to have access to an SLA printer, and even if they did it is a more time consuming process that requires additional post-processing. The cost of resin is also significantly higher than plastic filament.



SLA bag caps were 3D printed in a successful effort to eliminate leaking found in the FDM alternatives. A Form 2 SLA printer was ordered for the lab and the remaining 21 caps were printed by the Robotics Lab in time for the AGU conference. In the future it could be worthwhile to refine the design and processing of the bag caps such that FDM printed caps seal the bags, but in the meantime this is an effective, repeatable solution.

Author: Mitch Nelke

Redesigning the Bottle Trays


A tray to hold 12 ISCO bottles was previously designed without considering the weight of water when they are filled. The plastic tray was redesigned using Fusion360’s sheet material modeling and static stress simulation tools.


I was recently made aware that the design of the ISCO bottle trays did not consider the weight of the filled bottles (thank you, Azad, for noticing that)! Stresses in bent sheet materials are quite difficult to calculate by hand, so the design process for the new tray, under load, is as follows:

1. Initial Design

2. Perform Computer Simulation

3. Check results for low safety factor and high stress points

4. Redo Steps 1-3 until I am confident in the design



Let’s go over the initial design:

Screen Shot 2018-01-17 at 10.34.49 AM.pngScreen Shot 2018-01-17 at 10.34.49 AM.png

The ISCO bottles are split into two trays of 12. The constraints are as follows:

– No longer than 740mm long

– No wider than 160mm

– Flat Pattern cannot exceed 2” x 4” dimensions of stock sheet plastic

– Must hold 12kg (about evenly distributed along bottom face)

– Material is .04” (~1mm) PETG

The problem is the open face of the tray. By holding the shape of the tray by two pieces of aluminum extrusion, nearly all the weight of the bottles stresses two sets of M3 screws. Even with washers, the plastic would likely stretch or tear. The design was modified to address these issues.

The new design uses a PETG sheet folded into an open-ended rectangular prism with an overlapping face. This overlapping face includes 6 holes for M3 machine screws and will also be glued together. Two kevlar straps for holding the device, connected on the bottom of the tray and tied with room at the top, are not shown. They will be located 1/3 of the length from either end.


The straps and glue are especially important because they aren’t included in the simulation. Because of them, I can assume that the safety factor for stresses on the sides and top of the tray can be lower than would be otherwise acceptable, since the straps will pull the device from the bottom face.



I performed a Static Stress simulation with a 120N distributed weight along the bottom face. The top face was constrained as “fixed”, and 6 ~M3 bolted connections were added on their respective holes, simulated as pinned connections, to hold the overlapping sides together.

Screen Shot 2018-01-16 at 2.19.30 PM.pngScreen Shot 2018-01-16 at 2.19.30 PM.png

While the result of the simulation appears catastrophic in the above picture, it is important to know that Fusion360 greatly exaggerates displacement by default! The actual displacement should be about 13mm which will look much better. The addition of kevlar straps will likely have a negligible effect on this bottom displacement. Notice in the image below that the max stress is located at the bottom corner of the tray. Because the Yield Strength for PETG plastic is about 47MPa, a stress of 64MPa as shown would lead to stretching and possibly tearing along the edge. However, distributing the weight via kevlar straps along the bottom will minimize the stress along the edges of the tray, greatly improving the safety factor shown in the subsequent image.

Safety factor is the ratio of applied stress over acceptable stress. A SF of 1 or lower means that under static conditions, the component will start to exhibit failure. This will improve greatly by the addition of glue in between the bolted flanges in addition to adding kevlar straps. However, if the tray was accidentally carried from the top face it would potentially break.



To account for additional stresses and accidental carrying methods, I decided to add an additional flange on the bottom that is the same length as the side flange, as shown below.

Screen Shot 2018-01-16 at 2.30.27 PM.pngScreen Shot 2018-01-16 at 2.30.27 PM.png

The results of the new simulation are much more promising:

Screen Shot 2018-01-16 at 2.57.44 PM.pngScreen Shot 2018-01-16 at 2.57.44 PM.png

Screen Shot 2018-01-16 at 2.58.27 PM.pngScreen Shot 2018-01-16 at 2.58.27 PM.png

With the new flanges, the maximum deflection is slightly reduced and the safety factor is well above what is necessary. Because straps will be used rather than holding the tray from the top, the actual safety factor is likely much higher, but the tray is unlikely to break if accidentally picked up by the plastic.



The new bottle tray was simulated with promising results. Larger safety factors and smaller displacements show that it is less likely to break under greater load, and the addition of straps to support the weight from the bottom will reduce the stress in the sheet plastic and provide the user with a more optimal carrying method.

Capstone: Project Features

By: Travis Whitehead

For the past two weeks, we have focused our efforts on drafting and revising a requirements specification for our capstone project (as it is required for all capstone projects). This document is available on GitHub in our project’s fork of the OPEnSampler repo, under the “capstone” branch.

Overall, there are two major components to what we will be delivering over the course of this project:

  1. An Android app (that we’re calling the OPEnSampler Companion app) that will be able to update OPEnSampler’s settings and control it directly.
  2. GSM functionality allowing the OPEnSampler device to send status updates and information to specified recipients.

Companion App:

The primary purpose of the OPEnSampler Companion app is to replace the need for a physically connected laptop. It will be used to easily read and adjust the settings on an OPEnSampler device, and it’ll be a big improvement in usability over the serial command set currently implemented.

The OPEnSampler Companion app will be able to…

  • Pair with the OPEnSampler device over Bluetooth Low Energy
  • View and update the device’s settings, such as timer mode (daily vs periodic), sample rate/timer length, sample size, etc.
  • “Puppet” the device, instructing it to open/close valves or enable/disable the pump in either direction.
  • Specify recipients of status updates.

The app we’re developing will be for Android devices. Unfortunately iOS support is out of scope for our capstone project, but that’s something others could take on down the road.

Status Updates:

Status updates will allow an OPEnSampler’s users to receive information about the device and know what it’s up to. Currently we’ve been planning on supporting email and SMS (text message) notifications, but email is the primary focus.

The OPEnSampler will notify users when a sample is collected, or when all samples are collected, and these notifications will include timestamps. Once the OPEnSampler supports measuring battery capacity, it will also warn users of low battery life. We’d also like to send information about environmental sensors included in the Sampler (like temperature).

The Companion App will be able to specify the recipients of status updates, but we’re still researching the limitations of how many users’ email addresses or phone numbers can be stored on the OPEnSampler’s EEPROM (persistent memory that stores the device’s settings). If this turns out to be a problem, we’re considering a variety of options:

  1. We could allow users to hard-code extra recipients into the program itself (making use of flash memory, which is much larger than EEPROM), with the caveat that users would have to re-upload the program whenever they wish to change these.
  2. We could expand the storage capacity of the OPEnSampler with an SD card (which could be useful for other reasons, like if we wanted to do logging).
  3. Users could simply maintain a mailing list of status update recipients, and store only the address for that list in EEPROM.

Shipping the OPEnSampler


The late-summer OPEnSampler is shipping! We’ve come a long way from the foam puck concept with several iterations throughout the process. The team at Zurich will provide us with much needed field and user testing as we add more members to the team working on the firmware and companion software. Packed into the 80QT Pelican Rolling Cooler is the OPEnSampler, batteries and power supplies, spare tubing and bags, and lots of foam and bubblewrap. The sampler we are sending uses silicone tubing and the June 22 board, but samples effectively and reliably. The serial command interface allows the operator to plug in a laptop and tell the sampler when and how to sample, and the operator interface makes initiating the sampling process quite simple.

There is still much more development to be done! The next batch of samplers include many more features described in previous posts, such as GSM communication capabilities, power decoupling and filtering, and additional sensors to control the sampling process. The hard Teflon tubing will increase the quality of the sampled water and the new pumps, once integrated, will allow large-particle suspended sediments to be sampled with ease.

The next step is to update documentation. This has been a weak point in the design process and the changes and timing of one iteration to the next were not always transparent. Considering the purpose of the device is to be shared with the community of water sampling, you can expect more frequent and detailed updates on the designs following this milestone. I will be updating the GitHub page shortly with the latest and greatest .STL part files for our printed parts, documentation, and the new PCB board files. Later on I will be adding assembly instructions and new code will be posted. In the coming weeks there will be two of the new samplers on our lab tables: the bottle sampler and the bag sampler.Stay tuned!

Capstone Team Intro: Hunter Lien

My name is Hunter Lien and I am one of the new additions to the OPEnSampler team! I’m currently a senior here at Oregon State University getting my degree in computer science focusing on computer security. I first got into computer science back in freshman year of highschool when my school started a computer science program. Every level of the class was taught by a single teacher, Mr. Bartlo and I consider him the biggest contributing factor to my interest in this field. He always encouraged us to move outside our comfort zone and even helped us get funding for projects that might have required additional hardware.

Travis, Chase, and I make up the senior capstone group responsible for developing an Android application capable of interfacing with the OPEnSampler hardware. We will be working on this for the next 6 months at which point we aim to have a functioning product. All three of us will be posting weekly blog posts on the OPEnSampler website to let you all know how progress is going in whatever area of the application we happen to be working on. I’m really excited to get started with this project and can’t wait to be part of it’s success.

Capstone Team Intro: Travis Whitehead

A Bit About Capstone:

Earlier this year, OPEnS Lab submitted several project proposals to Oregon State University’s capstone course for computer science (CS) students. Capstone (or Senior Design) is a three-term course in which students work in small teams on projects that solve real-world problems. One of OPEnS Lab’s proposals was to enhance the OPEnSampler with GSM support enabling long-distance status updates, and to ease the sampler’s configuration with a mobile app that will communicate with the Sampler over Bluetooth. That’s where we come in!

I won’t go into too much detail in this post, but you’re welcome to read the problem statement we prepared for capstone, available in our fork of the OPEnSampler GitHub repository.

(If seeing PDFs in git hurts you, rest assured we’ll be doing some cleanup and reorganization in the near future.)

Right now, we’re mostly getting started by preparing written documents that will guide our future work. The week before last we finalized our problem statement, and this week we’ve been working on drafting a requirements specification. Although we don’t have an exact time-line laid out, our end game is to have completed this project by OSU’s Undergrad Engineering Expo during the Spring (where we will be presenting our contributions).

A Bit About Me:

I’m Travis Whitehead, a Computer Science student at OSU with the exciting opportunity to work on the OPEnSampler for my capstone project (along with my teammates Hunter and Chase– who will also be introducing themselves in separate posts). As I don’t have a lot of background experience with mobile development, microcontrollers, GSM, or Bluetooth specifically– I’m expecting to learn a lot this year!

As a free software enthusiast, I’m delighted about the “Openly Published” aspect to OPEnS Lab. In my spare time, I work as a Student Systems Engineer at OSU’s Open Source Lab a (similar sounding) organization that provides various forms of hosting for open-source projects. Luckily, there’s room in my heart for more than one open lab.

This is the first of many updates I’ll be writing as we continue to work on this project– So stay tuned!

Capstone Team Intro: Chase Coltman

Hello, my name is Chase Coltman, I one of the three capstone students working on the new companion app for the OPEns Lab Water Sampler, OpenSampler. I am excited to bring some of my previous mobile development experience to this project and make a great addition to this team. Currently, I am in my Senior year at Oregon State University, and I am studying Applied Computer Science, with a focus in Simulation and Game Programming. I am thrilled to be a part of this team and can’t wait to see what’s in store.

Previously here at Oregon State, I have taken several classes that will be very beneficial to our assignment. Two of the most beneficial classes I feel will contribute the most to this project are Mobile Software and Cloud Development, and Intro to Usability Engineering. My Mobile Software and Cloud Development class will likely be the most useful as we focused on app development, however we did not cover certain things like GSM or BLE, which is going to play a very large role in the companion app. My other class, Intro to Usability Engineering, was more about general UI design, good user/design focused elements such as Affordance, Consistency and of course Usability.