Cloud-native ramblings: Adding Redis

Many people think I am “just” building a paludarium… But they don’t see the complex world of automation behind it. In fact, there is a full blown application running the paludarium, build in a limited-but-functional cloud-native architecture.

This architecture is limited… Because you can have multiple instances of your microservices… But in the end there is only one piece of hardware to control. A single relais, a single led light, a single pump, a single valve and a single level sensor. And this is a problem; what if multiple microservices all talk to the one hardware platform at the same time? I needed a way to put a lock on who can send commands, and Redis came to the rescue.

The limitations of having “one hardware”

What if you have all kinds of microservices and functions that all want to talk to a single hardware platform? There are several functions and services that want to talk to the hardware:

Read more »

Building a styrofoam waterfall

One of the main features in any of my paludariums is a significant water body. As I then have both land and water, a waterfall should definitely be part of the setup! I have always created my waterfalls out of styrofoam. In this post I will share more details (and do’s and don’ts)

Sourcing styrofoam

This turned out to be one of the hardest things: Where to get a styrofoam block thicker than 8cm without the need to buy a truckload of it? This turned out to be harder than I thought. For previous builds I have always been lucky to find pieces of styrofoam casted away at build sites. The best one was a road being reconstructed near my home that ran through the marshlands. They constructed this road… Floating on styrofoam. You can imagine the size of those blocks! Even the smallest piece of discarded styrofoam would not fit in the trunk of my car 😛

For the previous build I wasn’t that lucky. In the end I settled for layers of thinner (5cm) styrofoam plates glued together; a “don’t” as I was soon to find out.

Read more »

Cricket-proof way to run wires into a paludarium

If there is one thing I have noticed (and my wife hates) is that through ANY hole in a paludarium, crickets will find a way out. One of the toughest problems to solve is how to decently create a feed-through for wires and 6mm hoses that are guaranteed to be “cricket escape proof”.

It still starts with large holes

In order to make sure I can always run any wires or hoses into the paludarium, I started out with having three large (40mm diameter) holes drilled in the top of the paludarium:

It still starts with holes… 😉

I my case the company that built the glass encloseure only had a limited set of hole sizes they could cut. I ended up with 40mm. I measured them afterwards to get the exact size (and glass thickness). I then fired up Fusion360 and drew up a design that would allow me to place a neatly fitting plug in the holes.

Next, I designed 6mm holes in the plug, and I also printed tiny sliders that can cover those holes. The end result:

Top and bottom view of the cricket-proof plugs

These plugs are now inserted into the large holes on top. By default all the sliders are closed, but whenever I want to run a wire or hose I simply open up a slider and feed the wire through. I then reclose the slider as far as I can, effectively sealing the holes shut. No crickets shall pass!

Progress on the Aeryn module

Building out the new paludarium follows two “golden” rules: 1) No tech inside 2) create everything in a modular fashion. Following these rules I came up with the Aeryn module. This module is in charge of one of the most important things for the land portion of a paludarium: Conditioning the air.

Requirements for the Aeryn Module

The Aeryn module should be able to utilize the surrounding air (my living room) and convert that into “jungle-compatible” air. In the early stages of building paludariums I quickly discovered that airflow is the number one factor to influence humidity. Heating the air used to be done by heating the water mass, and the air would more or less follow that temperature. Adding a mistmaker inside the setup would allow for quickly rising the humidity.

In the new setup I wanted to pack all of this (and more) into a single replaceable module: The Aeryn module. These are the requirements I set:

Read more »

Watering the background

One of the tricks I have been using to keep things growing everywhere in the paludarium is by regularly watering the background. In this post I will describe how I made a spray bar and how I mounted it inside.

The idea

In order to get water onto the background and have it nicely sift through I have been using a 12mm PVC tube with a series of 1.5mm holes drilled into it. Really simple, and works well even with the smallest of pumps:

Example from an older setup on how to use a spray bar

Mounting the PVC pipe

Read more »

The Aeryn module: Palu Air Conditioning

The Aeryn module was designed to allow air to be taken into the paludarium, heated and/or moisturized (mist) before it enters the setup. This is all part of the idea to have “no tech inside” but rather outside for easier access, maintenance and replace with updated versions.

What is Aeryn

