OpenSprinkler Pi (OSPi) v1.4 User Manual (Updated Nov 18, 2014) Contents Introduction .................................................................................................................................................. 2 Hardware Interface ....................................................................................................................................... 3 Hardware Setup ............................................................................................................................................ 3 1. Test Power Supply ................................................................................................................................. 3 2. Attach RPi to OSPi ................................................................................................................................. 4 3. microSD card ......................................................................................................................................... 4 4. Web Connectivity .................................................................................................................................. 5 5. Wiring Sprinkler Valves ......................................................................................................................... 5 6. Zone Expansion Board........................................................................................................................... 6 7. Rain Sensor............................................................................................................................................ 7 8. Mini-Relay (Advanced Topic) ................................................................................................................ 7 9. Analog-Digital Converter (Advanced Topic) .......................................................................................... 7 Software Setup ............................................................................................................................................. 8 1. OSPi Pre-configured SD Image .............................................................................................................. 8 2. OpenSprinkler Interval Program (by Dan Kimberling) .......................................................................... 8 3. OpenSprinkler Mobile App (by Samer Albahra).................................................................................... 9 4. sprinklers_pi Program (by Rich Zimmerman) ....................................................................................... 9 5. Google Calendar Program ................................................................................................................... 10 Technical Details ......................................................................................................................................... 10 RPi Pin Uses ............................................................................................................................................. 10 Specifications .............................................................................................................................................. 11 Terms and Conditions ................................................................................................................................. 11 Open-Source Links ...................................................................................................................................... 11 Introduction OpenSprinkler Pi (OSPi) is an open-source sprinkler / irrigation extension board for the Raspberry Pi. It’s an easy and low-cost solution to transform your Raspberry Pi into a capable sprinkler controller with unlimited number of stations, for lawn and plant watering, farm irrigation and other similar applications. The OSPi v1.4 kit includes the enclosure (with a clear acrylic window), assembled and tested OSPi circuit board, terminal blocks, and microSD to SD adapter (excluded in the Plus version). The built-in components include 24V AC to 5V DC switching regulator, solenoid drivers, rain sensor terminal, DS1307 RTC and battery, PCF8591T 8-bit A/D D/A converter (4 input and 1 output), fuse, mini-relay, per-station transient voltage protectior. The image on the right below shows the final assembled product. (excluded in Plus version) To get started, you will also need the following, which are NOT included in the kit and have to be purchased separately.  a Raspberry Pi (any revision. NOTE: to use RPi A+ or B+ you must choose OSPi Plus version)  a nano-size USB WiFi dongle (or alternatively a RJ45 Ethernet cable if not using WiFi)  a 4GB or above microSD card  24V AC sprinkler transformer (output voltage 22V AC ∼ 30V AC, note that it’s AC, not DC!)  24V AC sprinkler valves (note that it’s 24V AC valve, not DC or latching solenoid valve!) (Sold separately) Hardware Interface The left image marks the connectors, and RPi mapped out pins. The right image below marks the locations of the USB WiFi dongle, SD card, and wired Ethernet cable (if not using WiFi) on the RPi. Standard Version Plus Version Hardware Setup 1. Test Power Supply Insert the sprinkler transformer wires into the orange screw terminal, then plug it in to the matching terminal on OSPi. The green LED should light up, indicating power is on. See pictures below. Power indicator Warning: if the LED doesn’t light up, or if anything smokes, please unplug the power immediately. Check if there is any visible damage. If you can’t figure out the problem, send an email to support@rayshobby.net, or post a message on the Forum (http://rayshobby.net/phpBB3) 2. Attach RPi to OSPi OSPi has two support pillars that match the screw holes on RPi. Note: if you have RPi Rev. 1 (older version and no screw holes), you need to remove the upper-left support pillar (because it overlaps with a component on Rev. 1). First remove the top screws from the support pillars; then:  For Standard Version: plug RPi into OSPi through the 2x13 pin headers, with USB and Ethernet jack facing the left, and SD card slot facing the right.  For Plus Version: plug RPi into OSPi through the 2x20 pin headers, with SD card slot facing the left, and USB and Ethernet jack facing the right. Double check the orientation and make sure all pins are aligned. The two screw holes should also match the support pillars. Insert RPi all the way to the end. The USB and Ethernet connector should go through the cutouts on the PCB. Finally tighten the two screws. 3. microSD card Plus Version: Raspberry Pi model A+ or B+ already uses a built-in microSD card slot, so there is no need to use microSD to SD adapter. Standard Version only: OSPi v1.4 includes a microSD to low-profile SD adapter. A microSD card (4GB or above) is recommended because a full-size SD card will not fit in the enclosure. Instructions on how to burn pre-configured software onto the microSD card can be found later in the Software Setup section. Push the microSD card into the adapter; then insert the adapter into RPi’s SD card slot as shown below. The adapter is relatively thick, so you may need to use some force to insert it all the way to the left. To remove the adapter, use your thumb to gently push the adapter until it comes out of the slot. The advantage of microSD card is that it’s compact; the disadvantage is that its access speed is typically slower than a full-size SD card. If you prefer using a full-size SD card, you have two options:  Use a dremel to make a cutout on the enclosure, for the SD card to pass through;  Alternatively, you can cut a full-size SD card in half to make a half-size SD card. Make sure you burn software onto the SD card, before cutting it in half. 4. Web Connectivity OSPi fits a nano-size USB WiFi dongle. You can insert the dongle into any of the available RPi USB ports. If you prefer wired Ethernet connection:  For Standard Version: you can insert a standard RJ45 Ethernet cable into RPi, and the cable can pass through the opening labeled ‘USB’ on the enclosure.  For Plus Version: there is no special cutout for the Ethernet cable, therefore if you need to run an Ethernet cable through the enclosure, you need to use a Dremel to make a cutout yourself. 5. Wiring Sprinkler Valves To connect a sprinkler valve, insert one wire to the COM (common) terminal, and the other wire to any of the station terminals (1-8). The COM terminal has two ports – they are internally connected so either port is fine. To connect multiple valves, one wire from each valve should come together and go to the COM terminal; and the other wire from each valve goes to an individual station terminal. See the diagram below. COM 1 2 3 4 5 6 7 8 …… 6. Zone Expansion Board To connect a zone expansion board, use the extension cable you received to link the OSPi’s OUT port to the expansion board’s IN port. The connector on the cable is polarized (with a bump on the top), so there is only one way to plug it. If you have multiple expansion boards, you can daisy chain them in the same way, by following the OUT -> IN links. When using zone expansion boards, the sprinkler valves are wired the same way as before: one wire from each valve should come together and go to the COM terminal on the OSPi; and the other wire from each valve goes to an individual station terminal. Main Controller Zone Expansion Board Extension Cable COM 1 2 3 4 5 6 7 8 …… 1 2 3 4 5 6 7 8 …… 7. Rain Sensor If you have a rain sensor, you can connect it to OSPi v1.4 via the rain sensor terminal. The rain sensor has two wires and is essentially a rain-activated switch. The OSPi software can decide what to do when rain is detected, such as turn off stations or ignore rain. 8. Mini-Relay (Advanced Topic) OSPi v1.4 has an on-board 250VAC / 3A relay, which can be used for general-purpose switching, such as opening garage doors, switching landscape lighting. The three relay pins have been mapped out on the circuit board: CO (change-over), NO (normally-open), NC (normally closed). For example, connect the two wires from the garage door opener to the CO and NO pins; when the relay is activated, it will toggle the garage door. Warning: the PCB traces and pinouts for the relay are designed for low-voltage operation (<=40V) and have not been tested on power-line (120V∼240V) devices. Use your own discretion if you plan to use the relay for power-line devices. 9. Analog-Digital Converter (Advanced Topic) OSPi v1.4 has a built-in PCF8591T A/D D/A converter, which provides four 8-bit analog inputs, and one analog output. The analog inputs can be used to read analog sensors, such as light, temperature, soil humidity. Details on how to use this converter can be found in this blog post. Software Setup 1. OSPi Pre-configured SD Image A pre-configured SD card image is provided for you to quickly set up software for OSPi.  The latest version: OSPi SD Card Image 2 (with Interval Program v2, update 06/25/14) o SHA1SUM: 1cc26d3271b6dad35f0bc423412981530da5de41 o MD5SUM: cbb0e246f6daf0db68d68c7f0731e78d The process to burn the image onto an SD card is the same as burning a Raspbian image. Below is a brief summary. Detailed instructions can be found on this website.      Decompress the image file to your computer. Insert an SD card (4GB or above) to your computer. Back up any important file on the SD card.  If using microSD card, you need a microSD to full-size SD adapter, or USB adapter. On Windows, use the Win32DiskImager software. On Mac or Linux, use the dd command in a terminal. For example: sudo dd bs=1M if=image_file of=/dev/partition_to_burn_to IMPORTANT: make sure you have typed in the correct partition name – if you accidentally typed in the wrong partition name, you may end up wiping out your hard disk! Once the SD card is ready, pop it into your RPi. As WiFi is not configured yet, you should first connect RPi directly to your router with a wired Ethernet cable, or connect it to a screen and keyboard, set the WiFi SSID and password, then you can use the wireless connection. The system will attempt to register host name ‘ospi’ on your network. So open a browser, and type in http://ospi/ and see if you can get to the one-page instruction. If not, go to your router’s configuration page; find the IP address assigned to your RPi (say, http://192.168.x.x). Next, open a browser and type in the IP address. You should see a welcome page with further instructions. If you see this page, congratulations, the image is successfully burned onto your SD card.  To ssh or log in to RPi, the default user name is pi, and password raspberry. 2. OpenSprinkler Interval Program (by Dan Kimberling) The OpenSprinkler interval_program, written in Python by Dan Kimberling, is the default software set to run on start-up. This software provides basic and advanced features, such as interval-based programming, graphical preview of program settings, manual operation, custom station names, station delay, per-station control of master valve, rain delay, rain sensor, watering percentage. The software is available on port 8080. Open a browser and type in http://ospi:8080 (or if that doesn’t work, http://192.168.x.x:8080). You should see the web interface of this program.    The user manual of the interval_program can be found on http://www.opensprinkler.com Changing settings in the interval_program requires a password. The initial password is opendoor. To update the program, ssh to RPi, cd to the OSPi directory, and run git pull. The interval_program is under active development with new features and plugins. If you want to find out more or contribute to the development, please check the following resources:     OSPi interval_program Github repository. OSPi MediaWiki page. Rayshobby Forum OSPi development topics. If you need to downgrade to Interval Program v1.8.3, go to folder /home/pi/OSPi, and run the following command: git checkout 0cc07da211000acaf2e6f50a6630fbcd0093c844 The restart. This will downgrade the program to version of 1.8.3. 3. OpenSprinkler Mobile App (by Samer Albahra) The OpenSprinkler Mobile App, written by Samer Albahra, supports the interval_program. The mobile app provides a stylish mobile front-end to easily change station and program settings, as well as check station and program status. The app is available on all major mobile platforms (e.g. iOS, Android, Windows Mobile, BlackBerry, Amazon Kindle). Search opensprinkler in the app store, then download and install the app. The app requires an up-to-date OpenSprinkler interval_program. Check subsection 2 above for update instructions. 4. sprinklers_pi Program (by Rich Zimmerman) The sprinklers_pi program, written in WiringPi by Rich Zimmerman, provides an alternative software for OSPi with the following advanced features – a built-in mobile front-end, logging, weather-based watering control (using weather data from wunderground.com). You can switch to run the sprinklers_pi program on start-up. To do so:    ssh (or log in) to RPi (default user name pi, password raspberry) Run sudo /home/pi/select_program Once switched, the sprinklers_pi program is available on port 8080 (http://192.168.x.x:8080) If you want to find out more or contribute to the development, please check the following resources:   Rich Zimmerman’s sprinklers_pi Github repository. Rayshobby Forum OSPi development topics. 5. Google Calendar Program The Google Calendar program, written in Python, makes use of a public Google calendar to schedule watering events. It periodically polls the calendar to check stations that are scheduled to be on at the current time. Each program is simply a calendar event with the title indicating the station name(s). Google calendar makes it easy to schedule complex recurring events, and it’s accessible on most devices. This program is installed in the /home/pi/demo folder. Please check the README.txt therein. The /home/pi/demo folder includes a couple of addition demo programs for testing purposes, and they provide start-up examples to show how to control sprinkler valves in Python and C. Technical Details The OSPi v1.4 circuit design consists mainly of a 24V AC to 5V DC switching converter (based on LM2596S-5.0), shift register (74HC595D), solenoid drivers (based on BT1308W triac), RTC with battery (DS1307), 4-channel ADC (PCF8591T), relay (HK4100F-5.0V). RPi Pin Uses OSPi v1.4 uses the following GPIO pins on the RPi (shaded in red). The other pins are free to use. The power pins as well as SDA/SCL pins can be shared with other devices. All 26 pins from RPi are mapped out in the pinout area at the upper left corner of the circuit board. The layout of the mapped out pins match the GPIO pins. The pins uses by OSPi are marked by a white outline. 3.3V (from RPi) 5V DC power to RPi SDA 5V DC power to RPi SCL Shift Register CLOCK GND Shift Register OE Shift Register DATA Shift Register LATCH GND Rain Sensor Relay Specifications        Input Voltage: DC Output Current: Number of Zones: AC Output Current: Over-voltage Protection: Over-current Protection: On-board Relay:   Size: Weight: 22V AC to 30V AC. 500mA @ 5V (to power RPi). 8 on the OSPi, expandable by linking zone expansion boards. 800mA continues @ 24V AC per zone / station, 8A impulse / inrush. 48V bi-directional TVS on each zone, AC input, and rain sensor terminal. 2A on AC input; 1A on 5V DC. 3A @ 250V AC, or 30V DC. (Though rated at 250V AC, it’s not recommended for power-line voltage due to PCB traces and pinout size) 135mm x 100mm x 32mm (5.3” x 4” x 1.26”) 150g (5.3oz) w/o RPi Terms and Conditions OpenSprinkler Pi (OSPi) is an open-source project. The hardware design and software code are made publicly available under the Creative Commons Attribution-ShareAlike (CC BY--SA) 3.0 license. The product is open-source for educational purpose and to promote innovations. The hardware and software are provided as is. We (Rayshobby LLC) are not responsible for any damage or accident that may occur due to hardware or software error, or during the assembly, use, and modification of OSPi. Open-Source Links   OSPi Github Repository OSPi homepage