Feed on
Posts
Comments

Today is…

OpenSprinkler’s 1-year anniversary! Yes, on Oct 9 last year, the OpenSprinkler project got posted on Hackaday and became known to the world for the first time. A lot of updates have happened during this past year. The hardware has gone through four cycles of changes, and the latest version is 1.4. From August 2011 we have started producing the surface mount version of 1.4, making it easier to manufacture and assemble the kit. The software has also been substantially improved. Many user-requested features have been included. I am proud to say that at this moment OpenSprinkler is probably the best Internet-based sprinkler timer with its price and the functionality it provides. I am hoping that in the upcoming years it will start making a positive impact on the technology innovation in consumer-level sprinkler products.

To honor the 1-year anniversary, all orders placed on Oct 9 (today) and 10 will receive a 10% discount. If you have ever considered buying OpenSprinkler but hasn’t made up your mind, there is no better deal than this!

Statistics wise, most OpenSprinkler orders came from the United States, which is not a surprise since we are based in the US. But OpenSprinkler has also reached places outside of the US. So far it has reached close to 30 countries. Here is an un-ordered list: Germany, Netherlands, Australia, South Africa, France, Bulgaria, Spain, Slovakia, Canada, UK, Finland, Portugal, Hungary, Singapore, Belgium, New Zealand, Italy, Turkey, Greece, Peru, Switzerland, Cyprus, Ukraine, Denmark, Estonia, Poland, Austria. I have also marked them on a world map, to give you a better visual:

I want to take a moment to thank the open-source movement. I am a strong supporter for open-source hardware and software. I believe open-source is important for pushing technology innovation and for promoting and implementing new ideas as quickly as possible. Unlike large-scale closed source products, open-source products are often started with a low budget and produced in small batches. We typically assemble kits on the level of a couple hundred per batch. This is how we can quickly update the design, fix bugs, introduce new features, and shorten the overall design cycle. If a particular design didn’t work out, we can simply abandon it and move on. There is little risk of losing big investment money. Also, having a project open-sourced makes it possible for the public to scrutinize the design, identify issues, contribute to the project, and build new projects. As a college educator, I am keen at understanding the underpinnings of how electronic products work, but more than that, I am keen at giving out the knowledge that I know.

Update: OpenSprinkler 2.0 or above uses a different switching regulator and does not require additional resistor any more. The information below is only relevant to OpenSprinkler 1.x.

As you know, OpenSprinkler uses a single 24VAc sprinkler transformer to power both the circuit and the sprinkler solenoids. Frequently people are using a WiFi adapter together with OpenSprinkler to provide wireless Ethernet connection. So how about using the same transformer to also power the WiFi adapter? Ah ha, good question. This turns out to be possible and quite easy to do!

The basic idea is that many of these WiFi adapters (such as the popular NetGear WNCE2001) can be powered using an attached USB cable. One end of the cable is a USB Male A connector, and the other end is typically a 2.5mm power jack that goes into the adapter. Since OpenSprinkler has a built-in USB port (which is connected to the +5V output of the 34063 switching regulator), it can be used to directly power the WiFi adapter. However, OpenSprinkler’s USB connector is a Female B type, so the trick to make this work is to throw in a USB Female A to Male B converter, as shown in the picture below:

You can get this converter from Rayshobby Shop or at online retail stores.

Hold on one second, this is not the only thing you need to do. You also have to solder an additional 1 ohm resistor to the circuit board. The reason is that these WiFi adapters are quite power hungry: I measured that the NetGear WNCE2001 draws about 300-400mA current during operation. On the other hand, OpenSprinkler (by default design) outputs about 330mA current on its +5V output, of which 180mA will have to power the mcu and Ethernet controller. So we need to increase the current output. Fortunately this is not too difficult to do. The trick is to reduce the resistance of Rsc — current limiting resistor for the 34063 switching regulator. According to 34063’s datasheet, the maximum output current is 0.33/Rsc. So if we put two 1 ohm resistors in parallel, Rsc is effectively 0.5 ohm, and hence the maximum output current increases to 660mA, enough to power both the circuit board and the WiFi adapter. Also, OpenSprinkler v1.3u and v1.4 have already designed a spare slot for the parallel Rsc, so it’s pretty easy to make the modification.

