I presented my Gnome project the other night at a meetup and he gathered enough interest to win me a $500 gift voucher :). Seems people like the idea of a house/yard full of little wireless nodes crammed with sensors and RGB leds with the ability to respond to events.
I I do like the idea of having pot plants change color if I get an email (different plant per email account) or a yard that glows red if someone is detected in there at night.
A smarter garden Gnome.
Still a work in progress but meet one of my garden gnomes.
I still need to print him a better case to mount the soil moisture pins better and make him more presentable in general.
At his heart he is powered by one of my RFnodes so he is wireless and has an array of sensors that he reports on back to the network. He currently reports back the light levels, soil moisture, temperature, humidity and having a RGB led that make him glow any color I can have him signal the plants status or as being network I can use the RGB led to make him (and his friends) signal anything the network want him to.
I have some small PIR motion sensors I also want to mount as his nose and print a case that can house the bigger batteries required by the RGB led.
I thought I might test out using the Atmega88p-20au instead of the Atmega168 as a processor for my RFnode. The Atmega88 is a cheaper version of the Atmega168 with only half the flash.
I had tried using a Atmega8 before but found it did not run too stable at 3.3volts which I need to do to support USB. The Atmega8 datasheet said it needs 4.5 - 5.5 volts but I was going to give it a go anyway, It did work but I found that about 1 in 5 times I when flashing it I would get an error and would have to retry.
Reading the datasheet the Atmega88 is identical to the Atmega168 with the main differences being just the amount of flash/ram. So hardware wise I did not need to make any changes except the IC but from a software side I did have to change my code a fair amount to get it down to 6KB. The Atmega does have 8KB of flash but I am using 2KB of that for the bootloader.
After removing all the sleep/watchdog functions and cutting back the meshing support I was able to get my code to less then 6KB and still be left with a wireless mesh-able RGB light with a just enough code space left to added a few basic sensors.
This version of the board I made it easier to add a STA301A so it would be easy for me use this board to drive brighter and more power hungry lights or devices around the home and have them all wirelessly controllable from my tablet/phone.