This is Griffon (Bristleback/Hoggleton P Spikes), an African Pygmy Hedgehog. He lives in a vivarium and enjoys a constant toasty temperature of around 23°C. Humans tend to worry, especially his human, which is what HogPi is for.

HogPi is a Raspberry Pi (Model B) with a GPIO header and NoIR Camera Module. The GPIO header and Pi sit on top of the viv while the camera module and an AM2302 temperature sensor are mounted inside, out of the way but where they are useful.
The NoIR camera also has an IR LED mounted on it, powered by the Pi's USB port, for night vision.


The current setup isn't pretty, but has the basic functionality needed to ensure Mr. Griffon is a happy hog.

For the temperature monitoring side I have a Python script polling the sensor every 10 minutes and caching it to a text file. This is then used for all purposes to save GPIO calls as sometimes it can take ~5 seconds to read the data. The script that polls the sensor also checks the current temperature is above 19.5°, if not a direct message is sent from his Twitter account informing myself and mother human so we can see what's wrong, once the temperature restores another message is sent to confirm.
There's about a ~3° level of accuracy within as the temperature sensor is mounted on to roof of the viv at the opposite side to the heat lamp.

The camera setup is fairly regular, NoIR module and motion-mmal to provide a feed and record random snippets for later entertainment to see what he gets up to when he makes a lot of noise - it's usually hitting his food bowls off the glass or tipping them over making a mess.

Griffon "burglar alarm" in action. Clearly Blu-tak is the best choice for attaching plastic to glass.

A video posted by Mark Foxx (@mrfoxxington) on

Another feature is the use of a couple of reed switches to check if the doors have been left open/are open for longer than 10 minutes. This is due to mother human having moments where she believes the doors have been left open and worrying constantly. For example, while sitting 9 miles away, about to see The Force Awakens. The Python script for this uses internal pull-up resistors and is polled every 10 minutes, again if a door is open a message is sent via Twitter.

Bonus Picture:
Griffon is named after Emperor Griffon from Dark Chronicle.

Fun Facts:
Number of times I copied the degrees symbol: 4