This was a short project I took up for about one week in mid-November 2019.

The backstory was that I’d been sprouting and planting a bunch of different grocery store vegetables, to see what they would do when offered water and a growth medium:

Potato Lemongrass Green Onions
early potato
early lemongrass
early green onions

Some of them had a pretty solid ability to form roots, but none of them actually survived very long, for two major reasons:

  1. The soil I eventually planted them in was overrun with Sciaridae (fungus gnats / Trauermücken) of unknown provenance, which are proper jerks and lay tons of eggs, which then hatch into an enormous number of tiny larvae, which then snack on the roots of any plants that might be in the soil.

    If you have an infestation of these things, your plants won’t be pulling up nutrients efficiently.

  2. Berlin winters will effectively starve any vegetable needing more than a few Joules of sunlight to survive, it is simply too dark here for too long.

Also, weak as they were, the scallions would flop over rather than grow up straight and tall, turning into forest of horizontal-leaning stalks.

flopping over

The first attempt at a fix the floppiness was to print a standard support stake, like you’d find in probably any garden store.

flopping over staked

This would at least let me prop up the floppy green onions.

This didn’t fix the larvae problem, though.

After getting tired of dealing with the mature flying gnats (albeit enjoying vacuuming them up every morning), I became interested in a possible hydroponic option, to eliminate soil altogether. Of course, the gap between being interested and actually knowing what one is doing, is enormous.

The idea was to print a hydroponic support structure to hold the green onions upright in a bucket of water + liquid fertilizer.

Version 2019.11.3 (Modeled + Printed)

The first model was kind of ridiculous, with a huge amount of plastic wasted on a cylinder wall and dozens of individually printed stalk-support columns. This one was fun to model.


This model reminds me of a lotus root.

lotus root
Source: Wikimedia Commons, CC-SA (

Or a jellyfish.

Source: Photo by Janayara Machado ( on Unsplash

Or the lid of a nuclear reactor, obviously.

reactor cutaway 1

The modeling process went something like this:

Printing was another story. It took 28 hours to print the full object, which is crazy. But the support structure did work.

green onion bucket 03
green onion bucket 05

Amazingly, my printer managed to print the full duration without an accident involving the bed shifting, layers going out of alignment, or the print head knocking the model to the side.

green onion bucket 07

Color me impressed.


  • Too long to print and a lot of wasted plastic.

  • Too much plastic wasted on support columns, don’t need individual columns for each individual plant.

  • Plants still kind of flop over.

green onion bucket 17

Version 2019.11.5 (Modeled only)

After the ordeal of printing the first model, I took a different approach to the second model, eliminating the plus sign-shaped support columns for each plant.

It was pretty clear that these columns took an inordinate amount of time to print, and that the thinner ones were too brittle anyways.

Since each onion stalk is itself a column, the model would only need to ensure that they grow in a straight line between two points at the top and bottom.


The modeling process went something like this:

This model was suboptimal, however, since it again used a ton of plastic for the top cylindrical piece. It would also need to be printed in two pieces, and I wasn’t sure how I wanted to attach the bottom to the top.

Another problem was that the short cylinder sections on the bottom piece each had individual walls (width marked in red in the diagram below).

This does not make sense when trying to use as few resources as possible — the walls can be merged and shared between cylinders.

2019.11.5 wall gaps

This thinking then led me down the rabbit hole of research into circle packing, which is about as much fun as a clown car, but in two dimensions on a plane. There’s a Wikipedia page for that.

2019.11.5 packing 1

Which means, actually, that even when sharing materials between the walls of two tangentially-overlapping circles…​ there’s still going to be a ton of time wasted printing the walls bounding the empty spaces between them.

2019.11.5 packing 2

That would be a tremendous waste of time.

Altogether, these realizations justified the move to the next model. The nice thing about rapid prototyping is how quickly you can move past a sunk cost fallacy!

And all you really need to know anyways, is that honeybees already do this like champs.

Version 2019.11.6d (Modeled + Printed)

The final model eliminated the gap between cylinders altogether by moving to a repeating hexagon pattern. Also, it reminds me a bit of the plants in Super Mario Brothers.


The modeling took a while for this one as well.

These changes shaved a huge amount of time off of the print, going from 28 hours to 8 hrs to print the full object in three separate pieces.

The total amount of plastic required is reduced substantially, by sharing and reducing the number of internal walls. Essentially, each new hexagon is built by reusing some of the walls of its neighbors. This is as efficient in nature as it is here.

green onion bucket 35


  • Bottom piece has a loose fit to its container

  • Support column is wobbly at bottom, needs tighter tolerances

  • Rounded tines on bottom piece do not grip the bucket

  • Bottom piece hexagons are too small

Potential Fixes

  • Add at least 0.5cm to bottom piece radius to tighten fit

  • Tighten up bottom castle attachment (or make it a permanent part of bottom piece) — longer merlon and deeper crenel

  • Convert round to chamfer on tines, and shorten considerably after bottom piece has larger radius

  • Could make support column slightly taller

  • Simplify rounded tines to simply be part of hex wall, double-thickness not needed

green onion bucket 41
green onion bucket 40

This was the point at which I stopped the experiment. The fixes would work, but I lost interest in pursuing further development for now.

Outtakes (Version 2019.11.1, .2, .6c, and .7)






All of the videos that cover the 3D modeling work done in this post are archived on YouTube.

You can find them here.

Anyways, that’s a wrap, folks! Thanks for reading this.

Made with ❤️ with Asciidoctor.