Introduction: Design and 3D Printing of Self-watering Pot Systems

I’ve always wanted a self-watering pot system because I always forgot to, or overwater my plants. After some reviewing on off-the-shelf self-watering pot system, I propose the following design.

This article explains the basics of the self-watering pot system. My design consists of an outer water container, an inner carved soil container, and a water-absorbing cotton string for water distribution.

I also like to use objects in our life, so I would use a scanned object to construct the water container. With mesh editing tools, a pit could be constructed on the scanned object.

Rhino and grasshopper could be used to construct the inner basket. The idea structure of the design would be able to generate scalable artifacts of the same basket with minimum effort. Holes on the bottom of the basket will be designed for water-absorbing fabrics to go through.

With this process, I am hoping to convert any daily objects to self-watering pot systems.

Step 1: Creating the Outer Water Container

The concept of this project is to convert scanned daily objects into self-watering pots. However, in practice, any 3D objects can be used.

I started with a 3D pumpkin model downloaded from the internet made by papaisur. Meshing editing is conducted in Meshmixer. After cutting off the top section, I tried to make a container using the pumpkin shape.

The first way I explored is selecting and extruding some mesh on the top. It worked fine but you can imagine that a lot of materials are wasted inside the wall. What I really need is just an outer shell with a preserved shape of the object. So the second way I explored is selecting the outside surface of the object and creating an offset to generate a shell-like structure.

After generating the outer-container, two important parameters need to be measured for designing the inner basket.

  • The opening of the hole L (in this case, I measured the diameter of the top opening)
    • This determines the maximum diameter of the basket
  • The depth of the hole D
    • This determines the height of the basket and the height of the water you want. (You do not want the soil to immerse inside the water)

Step 2: Creating the Inner Soil Basket

The inner soil basket consists of four functional parts:

  1. The revolved surface as the base structure. It needs to fits inside the outer container, so the curve needs to fit inside a rectangular of '(max opening length L/2) BY (max depth D - max water height)'. In my pineapple design, I used a max water height of 3 cm.

  2. The patterned wall for a breathable environment for the roots.

  3. The bottom holes for fabrics to go through.

  4. The top edge design (spheres in this example) for hanging the basket inside the water container, making sure that the soil is not submerged in water.

A change in the curve shape would result in a revised solid of the basket. Note that the point used for top edge structure needs to be preserved, or more editing would be needed to make it fit.

Join naked edges and remove non-manifold edges:
In Rhino, after you bake your geometry, select the geometry, click Analyze --> edge analysis to show all naked edges and non-manifold edges.

Click Analyze --> edge tools --> join two naked edges, and select two close naked edges to join them together. This will fix the naked edges.

To fix the non-manifold edges: click the model to select it --> type in command 'explode' to explode the polysurface --> select the non-manifold edge surfaces and press 'delete' --> after deleting all non-manifold surfaces, select all model components and boolean them together again.

If there are still naked edges, you can use Meshmixer or Meshlab to further repair the mesh.

Updates! I have figured out a way to avoid non-manifold edges and naked edges in Grasshopper all in once. Please see Step 2 updates for details. This helps save all the efforts of cleaning and repairing the mesh.

Step 3: 3D Printing

Water-tight Settings

The 3D printing of the inner basket is easy and straightforward. However, as the outer shell is aiming to hold water, it needs to be waterproof. My previous experiences of printing vases suggested some leaking problems when using PLA filaments. I experienced more with the slicing settings in Cura and found a setting that is reasonably good for holding water. The changes I made are the flow settings (130%), wall line count (2), and the initial bottom layer (0.5 mm) (see attached images).

I have tested the water-tight performance since May 29 @3pm. I will update it once I see any leaking problems.

Support Settings

I want to use a little bit of tree support to keep the bottom. To customize the space for the support materials, I used the 'support blocker' tool to block out the area that I do not want any support materials. This helps with saving materials and printing time.

Step 4: The Self-watering Plot

The next step is putting everything together and test the water-absorbing capability.

Everything was put together @ around 11:30 am. I measured the heights of the water in the outer container at different time to see how much water the fabric delivers after about 3 hours:

water height is

1.9 cm @14:40pm, and

1.5 cm @18:16pm.

A fair amount of water is absorbed into the soil basket.

Step 5: Other Designs

I tried to scan a dog toy using displayland. The resulting mesh is okay without many details. The hole turns out to be very small that I think a basket is not necessary for this design.

I also tried another free 3D pineapple model from the internet by printable_models. I printed the pineapple using PETG filament that is resistant to water and chemicals. I changed the flow to 110%. The resulting print does not have leaking problems!

Step 6: Next Steps and Future Work

  • Currently, the basket is limited to revolved shape. Future work could be trying some other shapes like rectangular.
  • The revolved basket is non-manifold somehow. Although it does not affect the 3D printing quality significantly, it might be good to figure out a process to avoid it. Manual editing in Rhino can also remove the non-manifold edges. [Solved! Please see step 2 updates.]
  • Stackable design for multiple uses of the pot. For example, a cap design (like the pineapple head) for the pot if the pot is not in use for planting, for both aesthetic purpose and functionality.
  • Post-processing such as painting the surface of the printed objects to make it look more realistic to daily objects.

Step 7: Step 2 Updates:

I found that these non-manifold edges and naked edges are generated due to the open brep I have in the grasshopper (they should be closed brep instead). So I searched on some methods to solve this problem. I looked at these two posts:

surface morph

split brep

Then I made some changes in my grasshopper program: see attached screenshots. The new program solved the problem! Now the baked model can be directly printed using cura without any mesh cleaning or repairing!

I have also updated the new version to my github.

Step 8: Files

All files can be found on my Github.