You can reduce Rsc even further to provide better safety margin. 34063 supports maximum output current of 1.5A. To do so, you can keep putting more 1 ohm resistors in parallel until you reach the desired resistance. The reason to use multiple 1 ohm resistors is because it’s lowest value common resistor. Anything below 1 ohm will have a big price jump.

Again, if you are interested in trying this, you can get the USB converter from Rayshobby Shop. We will also throw in a couple of 1 ohm resistor free of charge!

I had the urge to send this out a week ago, but I was holding on to it because I had to hear some feedback, suggestions, and issue reports from the initial users. Now I am ready to spread the words:

OpenSprinkler Firmware 1.8.1 is available for download in GitHub, go for it!

If you haven’t updated firmware before, here are the Firmware Update Instructions.

As always, the first question I need to answer is: what’s new in this version? Here is a list of highlights:
• New features:

  • Custom station names: each station can have a custom name up to 12 letters long.
  • Per-station master operation control: each station can individually activate the master station.
  • Run-once program: similar to the manual override feature on some sprinkler timers.
  • Station delay time, and master on/off adjusted time: fine tune station turn-on and turn-off time.
  • Water level/percentage: globally scales water time up and down based on local weather conditions.
  • Automatically reconnect: improves reliability on unreliable networks.
  • Support for RTC and automatic RTC detection: keeps time running even when power or network is lost.
  • Full range of time zones: living in Nepal? No problem.

• Improved features:

  • Program now has an ‘enable’ flag which allows you to enable or disable each program individually.
  • Improved Graphical Preview feature, which shows each station’s name and scheduled on/off time.

So this is another major upgrade since Firmware 1.6. So what happened to Firmware 1.7? Well, that was a quick update for the preparation of OpenSprinkler 1.4 orders: except for added support of RTC, it didn’t have any major changes. So I had to number this one 1.8 to distinguish it from the previous version.

Also taking a suggestion from the Forum, I’ve starting using minor revision numbers (1.8.0, 1.8.1 etc.) to keep track of changes in between major releases. This way you can easily find out whether your version is up to date.

I’ve also made a video tutorial (above) for those who want a video guide on how to use this firmware. I ended up having to switch between different ways of recording, so the audio quality is not consistent. Sorry about that, and enjoy the video!

My First Raspberry Pi

Look at what came in the mail today:

It’s my first Raspberry Pi (Raspi)! I know I should have got it much earlier, but I was not fond of being put on a waitlist. Apparently I should have kept better track of it: I was checking some stuff on Newark.com the other day and accidentally noticed that Raspi is in stock. Without any hesitation I immediately placed an order. Three days later, it’s here!