Remember the sci-fi series “Farscape”? I originally designed this module named the Aether module. In honor of Farscape I renamed this module to Aeryn 🙂

The Aeryn module is a box-shaped module approximately 60x15x13cm in size, and is inserted into the hood above the paludarium. It lines up with two 12cm holes in the ceiling, where two fans draw in air from the outside. On the end of the module a 40mm pipe leads to the meshed strip on top of the paludarium where the conditioned air gets inserted.

Aeryn section 1: the air intake

The first section of the Aeryn module contains two 120mm fans, RPM regulated (and RPM measured back). These fans are put on top of the module, blowing down into the module. So first the airflow needs to be guided to flow sideways, which is accomplished using a 3D printed guide as shown below:

First section: After the air is pushed in from the top using two 120mm fans, this 3D printed guide directs the air to the left, on to the next sections of the Aeryn module.
Read more »

Artemis v1.22: The new automation module

As you may have noticed, I love calling everything a “module” more and more. And with good reason: If you build a project of this size, splitting up in modules makes sense. It allows you to focus on PART of the problem, and replace the module if you find something smarter / better.

Required specs for the new automation hardware

As I was building out something new, I figured it should be big and bad enough to handle anything I want to throw at it, PLUS have room for future expansion. As I was falling in love with many smaller light sources again, and the RGB-CCT led panels, I came to the conclusion that whatever hardware I build, it has to have MANY channels I can use to control and possibly dim all hardware. Just as an idea, I wanted to use three RGB-CCT led panels, and those use 5 channels each for red, green, blue, cold- and warm white. So that is 15 PWM channels at 24V already maxing out an Arduino Mega (which has exactly 15 PWM outputs). So I needed more. Time to grab back to my faithful PCA9586 PWM I2C-based controllers. I would not place them onboard this time, but design them as separate modules that I could either place on top of the Artemis Controller, or optionally somewhere else (just running power to them and the I2C connection).

In the end, this is the huge wishlist I cam up with regarding the automation hardware:

Read more »

Artemis hard- and software = WORKING!

After more testing, more writing code and more debugging I have finally managed to call the code inside the Artemis as COMPLETE. The last few bits and pieces came together, so next step will be to work on the higher level software inside the Raspberry Pi.

Artemis has been put through it paces. It all seems to work OK now, Although I did need to make some changes here and there…

Read more: Artemis hard- and software = WORKING!

NeoPixel Ledstrip: Working

So The “smart” led strips with the WS2812b smart leds on board refused to work initially. After a lot of debugging I figured out that the first NeoPixel, the onboard ws2812b was the culprit. It just would not work properly, even though it would pass the bitbanged stuff to the rest of the led strip in the correct way.

Read more »

The Canopy: Building a wooden hood

In the past I have always had wooden hoods on top of my paludariums which I call “the Canopy”. The latest one did not have a hood, as I placed lighting and fans in the open on top. For this new and big design that will not work, so once again it is off to the store to get wood cut to size.

Modules, modules everywhere.

In the past I used the Canopy to mount everything I needed directly in to. I even had a version that had a full-blown PC power supply mounted on top. Not this time. I want everything to be removable, modules everywhere. So I had plywood sawed to size not just for the Canopy itself, but also for up to 4 modules which slide into the Canopy. As I do not want to remove the canopy whenever I need to make a change, this time I will build a detachable front element which is held in place by magnets.

So far I have only two modules in mind, one that carries a few pumps (rain pump, backdrop moisturization pump), nothing too fancy.

The second module is more interesting. It holds the complete “air conditioning” system. There are two 120mm regulated fans in there, an air heater and two mistmakers. This is quite a complex module, as it will measure air going in (to get an ambient reading), and have multiple connections for osmosis water pumped through (for the mistmakers), connections for the air heater and of course the fans.

These modules will be covered in a later post.

Constructing the Canopy

For the Canopy itself, I just need some holes for feeding through cables, sliders to mount the modules, and a system rail in front where I can mount a series of power leds. Also, I’d like to maximize accessibility. The idea is that I’ll build an “inner layer” of plywood that sits on top of the paludarium, and a thinner “outer layer” that neatly falls over the edges of the glass paludarium, hiding the top two centimeters or so. First it is off to the inner layer construction. Yet it always seems to start with a saw:

