Feed on
Posts
Comments

As mentioned in a previous post, I have been working with SeeedStudios to design a custom OpenSprinkler enclosure. Thus far I have been using an off-the-shelf Serpac WM-032C clear plastic enclosure, and I have Electronic Precepts to machine the cutouts. It was a good start and really easy to design, but the cost can quickly add up as I order more from them. Over time, it’s make more and more sense to design a custom enclosure using injection molding, in order to reduce the per unit cost.

The initial design has been finalized and a 3D printed prototype is on its way to me. I am very excited because this will be the first injection-molded OpenSprinkler enclosure! It’s a pretty heavy one-time cost (the mold costs about $5,000 to make), but it’s fun and I think it’s worth the investment. I am supposed to receive the prototype today, but a snow prevented DHL from delivering today. So I have to look forward to Monday. But below I attached some pictures Seeed sent me. They are enough to enjoy for a while 🙂 More pictures will come after I receive it on Monday.

opensprinkler 1opensprinkler 2

opensprinkler 3opensprinkler 4

OpenSprinkler Pi (OSPi) v1.0 is back in stock and available for shipping now. The kit includes one assembled and tested OSPi board, separation pillars, terminal blocks, 8-pin and 3-pin connection cables, and optional enclosure. You need to provide your own Raspberry Pi, and 24VAC sprinkler transformer. The board controls 8 zones, and can connect to standard OpenSprinkler zone expansion board to enable additional zones. Grab it now before it goes out of stock again!

IMG_2416

I would really like to give a big thumb-up to smart-prototyping.com. This is the first time I ordered PCBs from them (I got the link from dangerousprototypes.com), and I wasn’t sure what to expect. The order was placed on Feb 26 right after the initial batch of OSPi sold out. I selected DHL shipping (about $30) since I need it to be quick. On Feb 28 I decided to place a smaller order for the new zone expansion board prototype PCB, and I selected economy air shipping (about $4) since I don’t care how fast it comes. Then on March 5, exactly one week after placing first order, I noticed it got shipped out. I happily received the package on March 7. This is a total turn around time (from ordering to delivery) of only 9 days! What’s more surprising is that when I opened the package, I found my second order is also included. They must have figured out that since both orders are going to the same address, and both were ready upon shipping of the first order, why not put them together and use the fastest shipping. Clever! I am really impressed by their processing speed and the super-fast shipping time. Also, the PCB quality is very good, and their price is even cheaper than SeeedStudios. Highly recommended, and will definitely order from them again!

IMG_2415


Hi, I am glad to announce the arrival of OpenSprinkler Pi (OSPi) 1.0 — a sprinkler or irrigation extension board for Raspberry Pi that provides direct access and control of sprinkler valves. This post serves as a quick introduction to the hardware and software setups. A more dedicated webpage will be available soon. First off, a picture of the board:

ospi_header

and a video introduction:



Background

Since the beginning of Raspi, there have been many published DIY projects on how to use Raspi for home automation need. I bought a Raspi a few months ago, and have been quite happy with it since then, but I at that point I had not thought about designing an OpenSprinkler extension board for it. The idea of OSPi first came when I noticed that several OpenSprinkler users were setting up Raspi to work with OpenSprinkler. There are many good reasons to do so, for example, to enable logging, to customize the default Javascript files, and to allow more advanced features such as weather-based and learning-based control. At one point I started thinking: wouldn’t it be nice to design an extension board for Raspi, so that it can directly talk to sprinkler valves through the GPIO pins, without an additional layer of microcontorller and Ethernet controller? This has been on my todo list for quite a while, until one day I was playing with Raspi, and I suddenly that the I can actually fit a Raspi inside the existing OpenSprinkler enclosure. As soon as I figured this out, I couldn’t resist ordering a small batch of prototype PCBs right away.






The content below has been updated and moved to a dedicated product page for OSPi at http://pi.opensprinkler.com.


Amid all the fun and exercise of snow shoveling following the heavy snowstorm Nemo, I was able to finish and check in a new firmware update for OpenSprinkler. This new firmware, numbered 1.8.3, is a relatively minor update. You don’t have to update if you don’t need the new features explained below. There are two main changes:

The first is adding back the Sequential option that was available in firmware 1.7 but disabled in 1.8 due to a bug that was tricky to fix. This option allows you to set the controller to run in either sequential mode (where station runs are serialized) or concurrent mode (where stations are allowed to run simultaneously). The support for this option is now added back (with the bug fixed), and the Program Preview Javascripts have also been updated so you can easily check and verify the controller schedules in concurrent running mode. For most people this is probably not that useful, because sprinklers are typically set to run sequentially to maintain water pressure (similar to how people in the same house usually take showers in turn!) But there are times when you may need to run stations in parallel, say, if you want to speed up the overall watering time, or if you want to run master stations in a non-conventional manner, or if you want to use OpenSprinkler to control not only sprinkler valves but also home lighting and other devices. These are all cases where station runs have to overlap with each other. If this feature is useful to you, go ahead and upgrade to 1.8.3.

The second change is a new Device ID option which assigns the last byte of the controller’s MAC address. This new option allows you to run multiple controllers on the same network by giving each controller a different MAC address. Note that OpenSprinkler uses a software MAC, and is programmed with exactly the same MAC on every unit. I know, this sounds lame, but it’s just because I haven’t spent any time to figure out how to flash a random MAC address. Since most users won’t have more than one controller on the same network, it is not a serious issue. With the Device ID, you can easily customize the MAC address, albeit only the last byte. So again, if you find this feature useful, go ahead and upgrade to 1.8.3.

There are a couple of other minor changes. For example, the network status icon has been removed, instead, the LCD now displays no status icon if the network is on, and a question mark if the network is lost. Also, the Run-Once Program data is not stored in EEPROM any more; instead, you have to type in the water duration each time you start the Run-Once program. I know, this sounds a bit inconvenient, but I had to do it to make space for the new features. If you want to upgrade to 1.8.3, please follow the Firmware Update Instructions.

A slight annoyance I found recently is that I couldn’t compile the OpenSprinkler source code any more on my upgraded OS — Linux Mint 14. It turns out that Mint 14, based on Ubuntu 12.10, installs avr-gcc 4.7.2 by default, which apparently broke some of the Ethernet library code. This is quite annoying. My temporary workaround is to install Linux Mint 13 (based on Ubuntu 12.04 and installs avr-gcc 4.5.3 by default) on a VirtualBox in the host system, and then I can compile the code again in the virtual OS. I haven’t found an easy way to downgrade avr-gcc 4.7.2 to 4.5.3, so I will just stick to this option for now. Apparently next time I should really transition to use Arduino 1.x, which comes with its own avr-gcc compiler so I don’t have to worry about the OS installed avr-gcc breaking old code.

OK, that’s all. Back to snow shoveling tomorrow!

Dan K. from California wrote an excellent blog post about how to set up a Raspberry Pi to work with OpenSprinkler. The link to the blog post can be found here:
http://xperimentia.com/2012/12/14/setting-up-a-raspberry-pi-to-work-with-opensprinkler/

and you can download his scripts from the OpenSprinkler GitHub repository (link given in his post). The scripts basically consist of two parts: 1) storing and serving Javascripts required by OpenSprinkler on a Pi server (recall that currently these Javascripts are served on the rayshobby.net server); 2) using Pi to log OpenSprinkler status (this part is based on Dave Gustavson’s PHP scripts). As Raspi is compact, low-cost, and low-power, it is becoming an increasingly popular embedded Linux platform. The combination of Pi with OpenSprinkler also makes it possible to develop sophisticated features in the future like weather-based irrigation control, or leaning-based control like the Nest thermostat. Perhaps it’s time for me to think about an OpenSprinkler Pi Edition 🙂

IMG_2372

« Newer Posts - Older Posts »