First impression:
Gosh, it’s small! It’s the size of a credit card, and the build quality is pretty sold. It’s powerful eough to run a Linux system with X server, and it even has HDMI output so I can directly use it with my high-resolution LCD. The setup was quite easy. The machine boots from an external SD card. All I did was to grab a 4GB SD card, follow the instructions here to flash the default raspbian image onto the card, and insert it to the SD card slot on board. Then I used a micro-USB cable to power it up. I also digged out an old 3.5 inch LCD screen from Dx.com and it works perfectly with Raspi (though the resolution is low, hence it’s not really good for reading, but good for showing 🙂

Standard keyboard and mouse should work well out of box. This version (model B) of Raspi has two built-in USB ports. Of course you can use an USB hub to extend the ports. It doesn’t have a WiFi chip on board but it does have a Ethernet jack. I plugged in a NetGear WNCE2001 WiFi adapter and instantly I have WiFi connection. It also works with a variety of USB WiFi dongles, so it’s really convenient.

One of the biggest selling points of Raspi is of course its price: this model B is just $35 before tax and shipping (keep in mind that even an Arduino board, which has a must simpler microcontroller, would cost almost $30). This is totally impressive, especially considering we have to factor in reseller margins on top of the manufacturing cost. I don’t what’s the profit margin, but perhaps it is consistent with a recent article that discusses how you can’t make money any more on hardware, instead, it’s the software and service that keep consumers to buy in.

Anyways, I am glad I finally got one. There is a lot of stuff I am excited to experiment with using Raspi, and I am sure I will come up with some itneresting project ideas along the way. A thumb up for Raspi!

About two weeks ago we started shipping out OpenSprinkler v1.4, and I figured it is now time to write a short post to announce it. What are the new updates in v1.4?

• DS1307 RTC
The main update is that the external EEPROM (24LC128) is replaced by a DS1307 Real-Time Clock (RTC). I am aware that RTC has been requested since the beginning of OpenSprinkler, and I apologize for taking so long to add it. There are multiple reasons: the limited PCB space, the cost of DS1307, and the fact that NTP sync is often good enough. The limited PCB space is probably the biggest reason. Fortunately since the latest interval program does not use external EEPROM any more (i.e. everything is stored in internal EEPROM), there is now space to add RTC. The software has also been updated to support DS1307. Specifically, if RTC is enabled in options, the controller will not rely on NTP to get time any more. In addition, there is an on-board button cell battery which will keep the time running even when power is lost.

If you own a previous version of OpenSprinkler which does not have built-in DS1307, you can easily add an external RTC module, available in Rayshobby shop. Our module comes with a built-in rechargeable battery, pin headers, and jumper wires for easy connection to your OpenSprinkler board. Follow this link for instructions on how to connect. These modules are also available on eBay, or Adafruit, or SparkFun, but they are usually pricier and without jumper wires.

• Screw Terminals
As you may have noticed from the pictures, the screw terminals have been upgraded to the two-piece (plug and socket) type, which makes it easier for installing and uninstalling wires. Now when you need to make changes to wires, you can simply take out the plug piece, insert and tighten wires, and plug it back in. There is no need to open the enclosure.

• Pin Changes
The second update is that a few pin assignments been changed to free up analog pins A2 and A3. These pins are precious for connecting to external sensors. Also, digital pin D3 is now wired internally to the rain sensor, so you no longer need to solder a separate wire. As in previous version, if you are not use the RFM12B transceiver, digital pins D2 and D10 are also free to use.


• Surface Mount Version
The last major change is that there is now a surface mount (SMT) variant 1.4s, which uses the same circuit as the through-hole version 1.4u but most components have been changed to surface mount package. This variant is created to improve our productivity of full assembled and tested kits. So from now on, all orders of fully assembled kits will receive the SMT version, while the DIY kits will continue to use the through-hole version.

The images below are close-up views of the SMT version (front and back):

As you can see from the front image, most components are surface mount, except the peripheral components like screw terminals, connectors, buttons, and big capacitors. Two crystals and the button cell battery for RTC are on the back side. The SMT version uses the same software as the through-hole version, but it does have a few differences:

  • It has two extra analog pnis A6 and A7, which are accessible in Arduino programs.
  • The Ethernet connector is changed from SparkFun RJ45 jack to Hanrun 911105A, which is less expensive and more widely available.
  • There is a slide switch on the top-left corner of the PCB. This is used internally by us to switch between programming ATtiny45 and ATmega328. You should keep it in the ‘INT’ position.

Future Plans

To give you a heads-up, version 1.4 is likely to be the last one in this hardware generation, and will also be the last through-hole version. The next version OpenSprinkler 2.0 will be SMT only, and will switch to a completely different microcontroller in order to accommodate new features like better user interface, on-board wifi, logging, and more sensor options. However, the development of 2.0 will likely take more than a year, so it won’t be available until after summer next year (2013). Meanwhile, feel free to send me comments and suggestions on how to improve the OpenSprinkler functionality, and I will consider them for version 2.0!


« Newer Posts - Older Posts »