My 13 yo daughter is mad about animals.
Any kind of animal, not only the ones we usually consider cute, but also (and maybe more) for those we usually don’t like.
This includes insects, artropods, reptiles, gastropods, etc.
She owns a big aquarium (which I, her father, manage), two different terrariums with different insects (gromphadorhina portentosa), crustaceans (woodlice), artropods (centipedes), snails and whatelse.
For her last birthday she asked for two new pets, two “Common Leopard Geckos” (Eublepharis macularius).
So, a new terrarium landed into her bedroom (or should I begin to call it a Zoo?).
I’d like to point out that Leopard Geckos are insectivorous, and eat only live insects; so, two new boxes with crickets (Gryllodes Sigillatus) and cockroaches (Blaptica dubia) magically appeared under the table where the terrarium is placed.
The terrarium where the geckos live must be kept at the right temperature (around 30°C), so an heater is needed, and a heater controller is recommended.
Even more, a source of visible light (LEDs) and UV-B light (a specialized bulb) are also needed, for the geckos to have a day/night cycle and to gran them the right vitamin synthesys.
The light must be switched on softly, in manner to simulate a dawn; they need to be switched off in the same way, to simulate a dusk.
Here is where I kick in, due to my experience.
I design electronic boards for a living, I’m a skilled embedded programmer (AVR, PIC and now Cortex ARM processor are what I work on every day).
I’ also a maker by birth (I’m 50 yo, I was a so-called maker long before they even forged the term).
So, since we need to control the temperature, the light and check the humidity inside the terrarium, I decided to build a simple terrarium controller.
As told, I could easily build a custom board, designed around one of the MCU I usually work on; but one of the initial decisions was to share my project with others, so I tried to use as much as I could readily available hardware ans software.
That means, an Arduino board, off-the-shelf sensors and interface boards (hats).
I’ve used a prototype PCB (breadboard?) for the I/O connections, but one can simply connect everything with Dupont wires (which I really don’t like).
I even drawn the expansion board schematic with Eagle, so one can even decide to etch its own PCB starting from it.
I usually use one of the proprietary programming tool for the MCUs (Visual studio for AVRs, MPLAD IDe for PICs, STM32CubeIDe for ST ARM…); this time, however, I decided, obtorto collo, to use Arduino, so everyone out there can download my code, work on it and flash it using Arduino..
I really hate the Arduino IDE (I find it hard to call it an IDE), I cannot work proficiently on it; so I found an acceptable compromise using Eclipse IDE with an Arduino plug-in.
This way I can use Eclipse IDE to write, test and compile the program; the plug-in simply runs Arduino and its libraries in the background.
This is what I ended up with: