Recent Articles

Make the most of May with some quick recycling projects

shutterstock_117476860 (2)

May is a great time to start enjoying the warmer weather and longer days by getting out in the garden.  By taking the time to smell the roses and stroll around the allotment plot or garden you can help to combat stress levels and restore the Zen to your busy life. Discovering the plant life and wildlife using your senses will bring you closer nature. While you appreciate these little natural miracles why not give a thought to how we can help the environment at home.

While you are (hopefully) having fun in the sun you could have a go at a few recycling and repurposing activities. Here are a few tips that can help you turn your rubbish into something beautiful or functional. 

1. Turn rubbish into a planter.  A chipped cup and saucer, a teapot with a broken lid, a lonely wellington boot, all can be filled with compost and turned from something unloved into something beautiful. It’s true that flowers can work wonders to cheer up a dull space, all you have to do is to drill some holes in the bottom of the receptacle, fill it with compost and plant flowers or seeds. Summer bedding plants are in available at garden centers right now and can be used to add an instant impact.

shutterstock_116829250

2. Build a bug hotel. These can be made from all sorts of weather durable scraps of building material and garden material. The easiest bug hotel can be made from broken garden canes which are too small for anything else. All you have to do is chop them up into similar lengths and tie them together with twine and leave it in a quiet corner of the garden. Bugs, insects and even bees will crawl in to this safe place during bad weather and frosts. 

3. Make use of kitchen scraps.  Slugs are a gardener’s public enemy number 1, use broken eggshells or anything prickly (holly leaves work well too) scattered around your most precious plants to deter the slimy horrible critters from munching their way through the irresistible fresh new shoots.  Other kitchen scraps such a vegetable peelings can be added to the compost where they will provide valuable nutrients and help improve the structure of the soil.

4. Use finished water bottles. Empty water bottles are one of the world’s biggest recycling problems but there are so many uses for them around the garden. In May when frosts can still happen, water bottles filled with water can be used to protect courgette plants. By filling up the bottle with collected rain water and then placing the bottle (or 2 of them) next to your courgette plants you can provide extra warmth during the last frosts. The water in the bottle will warm up during the day in the sun and then cool down slower than the air at night, thus keeping your plants toasty should a frost happen. Used water bottles can also be made into slow release drip feeders which will make efficient use of water as none runs away from its intended destination.

With so many ways to recycle you need never look at your rubbish in the same way again!

This article is a guest post from Dan Whiteside, Dan blogs about DIY and gardening topics at DIY Newbie, where he discusses a variety of issues including plumbing repairs and building projects.

Gardening Novice

image

My ancestors were German farmers, but somewhere along the way the green thumb gene got spliced out of me.  Despite enjoying an abundance of homegrown green peppers, squash, and tomatoes in my youth, I never seriously shadowed my grandparents nor my mother in the garden.

My youthful experience gardening involved one sad attempt at growing carrots from seedlings, an endeavor so fraught with impatience I harvested little orange worms (they do not deserve to be called carrots) no bigger than a pinky toe.  I hung up the trowel and spade after that attempt, and determined that all of my future vegetables would be store bought and enjoy endless refrigeration in a yard-free condominium.

However, each summer as the sun grows warm I miss the fresh taste of garden tomatoes.  I also, inexplicably, long to get dirt beneath my nails. I have recently become very aware of sourcing food locally, and it seems to me there is no better local source than my own backyard.

There have been many stumbling blocks to garden domination.

1. Soil. It turns out that soil is very important to the success of your garden.  Too dense (like the clay-like mud of our yard) and plants don’t have room to grow or absorb nutrients. Too loose (loamy) and the beds won’t retain sufficient amounts of water leaving your plants thirsty.  Talk to your local nursery about the local soil.  My guy was very helpful in setting me up with some soil to supplement and loosen up our existing dirt.  If you are looking for a cheaper, more green alternative to purchasing soil from a nursery composting is a good option.  We got a late start on it this year and therefore went the lazy route, but I am eager to use compost in our garden next year.

2. Space.  While I did not end up in the full-service penthouse condominium of my dreams, our yard still presents special challenges.  We’ve opted to use square foot gardening techniques to organize our garden.  Some plants will take up a single square foot of space, and other plants like the zucchini take up four or more spaces on the grid. Since most of our seedlings started out the same size, using this square foot method helped ensure we buffered each plant with enough room to grow.

Additionally we are experimenting with other space savers like vertical gardening and upside down planters.  So far we have had mixed success due in part to poor planning (Who knew the garage cast that large of a shadow in the afternoon while we are work?), but ultimately we look to have an interesting and robust crop coming.

3. Cost. Free vegetables aren’t free.  We thunked down a healthy amount of start-up cash to get our garden going.  Lumber for raised beds, soil, and even the seeds and plants themselves set us back a little more than we anticipated.  However we built the garden for longevity and hope to reduce our costs next year.  Additionally. we have taken the garden beyond just the edibles and taken tips from www.texaselectricityproviders.com to improve our landscaping to reduce home energy costs. Ultimately, knowing exactly where our food is coming from carries more value than the few extra dollars invested this year.

I am excited to see if I have reclaimed my heritage come harvest.  I hold out hope that if I squint at in the right light (and rub some freshly cut grass on it) my thumb will reflect a healthy green hue.

Growums seed gardening kit for kids review

023

I am a sucker for kids seed growing kits especially when I pass by them on clearance.  The one I found was the Growums Herb Seed Kit at Lowes on clearance for $2.49, though typically they run for $5 so not a bad price at retail.

The kit includes 8 peat pots, bottom watering container to hold them, and ~20 seeds of basil, cilantro, oregano, parsley (each with matching labels for each peat pot with colorful characters on them. 

image

It also came with a secret code that gives you access to an online site where the kids can watch for directions on how to start their plants and some additional advice on topics such as watering and pest control in short animated videos which had a bit of a Veggie Tales feel to them (minus the religious stories)  The site also features a few garden related games for the kids to play.

Overall I like the design of the planter as it is very easy to setup basically place it on a sturdy container (cake/pie pan) and add a cup or so of water and watch the peat pots grow and plant 3 seeds in each pot and then water as needed and bring outdoors.  I think the online portion is a nice touch to get your kids/grandkids dig a little more into the caring part of the plants versus planting some seeds and heading on their way.  Given this uses standard sized peat pods you can easily use the planter again and again with the remaining seeds or any other variety you choose.

Along with the “herb garden” we got they also offer a “taco garden”, “salad garden”, “pizza garden”, “ratatouille garden”, and “stir-fry garden” which offers different selections of seed varieties associated with the theme.

Protecting your transplants with window screens

037

Typically I do my best to give my plants some chance to harden off by reducing the low-end temperature of the grow box and bumping up the extended time the internal fan runs as well as letting them have a few hours out in real sun when schedule and weather permits.

Fortunately/Unfortunately eventually these plants have to venture out on their own.  To provide some protection to these plants for the first few days (or extended periods of very hot weather) it is best to provide screen to allow the plants to acclimate to actual sunlight.  Of course you can buy some netting screen but having a pretty small yard and even smaller garage this is something I do not want to pay for nor have to fold back up and search for again until it is needed again. 

My solution is to “borrow” the window screens from a couple windows I pretty much never open (behind my desk I am typing at now) this provides a good screen with a sturdy frame which as you can see I have simple rested against a fence…though if you did not have a similar structure you easily could use a couple bamboo poles or stakes to hold the screen up.

036

Great part after a few days or week you simply snap them back into your window where you will easily be able to find them next year…

How to make a grow box controller

021

While my existing system was working I decided to make an upgrade to the electronics on my old grow box controller specifically to have a much more industrial strength version that will run without problems for decades to come.  This version also is much safer…still probably not quite to a building code but much less worries to burning my garage down in the middle of the night.  Finally it is modular if there are problems in the future I can easily switch out electronics or sensors.

Well now I have attempted to justify my reasons this is what I used to put the whole thing together:

Parts List

If we had lawyers, they probably would want us to say this:
WARNING: I am not an electrician and do not pretend to be one.  I do not know the specific building electrical codes of your area, so please be sure your wiring is completed under the proper safety code for your area. As always, using high voltage electricity can result in self-electrocution or burn down your house if not done safely so if you are not comfortable doing this wiring please contact a qualified professional.

Putting it all together

On the electronics side overall the circuits are actually pretty simple and if using a breadboard definitely something that could be tackled by a beginner.  Though on the other side since this project is dealing with AC current I definitely would recommend caution (no hands unless power is unplugged) or have someone a little more comfortable with 120/220V help you out.

The Brains


I will be the first to admit that using an Arduino for this application is complete overkill for this application but it gives plenty of room for additions in the future.  For all intents and purpose you could have your grow box completely controlled from the Arduino own processing power though on my case the software and UI is more interesting part to me.  For this reason the Arduino code is actually very “dumb” basically just taking commands via the build in serial through USB and setting digital outputs to HIGH/LOW or reading analog inputs.

Here is the code for your grow box controller:

   1: /*

 

   2:  * GrowBox Arduino Interface

 

   3:  *

 

   4:  * Descriptions: Simple interface to digital and analog controls by passing serial inputs

 

   5:  *               For example: 

 

   6:  *                  "A1" to read analog value on pin 1

 

   7:  *                  "D1H" to set digital pin 1 to HIGH

 

   8:  */

 

   9: #include <OneWire.h>

 

  10:

 

  11: //1-wire

 

  12: OneWire  ds(8);  // on pin 8

 

  13: #define BADTEMP -1000

 

  14:

 

  15: //define unique sensor serial code

 

  16: byte temperature[8];

 

  17:

 

  19: #define PIN_VALUE 1          // numeric pin value (0 through 9) for digital output or analog input

 

  18: #define ACTION_TYPE 0        // 'D' for digtal write, 'A' for analog read

 

  20: #define DIGITAL_SET_VALUE 2  // Value to write (only used for digital, ignored for analog)

 

  21:

 

  22: int NUM_OF_ANALOG_READS = 2;

 

  23: char commandString[20];

 

  24:

 

  25: void setup()

 

  26: {

 

  27:   Serial.begin(9600);

 

  28:

 

  29:   setOneWireHex();

 

  30:

 

  31:   // Power control

 

  32:   for(int i=0; i<=7; i++)

 

  33:   {

 

  34:     pinMode(i, OUTPUT);        // sets the digital pins as output

 

  35:     digitalWrite(i, LOW);      // turn everything off

 

  36:   }

 

  37: }

 

  38:

 

  39: void loop()

 

  40: {

 

  41:   readStringFromSerial();

 

  42:

 

  43:   if (commandString[ACTION_TYPE] != 0)   {

 

  44:     int pinValue = commandString[PIN_VALUE] - '0';  // Convert char to int

 

  45:

 

  46:     if(commandString[ACTION_TYPE] == 'A')

 

  47:       Serial.println(analogRead(pinValue));

 

  48:     else if(commandString[ACTION_TYPE] == 'D') {

 

  49:       if(commandString[DIGITAL_SET_VALUE] == 'H')

 

  50:         digitalWrite(pinValue, HIGH);

 

  51:       else if(commandString[DIGITAL_SET_VALUE] == 'L')

 

  52:         digitalWrite(pinValue, LOW);

 

  53:

 

  54:       Serial.println("OK");

 

  55:     }

 

  56:     else if(commandString[ACTION_TYPE] == 'T') {

 

  57:       float temp = get_temp(temperature);

 

  58:

 

  59:       Serial.print(temp);

 

  60:       Serial.println("C");

 

  61:     }

 

  62:     else if(commandString[ACTION_TYPE] == '1') {

 

  63:       printOneWireHex();

 

  64:     }

 

  65:     else if(commandString[ACTION_TYPE] == 'V')   {

 

  66:       Serial.println("VERSION_1_0_0_0");

 

  67:     }

 

  68:     else if(commandString[ACTION_TYPE] == 'P') {

 

  69:       Serial.println("PONG");

 

  70:     }

 

  71:

 

  72:     // Clean Array

 

  73:     for (int i=0; i <= 20; i++)

 

  74:       commandString[i]=0;

 

  75:   }

 

  76:

 

  77:   delay(100);  // wait a little time

 

  78: }

 

  79:

 

  80:

 

  81: void readStringFromSerial() {

 

  82:   int i = 0;

 

  83:   if(Serial.available()) {

 

  84:     while (Serial.available()) {

 

  85:       commandString[i] = Serial.read();

 

  86:       i++;

 

  87:     }

 

  88:   }

 

  89: }

 

  90:

 

  91: void setOneWireHex() {

 

  92:     ds.reset_search();

 

  93:     ds.search(temperature);

 

  94: }

 

  95:

 

  96: void printOneWireHex() {

 

  97:   ds.reset_search();

 

  98:   if ( !ds.search(temperature)) {

 

  99:     Serial.print("NONE\n");

 

 100:   }

 

 101:   else {

 

 102:     ds.reset_search();

 

 103:

 

 104:     int sensor = 0;

 

 105:     while(ds.search(temperature))

 

 106:     {

 

 107:       Serial.print("S");

 

 108:       Serial.print(sensor);

 

 109:       Serial.print("=");

 

 110:       for(int i = 0; i < 8; i++) {

 

 111:         Serial.print(temperature[i], HEX);

 

 112:         Serial.print(".");

 

 113:       }

 

 114:       Serial.println();

 

 115:     }

 

 116:   }

 

 117:

 

 118:   ds.reset_search();

 

 119: }

 

 120:

 

 121: float get_temp(byte* addr)

 

 122: {

 

 123:   byte present = 0;

 

 124:   byte i;

 

 125:   byte data[12];

 

 126:

 

 127:   ds.reset();

 

 128:   ds.select(addr);

 

 129:   ds.write(0x44,1);         // start conversion, with parasite power on at the end

 

 130:

 

 131:   delay(1000);     // maybe 750ms is enough, maybe not

 

 132:   // we might do a ds.depower() here, but the reset will take care of it.

 

 133:

 

 134:   present = ds.reset();

 

 135:   ds.select(addr);

 

 136:   ds.write(0xBE);         // Read Scratchpad

 

 137:

 

 138:   for ( i = 0; i < 9; i++) { // we need 9 bytes

 

 139:     data[i] = ds.read();

 

 140:   }

 

 141:

 

 142:   int temp;

 

 143:   float ftemp;

 

 144:   temp = data[0];      // load all 8 bits of the LSB

 

 145:

 

 146:   if (data[1] > 0x80){  // sign bit set, temp is negative

 

 147:     temp = !temp + 1; //two's complement adjustment

 

 148:     temp = temp * -1; //flip value negative.

 

 149:   }

 

 150:

 

 151:   //get hi-rez data

 

 152:   int cpc;

 

 153:   int cr = data[6];

 

 154:   cpc = data[7];

 

 155:

 

 156:   if (cpc == 0)

 

 157:     return BADTEMP;

 

 158:

 

 159:   temp = temp >> 1;  // Truncate by dropping bit zero for hi-rez forumua

 

 160:   ftemp = temp - (float)0.25 + (cpc - cr)/(float)cpc;

 

 161:   //end hi-rez data

 

 162: //  ftemp = ((ftemp * 9) / 5.0) + 32; //C -> F

 

 163:

 

 164:   return ftemp;

 

 165: }

Copy and paste the above code into your Arduino software.   For the code above I used the OneHire.h library which is free to use and can be downloaded from here. To be able to use this library simply copy the contents to C:\arduino\hardware\libraries\OneWire. Now you should be able to Compile (CTRL+R) and upload the code to the board (CTRL+U)

Now with the software uploaded you can send some simple serial commands via its built in USB to serial adapter to interact with it.  The interface is are broken up into 1 to 4 character commands, which I will detail below

Command Description
T Returns temperature from One Wire component
D4H Sets digital pin 4 to HIGH (ON) (replace 4 for alternate pin)
D4L Sets digital pin 4 to LOW (OFF) (replace 4 for alternate pin)
A1 Reads analog value from pin 1 (replace 1 for alternate pin)
PING Returns PONG which is used to confirmed controller is online
V Returns version which is some forethought into the PC application being able to support different versions of controller software

Using the build in serial monitor tool in Arduino.exe, my application, or you should be able to control your Arduino with this very simple command based interface

Now you can hook up some LEDs and watch them blink which is fun for a little while but if you want to add some grow box components read on….

Temperature Sensor

As you can see I have fully embraced the circuit schema on the back of a napkin idea.  These are the actual diagrams I crumpled up and stuffed in my pocket with several trips to the garage for some final soldering of various joints until everything was solid.

Below is the simple circuit required to get your 1Wire temperature sensor working.  I would recommend checking your documentation (if not labels on the chip) for the orientation to have 1 and 3 correct, if you have it wrong you should get some complete unrealistic number.  Hook ground up to pin1 on the DS18S20 and pin 2 hooked up to the digital input pin 8 on the Arduino with 5V with a 4.7K resister in between to step down the voltage.

If everything is hooked up correctly you should get the current room temperature in Celsius by sending command “T” to your Arduino.  If you prefer Fahrenheit uncomment line 162 and recompile and upload your changes, though if using my software I support both degree types and do the conversion in the the software.  To make sure everything working (or just to play with your new toy) put your fingers on the chip for a couple seconds and take another measurement unless you keep your house very warm the temperature should go up a couple of degrees

1WireSensorDiagram

Turning things on and off (Relays)

If you were smart enough to check the current requirements of your Solid State Relays (SSR) before you bought them you may be able to skip this whole circuit and simply hook the digital outputs to the 5V positive side and ground to the negative side of the SSR.

Unfortunately if you are like me and bought some SSRs that require more current draw than the Arduino (or any other IC chip) of 40mA then you will need to create the simple circuit below.

image

Basic idea is pretty simple, you are using the output from the digital pins to switch of the transistor which then allows the ground to complete the circuit with the thus turning on the relay.  As you can see there is a 1K resistor between the base (middle pin) of the transistor.  If you are not using a SSR relay (though recommend you do) you should add a 1N4004 diode between the positive/negative which protects the transistor from being damaged in case of a high voltage spike which can occur for a fraction of a second when the transistor switched off, this is also known as a back-EMF diode or fly back diode.

Now here you have a couple options.  If you are confident of our wiring skills you can do like I did and take a couple of sockets and hook up the neutral and ground in parallel.  Two save space and since I really didn’t need two separate plug-ins (nor its own plug) for each relay I removed the little metal bar between the two sockets so they could be switched on independently.  Now simply hook up hot to the left side of all your relays in parallel and then connect a wire from the right side of the relay to its own plug on the two sockets.

Now a less wiring intensive method is to simply take a 6 foot (small if you can find them) and cut the hot wire (usually the one with non-smooth wire) and attach each end of the wire to both sides of the relay.

Moisture Sensor

When it comes to a moisture sensor there are a few options.  First is the classic two galvanized nails, second is the cheap gypsum soil moisture sensor which I have written up in the provided link.

If you are using the other options you will need the simple circuit below.  Technically it is a voltage divider, but that doesn’t really matter.  Just hook up one end of your sensor to 5V and other sensor to ground with 10K resistor and also connected to analog pin 0.

SoilSensorDiagram

My custom PCB solution

378

I actually started the work to create my own PCB at least a few years back.  Played with if it off and on and finally pulled the trigger to get some boards printed up which I must say was very rewarding and pretty fun experience for just $20-30 of out of pocket cost.  This provides all the circuits I mention above with a bonus circuit to let me know when my water reservoir is running low.  I also installed a Ethernet socket not

I designed this to be an Ardunio which plugs directly on top of the Arduino.  In theory I could stack more functionality on top of if but haven’t though of anything cool to do here yet.

Don’t want to spend 10-20 hours creating your own PCB and then wait 2-3 weeks for it to arrive from Hong Kong?  Well you can do the same thing with a bread board which I show below.

Virtual breadboard layout

VirtualBreadboard

If you are new to soldering or have no interest in learning I would definitely recommend this option.  Simply place the components in the holes and make connections with 18 gauge solid copper wire.  You should be able to pick a small breadboard for less than $7.

Various applications

Of course for my application, I am using this to integrate with my custom software solution to control my grow box.  Specifically soil sensor, temperature measurement, heater, lights, exhaust fan, and water pump.  So using the circuit mentioned above I ran the hot wire through each SSR with the remaining wires connected to the plug and eventually gets plugged into the wall.  Then simply hooked up the wire from the Ethernet cables to the low voltage side to turn the switches on/off.  So I would say this is a bit of an improvement over my last attempt…

Before

IMG_3777

After

019

Last I hooked the arduino up to my PC and used my custom software to control the temperature, water, and provide cool graphs as you can see below.

GrowBoxView

Sometimes life can get busy and you have limited time to keep an eye on your plants, for these times I also integrated with a custom Windows Phone 8 application which allows me to check the current state of the grow box using life tiles, water remotely (turn on/off lights/heater/fan as well), or even check out a current feed inside the grow box.

007 008

009011  010

Looks at the actual actual grow box…

003

008

Opening day at the farmers market 2013

Today was the first day for farmer’s markets to open in my area. Still a bit early for many vegetables but plenty of cold season crops to choose from (kale, asparagus, green onions, etc)

I left with some onions and apples…kids left with some honey, lavender soap, and kettle corn.

If you haven’t made to your farmer’s market it is a great time to find on in your area and give it a visit. Not only are you supporting your community farmers but also getting so great fresh produce.

IKE