Bitraf Green Card

Fra Bitraf
Revisjon per 3. mar. 2018 kl. 16:49 av Cogni (diskusjon | bidrag) (Hardware)
(diff) ← Eldre revisjon | Nåværende revisjon (diff) | Nyere revisjon → (diff)
Hopp til navigering Hopp til søk


Pump control with arduino. Primarily for watering of plants but feel free to hack it and find other uses.


We envision that this packet will be the common pump control start kit for several different plant growing projects at bitraf.



We have decided to start with building a simple shield card for the arduino microcontroller.

System Breakdown


  • Arduino UNO, since we sell them at Bitmart.
  • Assorted components (Please fill in.)
  • 2 of 12V pumps
  • 2 soil moisture sensors (tons are available online, see example)


The latest version of Bitraf-Green-Card can be found at Github. Version history:

Version 0.1 - "SoilMoistBasic"

To test the concept of a automatic watering system
Pumps water for 1 second after 6 seconds if the moisture sensor is dry.
Created 22 Jan 2015
By Jakob Nilsson
No Rights Reserved

In and outputs

  • 2 outputs 12V >1A outputs to drive two pumps
  • 2 inputs for moisture sensors
  • 12V input


  • Independent for the two pumps and sensors
    • Pump water for a preset intervall at preset intevalls
    • Detect if soil is moist or dry with a adjustable moisture level (trim-screw)
    • Possibility to choose not to pump depending on if the soil is dry or not
  • Reprogrammable via USB

Examples of use; check once per 24h or every 5 seconds

Later possible features

  • 230V relay for light control with timer
  • LCDisplay output
  • Can choose not to pump at certain times of day
  • Logging of soil moisture levels over time (USB brodcast)
  • Battery backup for data logging
  • Wireless
    • Data gathering
    • Tuning
    • Reprogramming
    • 230V light control (relay)


Prototype build #1

We achieved automatic watering of plants in soil at Bitraf 22/1-2015 with version v0.1 of the Bitraf Green Card on a breadboard!

Beta.jpg Plate.jpg Probe.JPG Wrap.JPG


The soil moisture sensor was wrapped in cloth and put in contact with the bottom of the watering tray. When the cloth dried out the pump would fill the tray until the cloth got wet again.


The system functions as intended but is sensitive to the table being level or sloping away from the sensor. The risk is that the sensor stops the pumping before all plants have been watered. This kind of behavior will always be a risk when a large number of plants are being serviced by one pump.

Lessons learned

The next revision of the software will use a longer pumping time and then a longer delay before the moisture sensor is re-checked, to allow for water absorption.

Shield prototype #1 - Small Transistors

An attempt was made to power the pumps directly from the an arduino shield.

Green1.JPG Green2.JPG

Lessons learned

The first test showed that we would need larger transistors to cope with the currents drawn by these pumps (>2A).

Shield prototype #2 - Large Transistors


A test card with larger transistors was soldered but debugging was not completed.

Lessons learned

Prefabricated relay breakout boards was judged to be a preferred way forward since they offer high current 12 (pumps/valves) and 230 volt (any growing lights) switching for a reasonable price. It also reduces risk of human error and saves construction time.

Connection shield


The arduino needs to be connected to pumps and sensors, in the first prototype we used breadboard but quickly found that it is not durable enough for long term use. The setup uses 3 breakout boards and some thicker wiring to feed the pumps.

Traditional method After the breadboard solution was working the traditional next step would be to solder all connectors to a dedicated arduino shield that would then only work for this particular application. It would look similar to our Prototype #1 above. Alternatively the user could design and order a more professional looking Printed Circuit Board, which may or may not work as intended when it is fabricated. Either way, next time the user would like to use the arduino for a project she would be forced to start over and make and solder a new custom arduino card.

Modular approach We have been looking into creating a modular connection system for the arduino. The goal is that a user should be able to buy different breakout boards from different sources and then attach them to a common cable connector thus making it possible to quickly connected or disconnected from the arduino. The user should also be able to trust the connection over time. This would make it easier to combine, remove or add breakout boards to different setups without having to build a new card for each configuration.