OpenSprinkler End-of-the-year Update

Hi everyone, Christmas is coming in a few days, and soon we will be entering the year 2013. I figured this is time that I post about recent progress on OpenSprinkler. Sorry that I haven’t blogged for a while. Various projects have been keeping me busy. I am excited to post and talk about the details of these new projects in the near future. Anyways, what’s new at Rayshobby shop in the past month or so?

Sale Update. A few weeks ago we’ve just shipped the 600th OpenSprinkler. The sale really starting going up quickly ever since the Bay Area Maker Faire this year. I am hopeful that by the end of spring next year we will reach the 1000 mark. That would be awesome :). With a growing community of users, I’ve also started seeing people contributing to this project, including feature testing, debugging, writing scripts and mobile apps (see below). I am really thankful to everyone who supported and contributed to this project.

Software Revision. The latest firmware shipped with OpenSprinkler is 1.8.2. It has been relatively stable and I haven’t seen or received report of any major issue with it. Some of the commonly requested features are 1) adding back the parallel running mode (which was available in firmware 1.7 but disabled in 1.8.x to make space to other features); 2) adding a weather feature; 3) adding a microSD card for logging and storing Javascripts. I am hoping to get the first request done soon: since the feature already exists in previous versions, I just need some patience to sit down, optimize and reduce the current code and put it back in. As for the second request, a friend of mine has been helping me to implement the weather feature in Python script. The plan is to host the Python code on Rayshobby server. This way, the controller can periodically send requests to the server with the user’s zip code, and the Python script will return a simple number that reflects how the water time should be adjusted that day. This will free the microcontroller from having to carry out the necessary computation. It would be a simple scheme to fit a basic weather feature into the current generation of hardware. The third request cannot be implemented with the current hardware, due to the program memory limit. If you need logging, please use David’s Sprinkler Logger script that I blogged about in a previous post. It is available in the OpenSprinkler GitHub repository.


iOS/Android App. I’ve been holding back on developing an iOS or Android app for OpenSprinkler, partly because I am not familiar with programming mobile apps, and partly because the OpenSprinkler’s web interface is already functioning on mobile devices through their web browsers. But I do agree that a dedicated app would look much more appealing and make the product stand out. Fortunately the folks at FeedFriendly.com have developed an iOS app for OpenSprinkler called SprinklerAce. I’m quite excited and I’ve already seen the pre-release version of it. The app is extended from the previous version, which was dedicated to the IrrigationCaddy. It makes use of the manual operation mode on OpenSprinkler to directly control station valves. It’s currently undergoing the Apple Store approval process. I will make a separate post about it once it becomes available. Stay tuned!

Hardware Revision. The latest hardware version is 1.4, and we still carry both the full-assembled products (1.4s) as well as the DIY kits (1.4u). A while back when the last batch of DIY kits sold out, I was considering discontinuing it and start carrying semi-assembled kits, similar to the OpenSprinkler extension boards. But due to the popular requests from users, I decided to still offer the DIY kits, not only because its price is significantly lower than the fully-assembled versions, but also because many people enjoy the process of building a kit regardless of the price. In October 2012, I made some minor revisions to both 1.4u and 1.4s, mainly to improve the reliability of the power conversion circuit. Again, the hardware design is pretty much stable and I do not anticipate any major changes to it.

Also, I’ve been working with SeeedStudios to make a injection-molded case for OpenSprinkler. I’m quite excited because this is the first time I’m working on an injection-molded case. The folks at Seeed are awesome and very helpful. I will certainly learn a lot through the process.

Another bit of news is that I’ve started prototyping OpenSprinkler 2.0. The current plan is to simply upgrade the microncontroller to ATmega644 in order to fit in features like microSD card and more sophisticated weather-based control. Because I am planning to design it to fit the new project case, it will not be available until the case design has been finalized. So most likely it won’t be released until some time in late spring and early summer next year. I do have two prototype images to show off here. I was curious to experiment with different PCB colors, so I ordered a white version as well as a black version:

They both look gorgeous, but I personally prefer the black version because the dark background looks really cool. Feel free to let me know your preference/opinion. In addition to upgrading the microcontroller and adding the microSD card slot, I’ve also changed more components to surface mount packaging to facilitate manufacturing, and adding support pillars for the 16×2 LCD. Again, this is just a hardware prototype, I haven’t started working on the software code yet. The final version will also have to be designed together with the new case. So a lot of things need to be orchestrated before its release.

Upcoming New Products. As I mentioned above, I’ve been working on several new projects. Among which there is the OpenSprinkler Bee, which is an open-source controller for battery-operated sprinnkler valves. I already have a prototype and have demonstrated it at Maker Faire. I am working on making the kits ready soon.

Another product is a controller for watering indoor plants. It has built-in humidity, temperature, and light sensors, and will interface with a compact water pump to automatically water plants for you. I’ve temporarily named it OpenSprinkler Sip. This is a very exciting project that I hope to blog about soon.

All right, so much for the end-of-the-year OpenSprinkler Update. I hope everyone have a Merry Christmas, and see you again in 2013!

6 thoughts on “OpenSprinkler End-of-the-year Update

  • January 9, 2013 at 6:02 pm
    Permalink

    Hello.
    First of all: congrat for your work!!.
    As a comment: have you thinked about drive the display by i2c?. I don´t have yet an opensprinkler, and I guess you are out of memory to load more libraries.

    But if you are planning to upgrade to a bigger atmega…. why don´t going to a mega compatible board? With a 2560 you will have a lot of memory and tons of IO pins 😉

    • January 9, 2013 at 6:11 pm
      Permalink

      To drive the display with i2c you need an i2c-enabled LCD, which is more expensive. Also, I suspect driving i2c LCD would require more memory space.

      There are a couple of reasons why not to go with 2560: it’s a lot more expensive, and the usbtiny programmer cannot program it due to the flash size. In general I like picking a mcu based on need: 2560 has too many pins which are unnecessary. Also, it has no DIP package, making it impossible to develop a DIY kit.

  • January 10, 2013 at 3:34 am
    Permalink

    Hi.

    About i2c LCD: you can use the same lcd you are using at the moment, it only requires a intermediate shift register chip. There are many options, I like this: http://www.electrofunltd.com/p/shiftregister-lcd.html it is open source, and have a well-depured library. If you are going to upgrade the controller, I thing it is a good option to free pins.

    I agree that may be 2560 is too much and it has no dip package, but migration would be easier. Many people thougt that going to 644 is trivial and it is not, timewitharduino.blogspot.com has some experiencies with sanguino.

    In the other hand… it is not sooo expensive and there are some “brave” people who are able to solder it without any special equipment. See this Spanish people making their own mega:
    http://arduino.cc/forum/index.php/topic,122724.0.html

    Anyway, I am waiting for news from your opensprinkler, I am agronomist and electronic hobbyst and I love projects like yours. Congratulations again!

    • January 10, 2013 at 12:38 pm
      Permalink

      I see. I’ve used shift register with LCD previously. It’s a neat idea. Right now I am not too concerned with saving pins because 644 would have more pins that I need.

      Regarding the transition to 644, have you checked this library? It’s pretty easy to use. It took me less than two hours to port all existing OpenSprinkler code to 2.0 prototype.

  • January 27, 2013 at 1:42 am
    Permalink

    Hi Ray, I LOVE the new black PCB design, you’re right it looks very cool!

    One feature Im not sure if you could add would be a tank level sensor should the open sprinkler be connected to water tanks as I do, & not a mains supply?

    That way it could monitor the level & bypass a program should the tank run down too low whilst you were away for example. Just a thought….not sure how this could be integrated easily.

    Cheers.
    Nigel

    • January 27, 2013 at 2:09 pm
      Permalink

      You can make use of the rain sensor functionality that’s already available on OpenSprinkler. I assume a tank level sensor is similar to a normally-closed rain sensor.

Leave a Reply