This was my first experience with electronics, so I was testing out some of the equipment and modules I had, namely the power supply and the Peltier device.
After learning how to use an Arduino and finding the code necessary to run a sensor, I tested out a simple 64 pixel Arduino thermography camera. What I was also doing at this time was continuing the testing of some of the Peltier devices, as can be seen on the right side.
Peltier devices let off a lot of heat since they effectively act as a heat pump, which results in a hot and cold side. As such, it was necessary to dissipate the heat that was being produced. To do so, I used thermal glue to attach heatsinks to Peltier devices.
Around this time, I had also just learned to solder. So I soldered the wires of said Peltier devices onto one board, in parallel, so that all the devices could be powered through one power source.
Heatsinks only increase the surface area for heat to escape and absorb heat, but other than that, don’t actively dispel it. As such, a set of small fans attached to said heatsinks would allow for effective heat movement. So here, I’m preparing to attach the fans to the heatsinks and Peltier devices, and then solder all the fan wires in parallel onto the same board, so everything could be powered through one power source.
With fans attached to Peltier devices, I did some quick testing with a piece of aluminum, just to see how cold it could get. At this point, we were pushing around 18 Watts of power, and there was noticeable condensation on the aluminum.
This is a test with the ultrasonic humidifier units. As you can see, there were no clear positive or negative ends on the circuit board that the units came with. Using a multimeter though, I was able to find spots where there was low resistance (same sign, short circuit) and spots with high resistance (opposite signs). By then applying an electrical current and seeing if the units worked, I was able to test to find which spot was positive and which was negative; I then soldered wires onto the positive and negative spots and connected them onto a single circuit board. However, there was also a button on the circuit board that the units came with, which didn’t allow the humidifiers to be directly activated by applying an electrical current to the positive and negative ends without pressing the buttons. After digging around online, I realized that this could be solved by shorting the switch, which I did, allowing the units to be activated when an electrical current was applied to the board.
Following a tutorial on Adafruit, I made my first breakout board for the LED panel. You can also see the Peltier devices running in the background, with condensation on the sheet of aluminum.
Arduino relay units were quite confusing to me, and I wasn’t sure which wire went where, which led me to experiment for quite a bit. Here I am, testing it out.
First cutting and soldering some of the wires of the LED panel, I then attached my homemade breakout board to the panel.
Though not shown here, I had a huge amount of issues with the panel, as it turned out I had misconnected several of the wires to the Arduino and the breakout board. There were also some problems with the code as I had accidentally loaded the code for a 64 by 32 panel instead of the 32 by 32 panel. But once it worked, I set it to light up the entire panel with an equal proportion of red and blue light, and then messed around with it, making shapes, text, etc.
Now with all the separate electronics (Peltier devices for temperature, ultrasonic for humidity, LED panel (not shown) for lighting, and fans will come later) working and attached to their own control boards, I started connecting them to a relay that was controlled by the Arduino so I could use the Arduino to selectively decide which electronics to turn on and off.
Here, I also test out a soil moisture sensor and DHT22 temperature + humidity sensor (soil moisture sensor is the green strip on the right, the DHT22 sensor is the white block on the right), but you can also see that the relay is hooked up to all the electronics. This was to make sure everything was running well. Though I haven’t really mentioned it, the coding process was happening concurrently, but nothing too intense yet. Since adafruit publishes tutorials and the necessary code to work sensors, all I needed to do was to connect all my I2C sensors to a bus and then link them to my Arduino’s I2C pins, and then using the Arduino IDE, copy and paste all the code into a joint sketch, then make a few tweaks to make sure I was getting all the right readings from all the sensors. For the relay, I wrote a bit of code to start controlling it. Concurrently, I had everything plugged in and powered with a 30 W power supply, just to make sure everything was working correctly. Luckily, everything was working at this point.
At this time, I had shifted from the electronics side and started focusing on the design side. This is a later picture from when I was finishing up the design as I forgot to take pictures of the design process at the beginning. You can also see a 3d printer in the background, which I will talk about later. But essentially, I used FreeCAD to model parts that would contain the electronics I had previously tested. With each part modeled, I tried to fit all the modules into a container that could hold the plexiglass, Arduino, water reservoir, base, etc. The modeling process was very time-consuming, albeit a lot more interesting as I could let my creative side loose. But due to tight tolerances and a large number of parts, it was quite difficult getting everything printed out and fitting right.
Realizing it was probably essential to have some form of 3D printing at hand, I sold some of my extra plant cuttings and divisions on eBay, while also taking up a tutoring job to save up for a 3D printer. However, I was completely new to 3D printing, and you can see from the scratches on the build surface, I had leveled the build surface incorrectly. I had also not worked with retraction settings, temperature settings, infill settings, etc. As such, my first few attempts were utter fails, as can be seen by the pile of failed prints on the left.
Though I didn’t include all the photos from my 3D printing adventures, I would say that 3D printing was the bane of my existence for a while. To find the optimal print settings, I had to do tons of test prints, most of which warped, were stringy, or just refused to stick to the build surface. At the same time, the printer nozzle got a bit clogged, so I had to take apart the extruder and the hotend. However, I didn’t have a clamp or anything heat resistant, so I used a soldering helping hand, a silicon mat and then held the hotend still with that method. Luckily, nothing melted or was burnt, but due to a leaky nozzle and problems with the Bowden tube, I would have to redo this process twice.
Here are the next two fails. First, I failed to secure the nozzle, which caused the filament to leak and burn on the heat block. As mentioned before, this led me to take the extruder apart again, clean the burnt filament off and replace the nozzle again. Aside from that, the Bowden tube that the printer came with had become bent due to my mistake when assembling. As such, the filament had trouble moving smoothly, so I took apart the hotend and cut the tube, removing the bent area, and then reattached it to the hotend.
This was my first, somewhat successful large print on a new build surface with a mostly fixed printer. However, this glass print bed still had its issues, namely its adhesion.
As a bit of a detour, I tested a BL Touch accessory with my printer to enable automatic bed leveling. To do so, I did a bit of messing around with G Code, and the printer’s code on Visual Studio 2019. Though a cool addition, I had troubles with the BL Touch, and eventually just dropped it as manual leveling was sufficient.
Again, other problems popped up, like this unaligned set of rails and loose belt. It’s hard to emphasize this with a picture, but the 3D printing process took almost 2-3 weeks to get to a point where I could actually print successfully and consistently. It was a very frustrating process.
Unfortunately, the new bed just didn’t provide enough adhesion, and prints would easily warp. At the same time, the shortened Bowden tube was leading to issues with the printing process, restricting movement and stressing the extruder. So, I replaced the Bowden tube, and the bed (with a nice flexible, magnetic PEI sheet).
After changing the print surface to a flexible PEI sheet, there were fewer adhesion problems and with the hotend and tube fixed + settings optimized, we were able to get some nice-looking prints consistently. However, warping became a problem down the line again, which led me to start printing with a draft wall and a brim.
Also, I should mention I was printing with PETG, since it’s waterproof and doesn’t require conditions as stringent as ABS.
The most difficult part of the terrarium was the cooling. In hopes to both be quiet and effective and space-effective, I utilized solid-state technology, or peltier coolers to be exact. Not to directly cool the air, but to cool a reservoir of water, that would then be sprayed out with the ultrasonic humidifiers. This would also remove the issue of humidity dropping due to condensation, which happens with AC units, etc, and is detrimental to the health of highland nepenthes plants. So 3 peltier devices were thermally glued onto a small sheet of silver, since once silver tarnished, it would be relatively unreactive to distilled water, which is very important since nepenthes require clean water without contaminants. Silver also has an extremely high thermal conductivity. I also looked into high thermal conductivity ceramics, such as boron nitride and beryllium oxide, but due to high prices and low availability, I ended up using silver.
Here, I printed out a small compartment to contain water that could be cooled. Designing the reservoir so that the silver + peltier could just slide into the reservoir, I slid both parts together with a bit of aquarium-safe silicon to seal it. However, I made a huge mistake, as when sliding in the silver + peltier cooler module into the plastic reservoir, I put way too little silicon, which forced me to add more, covering some of the silver, and reducing the cooling surface area/cooling ability of the peltier devices. This also would introduce leaking problems, which were mostly fixed but popped up when long testing sessions occurred.
Since I needed to monitor the temperature of the water inside the reservoir, I learned to use a Dremel and then drilled a hole that could fit a DS18B20 water temperature sensor. Then learning my lesson, I sealed it with tons of silicon but made sure that none of it got on the sensor end. At this point, the reservoir was almost done and just needed the humidifier modules, which is what the empty rectangle is for.
After printing a case to hold the humidifiers, I slotted it into the reservoir and sealed it with silicon. I also drilled a hole next to the sensor and placed a tube through it to pour water into the reservoir.
Realizing that I had way too many separate control boards (one for lights, temperature, humidity, air circulation) I consolidated everything onto one singular board, which is that mess of wires. At this time, I had also procured several small computer fans, which I used as air circulation; they’ll be shown in the next section.
Also, though I don’t have pictures of me coding, I was having a lot of trouble putting everything together at this time. Troubleshooting took me days, and it was especially frustrating because it was commonly a very small issue, like a variable that was defined twice, or a global vs. local variable situation. Making a loop that would react to changes in the temperature, while also setting it up so that there were two separate modes, one for the day and the night, was quite time-consuming.
Here’s the combined case for the fans and humidifiers. On the right are the fans, on the left are the humidifiers. I put them all into one case to make them look a bit nicer, and to reduce movement, instability, etc.
I then also extended the water capacity by adding a water tank connected to the water reservoir.
With electronics mostly done and programming almost done as well, I moved onto the final stages of the project, which was putting the entire mess together. After printing a very large top, I started attaching electronics onto the top.
Using a combination of superglue and screws, I attached all the electronics onto the top board. The light panel was fitted into its own case and then combined with the top board.
I then printed some side panels and a base to hold a pot and the electronics.
And here’s when the project started to shape up. The case with the cooling system and fans slots into the space in the base, while the top also slots onto the case with the cooling system.
Here, I started to print walls for the top section.
As things as finishing up, I printed a large cover for the top section, a little piece that goes over the plug to stabilize them, as well as clips for the side. The reason for the clips is actually quite interesting because I messed up when I was lining up some of the ports. As you’ll see later, I put the power port and Arduino port at the front, which means wires would dangle down when I connected the terrarium to its power supply. As such, I printed a few clips to hold the wires to the side instead.
Here’s a cool little pot I designed and printed. It slots into the base.
Though I don’t have a separate picture for it, you can also see the base has an extra section on the bottom, which is the water tray.
Cutting the plexiglass and putting it into place on the terrarium.
And there’s the finished product.
As you can see, the ports are indeed in the front, but the clips held them up. However, though the system generally worked very well, especially the fans, humidifiers, and sensors, it’d be remiss not to address the shortcomings.
First of all, the cooling was not even close to powerful enough. Though the system could cool the water down to 60 degrees F, it took way too long and the cooling effect from spraying the water out was minimal. The water reservoir was also too small, having enough for an hour or so of running, not to mention the sealing job came back to haunt me, leading to leaks.
Aside from that, the project was relatively successful and definitely was close to the idea I had in mind. Though the first version is finished for now, I have some ideas to upgrade the cooling system, and also add the ability to heat by reversing the electrical polarity (or simply rerouting the heat) while also fixing reservoir capacity and sealing issues. I also plan on adding a method of watering the plants, since the first version relied on watering purely from the humidifiers. All of that is currently being planned, designed, and worked on.