Monthly Archives: August 2014

BonsaiBox

Inspired by Fatalii, I decided to cut down one of my Bolivian Rainbow chili plant which I had kept alive throughout the winter 2013-2014. A chili which has a lot of leaves dehydrates quite a lot of water and therefore placing it into an ordinary bonsai planter just does not appeal to me. I was afraid that the small container did not hold enough humidity and the plant would suffer from recurring droughts, which are exceptionally bad for chilis. Yes they are.

rainbow

So, the idea of the BonsaiBox with an Arduino Uno followed. I stole an empty tea box from the Department’s coffee room and drilled some holes to it’s back and front panel. I ordered an Adafruit CC3300 Wifi breakout board and while waiting for it to arrive,  printed both a 9v battery holder and a light mount for the Uno to make the installment stable within the box.  And a cute green frog to sit on top.

 bonsailaatikko

I used a “Grove” soil moisture sensor from SeedStudio. Finding the right ranges for different soil states took a couple of days and tries. Resolution of the sensor was with 5v+ from 300…950, which was quite ok for this purpose.  I ended up with three levels:

“I’m OK”
“soil is just a little dry” and
“pour me water or I’ll die”

This is the soil moisture sensor:  It is fit for only 5cm long so it was ok for my purpose with a very small container. The sensor wouldn’t be feasible for bigger ones

I experimented with  RGB leds. I had a common anode lying around. It was fairly confusing to figure what should be given as an input for it. I went  to Partco and bought a cathode and  BOOM, code made simple. I also had a simple photoresistor with a LilyPad buzzer and switch left from my previous projects. I used these parts to enable interaction with a person sitting next to the Bonsaibox. The buzzer really sounds like a frog.

 

Getting online
Wifi shield arrived, I almost killed it with my bad soldering. But finally, got the parts assembled and started integrating my code from the output experiments with example code of the CC3300 breakout. It worked.

Pseudocode: 

Measure humidity
Send sensor value to Janne’s backend

IF
soil is is humid
    blink blue with RGB LED

ELSE IF
soil is drying out
   blink yellow with RGB LED

ELSE IF
soil is completely dry
blink red with RGB LED
if it has been dry for the whole day
start making a frog-like sound continuously until the plant is
watered.  Play it even louder during the night. Yes, that’s a bit
mean but that’s the way I like it.

ELSE
wait for a while and measure the humidity again.

The data really nice in Janne’s EGH-chart. Thank you for the awesome work, man.

bonsaibox_chart

Learnings:

My prior knowledge on microcontrollers was limited to one successful and one failed project with Lilypad (I couldn’t figure anything meaningful to do so I trashed the whole project). I did know how to code but hadn’t done it in years.

So the outcome: inside the Bonsaibox.. Oh it’s ugly. Looks like a homemade bomb. I didn’t order a sensor shield  which was a bad mistake. I had to take apart all the nice plug&play connectors and solder a lot.  After getting the hardware together it was really hard to keep the wires attached. People. Don’t save from the wrong place. Get a shield.

Programming was fun. There were ready libraries for the WiFi and it was easy to integrate them with my code. I got a lot of confidence as a coder from this project.I learned to Google from the right places.  I CAN! And I will do it again.