Go Down

Topic: Reptile Enclosure Controller (Read 5063 times) previous topic - next topic


Mar 13, 2014, 11:41 pm Last Edit: Mar 13, 2014, 11:47 pm by SoCalArduino Reason: 1
I built a large 4 enclosure, modular unit reptile wall unit and needed to have a more uniform control over the lighting and heating cycles, day/night. Each enclosure has a dedicated UVA/UVB bulb, an IR ceramic heater, a temp probe, and a fan. I used an Arduino Mega 2560, 4x20 LCD display, 4 relay shield for 12v fan activation, 8 relay shield for light/heater AC activation, 9v power supply for Mega and Fan power, RealTime Clock, and various electrical parts from home depot to finish it off.

The Realtime clock with battery keeps track of time through power outages and has some memory on board to store settings changes. Each enclosure can be set independently for daytime/night time lighting and temperature ranges. I originally incorporated hysteresis for the heating but the Ceramic heaters tend to do this a bit by themselves as the cool/heat. The display has a dashboard at a glance that shows  via custom coded icons the state of each light, heater,  and fan. It also has a current temperature and a high/low for the day on the dashboard view.  The light, heater, and fan can be overridden at the touch of a button for momentary manual control for say late feeding time or just viewing. Selecting an enclosure goes into a more detailed view. From here you can set the lighting times, heating temps during those times and fail safe peak temperature which will turn off the lights/heaters and initiate the cooling fan to vent the enclosure.  This view also provides average times the heater is on vs off for day and night cycles.  This alone justified the project as it has drastically reduced my power consumption over a Rheostat and the enclosure temps stay very consistent.  I had an original intent of linking each enclosure to a weather station from the region of the world where each reptile was from, and mimicking that weather stations real-time light and heat cycle however after some research I found the specific snakes I have now all want about the same thing so I never completed that code.


Very nice!
When you get better control and lower power consumption, it really shows the value of your project.

Do you have any kind of proportional control, or is the heating simply on/off relative to the set point?

Do you measure/ control humidity?
"Nothing is foolproof to a sufficiently talented fool"


I looked into proportional control for the heaters as that was my original intent. There are a few shields that could have provided this but the cost and complexity are a bit higher. However, since I am running an Infrared Heat Emitter I need to account for both ambient heat and infrared penetration distance.  IR emitters effectiveness is specific and limited in distance from the basking point and needs to be taken into account when positioning it in the enclosure. While proportional control would manage ambient heat well at a minimum power consumption, the reptile would suffer from never getting any of the IR.  Hence, the on and off cycles give me the best of both worlds. Ambient temperature remains within 2 degrees of the set point and the heaters typically cycle on 60 min intervals.  IR works great by the way when you have nocturnal reptiles as there is no visible light.

I also considered humidity and have a few sensors that I planned to use but opted not to. The position of the water bowl to the ceramic heater sets the constant humidity level. Measuring humidity in the enclosures saw very little fluctuation so there is nothing really to do other than report on it. I figured I would let it run through summer while taking manual measurements to see if it justified being added to the system, and think a bit more on how to incorporate and automate a humidifier if needed.


Thanks for sharing your experiences.  I had considered upgrading our enclosure.  Though we don't have a basking species, temperature and perhaps water level monitoring would be sensible and potentially save us some power too.

I'll be watching for your updates with interest on this one.

Cheers ! Geoff
"There is no problem so bad you can't make it worse" - retired astronaut Chris Hadfield


If you do not have a basking species and only want to control one heating element, maybe an optically isolated Triac would work good for you. Even though your species is not a basker, an IR ceramic emitter might still be a good choice because of the very long lifetime and relatively low power consumption will respond well an reduced power. Unfortunately this type of dimmer does not work well for lighting since most are CFL and do not have dimmable ballasts.  Definately post back if you build one, I would be interested to see it!



Yes I agree.  I admit this had fallen off the back of the priority list but once a few more items are cleared out of the way I might take a tilt at this.  We have a heating pad under one end of the enclosure as well as an iR lamp  but having them both on is overkill, especially granted she's a bluetongue and they're native around here so our winter conditions suit just fine.  The only reason we went with that initially was to prevent hibernation, but last winter we just let that happen and we'll probably continue to do that now.

Cheers ! Geoff
"There is no problem so bad you can't make it worse" - retired astronaut Chris Hadfield


A year later and this thing has been working like a champ. I added a bit more code to manage the LCD backlight so it times out to save heat/power and give it some longevity but other than that, this has been solid.


Hey there SoCalArduino,
Just wondering if you have info available on this project, such as schematics, arduino sketches, etc?
I am new to arduino, and would love to build something like this to look after my Albino Darwin, and my Eastern Blue Tongue, but not sure how to go about coding it. If you could share your sketch at least, i could reverse engineer it and wire the whole thing, as I'm a electrician by trade, so the 240 volt stuff is no issue.

Many thanks.

Go Up