Why do things always seem to start with a saw? Anyway, sawing some corner beams to form the shape of the Canopy.

Assembling the inner layer of the Canopy

Using the sawed corner supports it was relatively simple to build the basic construct. As usual the fit was ALMOST right. So I guess there will be some sanding and filling in my near future 😉

I needed to add some holes in the rear of the Canopy for feeding through cables and such. Not quite sure how big the holes should be, so I settled on a slit of 28mm high (just because I had a 28mm drill handy 😉 ). Hopefully all connectors I will ever use will fit through! In line with the other 2 holes I just added some holes in the back (yes, 28mm as well 😉 ).

Slit added to the rear for feeding through cabling and hoses. On top you see the two holes for the 120mm fans which will sit in the “air conditioning” module.

Furthermore I have added fan guards to the 120mm holes on top. The biggest struggle will probably be to get the air conditioning module to align with these holes 😉

Fan guards added to the Canopy. Bring on the module that actually has fans 😉

Finally, a cozy look from the inside of the Canopy that demonstrates the shape of the Canopy a bit more:

Inside view of the Canopy for as far is has been constructed. It clearly shows the cable feedthrough and the fan holes with their fan guards.

What next?

So up next is figuring out a way how to fix the top in a more solid way and not just on the edges. Anyway, I’ll figure that one out soon enough. Then it is on to constructing the outer layer and the sliders for the modules and the lighting rail. Not to mention the lighting rail itself 😉

Stay tuned for more!

Adding the sewer-dump

If you want a paludarium where plants will grow under water, I have learned you need to separate the aquatic water system from the “land” water system. The sewer-dump does just that.

The idea is that any water you add in the aquatic part which is too much will overflow in the sewer-dump. Watering the backdrop for example comes from the sewer dump. Any water falling on the (yet to build) land portion will be dumped here as well.

This accomplishes two things: A steady water level and a clean aquatic water world!

1. A steady water level

Anyone who owns a paludarium will know: The water levels tend to fluctuate constantly. Evaporation, adding water, it just varies all the time. How to solve this? Well, just add water on a regular basis (aka automated!) and make sure the water can overflow from the aquatic part. Like some cool infinity pool that keeps the water level at a constant. Excess water overflows into the sewer-dump section.

2. Clean aquatic water

Over time inside a paludarium soil will form. You can choose to add soil, or to leave it out… But as the paludarium becomes bio active rotting leaves will form soil. Lots of nutrients, but that will simply overpower the aquatic section. Too much nitrates and phosphorites will kill fish, ruin plant life, and if you are unlucky cause algae to massively bloom instead.

How to make sure that won’t happen? Divide the water systems! The sewer-dump recycles any water for the land portion. Any water from the land portion should flow back into the sewer-dump as well. Aquatic water that is “too much” flows in there as well.

What the sewer-dump looks like

So the sewer-dump in itself is pretty basic: It is a sealed-off portion of the paludarium by glass. I used to have a glass “wall” 10cm from the rear for this, but in order to maximize the aquatic water section this time I decided to make a really small sewer-dump:

The sewer-dump: Nothing more than three glass plates separating the aquatic water system from the “landmass” water system

The trick is of course that these pieces of glass have the exact height of the water level you require inside; in my case it is 5mm below the front window vent.

You can see that there are three PVC feedthroughs; one outside the sewer-dump and two inside. The one outside is used to draw water from the aquatic part into the external canister filter (notice the 3D printed filter cap on the right) so it obviously needs to sit in the aquatic part.

The one in the middle is used for the canister filter return line. Water gets pumped in through the long PVC tube you see in the picture above, which ends up in a (yet to construct) waterfall. That waterfall flows back into the aquatic section closing the loop. It is vitally important that no water gets “spilled” into the sewer-dump in this process!

So where does the excess water in the sewer-dump go?

The PVC tube on the left in the picture above is the real trick: Any excess water will flow through this pipe (in the picture the 20mm PVC tube is too short; I need to order more 😉 ). It will flow out of the paludarium eventually into the sewer (the real world sewer that is). I will capture excess water into a small canister under the paludarium which I will empty using a pump with 6mm hose that goes to the sewer (unfortunately the location of the paludarium is in the mancave, meaning it sits lower than the sewer system in the house).