OpenSprinkler Beagle (OSBo)
An Open-Source Sprinkler Extension Board for BeagleBone Black
Order
OpenSprinkler Beagle v1.1 is now available at Rayshobby Shop.
Updates
- Please check the OSBo v1.1 User Manual for instructions.
- OpenSprinkler new mobile app is now available on all platforms. Search ‘opensprinkler’ in iOS App Store, Android Play Store, or Windows Phone Store, then install the app.
- OSBo software setup is easy: download the pre-configured SD card image for OSBo, burn it to a microSD card, pop it in to your BeagleBone Black, and you are ready to go! The microSD card image contains Dan’s interval_program, Samer’s mobile web app, and the Google Calendar-based scheduling program.
- To receive updates, you can sign up to the Rayshobby RSS Feed, Google+, Twitter, or OpenSprinkler Email List, .
Overview
OpenSprinkler Beagle (OSBo) is an open-source sprinkler / irrigation extension board for the BeagleBone Black. It is based on the design of OpenSprinkler, but its ‘brain’ is a BeagleBone instead of an AVR microcontroller. OSBo makes use of BeagleBone’s GPIO pins to directly control sprinkler valves. By stacking a BeagleBone Black on top of OSBo, you instantly have a low-cost, web-connected sprinkler controller. OSBo is expandable — by linking OpenSprinkler Zone Expansion Boards, you can extend to an unlimited number of stations. You can also make use of the digital/analog pins of the BeagleBone Black to interface with external sensors and actuators.
Design
Circuit Design. The circuit of OSBo consists of a 24VAC to 5VDC switching converter, a shift register, triacs, DS1307 RTC, CR1220 backup battery, and zone expansion connector. In addition, it includes a rain sensor port, per-station bidirectional TVS (transient voltage suppressor), and a 5V mini-relay for general-purpose switching (such as switching garage doors etc. The mini-relay’s contact rating is 120VAC/2A).
OSBo makes use of four GPIO pins to send control signals to the shift register, two I2C pins (SDA, SCL) to interface with the RTC, and two additional pins to interface with rain sensor and the mini-relay. It can provide regulated 5V power to BeagleBone Black with up to 750mA output current, which is sufficient to drive the BeagleBone Black with a USB WiFi dongle. Connection from Beagle to OSBo is done through on-board 2×10 pin headers. The Beagle is directly plugged into the pin headers, and secured via three support pillars and screws.
Zone Expansion. The OSBo board itself controls 8 stations. There is a built-in shift register connector which allows it to be linked to zone expansion boards to enable more stations. The number of stations has no software limit — you can go up to a large number of stations, limited only by your SD card size. For instructions on how to connect OSBo to zone expansion boards, please check the online user manual.
Pinouts. The BeagleBone Black has a large number of GPIO pins. They are useful for extending the functionality of OSBo. Because the BeagleBone Black is placed facing down, it’s not easy to directly access these pins. Fortunately we have mapped all available pins to the OSBo’s pinout area. Specifically, close to the top are the P8 pinouts, including all the 46 pins; and close to the bottom are the P9 pinouts. In order to use the pinouts, you need to solder the corresponding male pin headers to the board. Please check the user manual for details.
Difference with OpenSprinkler
You may be choosing between OSBo and OpenSprinkler, and curious about their differences. Here is a detailed comparison. OSBo is based on the BeagleBone Black. In order to use it, you must have an existing BeagleBone Black and install the necessary software. There are three proof-of-concept demo programs as shown in the video above. In addition, the full-featured Interval Program firmware that runs on standard OpenSprinklers is also available for OSBo, thanks to the generous contributions by Dan Kimberling.
Note that we do not sell BeagleBone Black directly — you need to purchase it separately. So OSBo is currently targeted towards users who have a BeagleBone Black, and have prior experience with it.
OpenSprinkler, on the other hand, is based on an AVR microcontroller. It is pre-flashed with a full-featured firmware and works out of the box. It does not require any additional board or software setup. It has a built-in LCD display and push-buttons. We also provide a DIY version of OpenSprinkler, allowing you to build the controller from scratch.
If you are interested in modifying the programs yourself, OSBo would give a lot more flexibility. In particular, the OSBo demo software is all written in Python, which is easy to learn. OpenSprinkler, on the other hand, is based on the Arduino programming language, or you can directly use avr-gcc to compile the program.
The other features are pretty much similar: both have a 24VAC to 5VDC conversion circuit, RTC and backup battery, Ethernet jack, and zone expansion connector. To enable WiFi, on OSBo you can use a WiFi USB dongle, on OpenSprinkler, you can use a portable WiFi adapter / repeater.
Online User Manual
Please check the Online User Manual for detailed instructions.
Download
OSBo is an open-source product. The design, including schematic, PCB, and parts list can be found in the download section. Content on this site is published under the Creative Commons Attribution-ShareAlike 3.0 license.
Buy OSBo from Rayshobby Shop.
Is the image a Ubuntu one?
Yes, it is created from the Ubuntu flasher.
Is this adaptable to the white BeagleBone?
Sorry, no, it’s for BeagleBone Black only.
I am interested in utilizing this board in conjunction with an entire home automation project. I am interested in the ports that the Beaglebone is utilizing and based upon the pinouts you listed above:
4x GPIO
2x I2C
2x for the relay and rain sensor(?)
1x +5v power
1x Ground
The total of used pins is 12 out of the 20 on the header is this correct?
I am trying to plan out the usages so I can know what other pins I have at my disposal.
Thanks!
You are right about the used pins. The BeagleBone has quite a large number of available pins: both P8 and P9 have 2×23 = 46 pins (of course not all of them are GPIO pins).
Did it work with BeagleBone Black – Rev C version?
Thanks
Yup, it works with BBB rev. C.
How do I use OSBo with an expansion board ? I have the basic OSBo working, but I need all 24 stations to work and right now the expansion board does not appear to be initialized and the software does not address any station higher than 8. I bought the zone expansion card, but right now this is completely useless. There are no instructions about it and OSBo whatsoever….
Thanks,
Stefano
The expansion board is not automatically detected. You need to manually set the number of expansion boards in the Edit Options page. I don’t understand why you said ‘There are no instructions about it and OSBo whatsoever…’ — the OSBo user manual:
http://rayshobby.net/docs/osbo11_manual.pdf
page 5 explains the Zone Expansion board.
Thank you Ray for the instantaneous response!
Sorry for being a bit harsh with my comment, but I was frustrated that it was not very explicit how to deal with the zone expansion in OSBo. I saw how to do it with the original Arduino-based unit, pressing some button that is not present in OSBo, but I eventually figured it out going to the Edit Options, as you said it in your reply. I had no problem with the wiring, which is what page 5 addresses.
It all works now….
Since I got you on the line :), what is the best strategy to address different timing for each station ? I have irrigation as well as sprinklers on this controllers, with times varying from 15m to 1h. I hope I don’t end up with a different program per head….
Thanks,
Stefano
This is already implemented in the Unified OpenSprinkler Firmware, which is available for all of OpenSprinkler, OSPi and OSBo. It’s not officially announced yet, but you can find out details from this forum post:
https://opensprinkler.com/forums/topic/announcing-opensprinkler-unified-firmware-2-1-3-for-avrrpibbblinux/