Terrarium Controller v1.8

Grigorii Merkushev
6 min readDec 15, 2022

--

Reptiles Obsession

As I said before, in the first years we bought just 4 corn snakes. Well, who could know what will come after that… In late spring 2022, we went to the local reptile shop to look for food for corn snakes and returned with a new Pareas Carinatus (Asian slug-eating snake). But this was the only beginning of this reptile’s obsession. In a week or so we went there to ask for some snails and returned with 2 adorable leopard geckos. Another trip to the shop for crickets gave us a chameleon and another leopard gecko. At this point, we agreed not to buy any more animals, and the following days we bought a crested gecko. Wait, wait, what? You can keep many Pareas Carinatus in the same terrarium, so why not buy more of them? And in the same way, we got 3 more Phelsuma day geckos and 2 more crested geckos…

Reptile types that we keep

And now we need to provide all of them with their specific lighting, UVB, heating, raining, and misting systems. Oh no 😣

Corn snakes

corn snakes

Let’s start with what I already knew. Corn snakes are easy to keep, just warm them up to 30C in the hot corner during the day and ~23C in the cold one. So this is relatively easy, 2 sensors, 2 heat mats, and 1 controller per terrarium. This is already covered by the current terrarium controller v1.4 so I just had to assemble a few more.

Leopard geckos

Leopard geckos

This is a new animal for me, they are super social and require quite some interaction during the day. Great lizards for people who like to pet their pets. And what about the climate? It is as easy as corn snakes, 28–30C in the hot zone and ~23C in the rest of a terrarium. 2 sensors, 2 heat pads, and 1 controller, and we are done.

Crested geckos

Crested geckos

One of the best geckos that we have, night ones, but social and look like aliens. To provide them with a natural environment it is required to heat the terrarium up to 28C during the day and keep it around 22C during the night, also it is necessary to maintain high humidity ~60–80%, and provide them with some daylight. Terrarium controller v1.8 is capable of everything except misting system, it yet should be a separate product.

Pareas Carinatus

Pareas Carinatus

This snake is very friendly, they are not trying to bite you and look unusual. They are also tropical and require high humidity and a warm climate. So it is not something different from most of our tropical reptiles.

Day geckos — Phelsuma Borbonica / Lineata

Day geckos

Day geckos are very interesting to observe. They are very active during the day, so they are an excellent addition to any room where you spend a lot of time. To keep them you need to provide some heat to maintain 29–30C during the day and ~23C at night. And to control their day/night cycle, you need to provide a UVB bulb. For humidity it should be 75% and above, so you need to have some sort of misting or rain system. For the controller, as said before, terrarium controller v1.8 is capable of everything exclude misting.

Panther Chameleon

Panther Chameleon

Well, now we enter the tough topic — Chameleon. This tropical animal requires a way more complex setup. You have to provide heat with light bulbs, and UVB bulbs to mimic Sunlight and temperature gradients in the terrarium. Also, you need to mist and rain in the terrarium as Camaleon is not drinking static water, only running and raindrops from leaves. For this, you need to add a lot of different devices and control all of them. At least 2 light bulbs and the heat lamp should be dimmed (not implemented yet), sometimes you need to add a heat mat for cold rooms like ours. Also, illumination should not disappear rapidly as chameleons need time to find their sleeping spot. For this reason, you need to have sunrise/sunset emulation with bulbs or LED strips.

Now about watering, you need to install at least 1 system for rain and 1 system for misting/fogging, and 1 system for dripping drinkable water. There are a few systems on the market, but they are not covering day/night changes and not taking into account measurements of humidity in the cage.

Summarizing, we need to control 2 Light bulbs with dimming options, 1 heat mat, 3 pumps for misting/raining/dripping, and many sensors like temperature, humidity, UVB, illumination, and water level (for watering systems).

The current version of controller v1.8 is only capable of temperature/humidity measurements and controlling temperature and illumination with sunset/sunrise imitation. The watering system is coming with the extended version of a controller.

Terrarium Controller v1.8

This is the latest version of the controller to date. It is capable of controlling 3 separated loads of 220v up to 2A. It has 6 sensor outputs each of which can drive 1 i2c and 1 onewire sensor which increases the supported list of sensors. With this, up to control 3 separate heating and lighting zones can be set up in the terrarium. Also, this version can store settings on board, so you don’t need to connect it to a PC to update settings as was required before. For power, it uses a generic USB-C 5v power supply. For firmware updates, it is leveraging OTA (Over-The-Air) updates system or in case of problems onboard CP2102 + USB-C. So you don’t need any extra hardware to update the firmware version.

Some technical notes about this version below

  • 3 silent relays SSRs
  • I2C multiplexer to be able to drive up to 6 of the same sensors (BME280, DS1820, DHT22)
  • CP2102 & auto flashing to avoid the use of any external tool. Just hook it to a PC to re-flash firmware.
  • EEPROM to store user settings
  • Battery for RTC chip to avoid time reset when power is off
  • Support for i2c displays, so key information could be seen at a glance
  • Extension port for connecting (future) rain system controller
  • Header for WS2812B LED strips for sunset and sunrise imitation

For manufacturing, I chose as usual JLCPCB for their high production quality, affordable prices (just $2 for 1–8 layer PCBs 🙀), and quick delivery time.

Terrarium Controller v1.7

Features in v1.7 compared to v1.6

  • LED header for external LED strips
  • Fixed battery footprint
  • Moved components in the PROG part, so it is easy to do re-work if needed
  • Added auto-flashing capacitor
  • Moved components of status LED
  • Added onboard EEPROM DIP-8 socket
  • The exposed pin for a reset button for tests

Terrarium Controller v1.6

Features in v1.6 compared to v1.4 (v1.5 was skipped)

  • Moved to SSR
  • Added onboard programmer and USB-C
  • Added reboot button
  • Changed from 3-pin sensors to 5-pin (2 extra pins for i2c)
  • Some components moved around to free more space

PS. Now I am designing an extension board for PID and dimming. It requires a bit more processing per relay, so it would be hard to implement with 1 controller for 3 relays and all overhead for connectivity. This will be an extension module and if this concept will work great, I will start designing a module for misting & raining systems control.

--

--