I recently got three ESP-WROOM-32 Dev Boards in from AliExpress, in anticipation of my next electronics project. A few months back, we built our Syrian hamster a large cage, based on a video by ErinsAnimals (see below for the tutorial we followed).
Now, this cage is amazing. Before this, we had a terrily small cage for the hamster, which meant she showed all manner of bad behavior. She was stressed and dissatisfied, and needed larger living space. When we moved apartments, we also wanted to give her a more fitting place to live. The cage is amazing, but due due its size, it also blocks quite some light inside. Tracy thought it’d be a cool idea if we could install some LED lighting inside. At its simplest, it is just for us to have light inside to ease cleaning. Potentially, however, we could use RGB lights to even simulate a day/night-cycle for Latte. She gets some from the natural light in our room, of course, but because the cage is built out of wood pieces, it also blocks a lot of light.
So, the lighting part is for me to solve. I figured to have a look at ESP32 uC to see if that can help me solve this problem. It has WiFi capabilities, which would mean I could somehow figure out how to control the lights from our mobile phones, or have it check the time or perhaps lighting values, or something along those lines. I bought three of these from AliExpress, to give me the most flexibility. If I end up with the most expensive solution, I’ll wire up each section of the cage individually; however, it should be quite possible to control the entire cage with just one controller (though Tracy does not want any wires available for Latte to nibble on).
My first challenge will be to figure out how I can program this thing. I see online that there are options to use the Arduino IDE to program the thing, which is likely to be the easiest route. Apparently, the microUSB connector on the board allows me to communicate with it via UART. I also noticed that the board has some familiar pin functions (MISO, MOSI, SCLK), which seem familiar to how I used AVRDUDE to program the ATtiny. However, AVRDUDE is focused on the AVR uC family, so I don’t quite know yet how to approach this. So, step one is learning how to communicate with this board. Step two will be getting a standard blinky example working (Ahh, blink, the “Hello, world!” of the electronics hobby). I look forward to learning more!