OpenSprinkler Hardware v1.4 Released

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!


Update and New Products in Rayshobby Shop

The past month has been a bit crazy. I just completed a series of traveling from mid-July to early August. It’s really hard to get work done while traveling. The good news is that I am back now, refreshed and energized to crank out some new projects.

AASaver v1.1 back in stock

The first bit of news is that AASaver v1.1 is now back in stock and available in my hobby shop. If you’ve noticed from my earlier post, version 1.1 improves upon the original version by adding a switch to control the LEDs, so the same board can be used simultaneously as breadboard power supply and LED flashlight. Another update is that both LEDs are moved to the same side so they point to the same direction. The separate LED switch was actually a suggestion made by Michael Castor from MakerShed. So I would like to thank Michael for making this suggestion. The original plan was to sell AASaver in MakerShed. However, due to some of their policy changes, that plan fell through. Nonetheless, AASaver has been quite successful and more than 370 have been sold to date. It got posted on Hack a Day, Adafruit blog, and also got reviewed by Dave Jones on his EEVblog. Anyways, if you have any suggestions for the AASaver, please let me know and I will consider them for the next update.


434MHz RF transmitter/receiver pair

A couple of new products have also become available in my hobby shop. The first is a 434MHz RF transmitter/receiver pair. These are compatible with similar products you can find at SparkFun or other retailers. It’s inexpensive, and is very handy for implementing wireless communication for your microcontroller projects. In addition, I have been using the receiver to reverse engineer wireless power sockets, remotes, and sensors, and using the transmitter to simulate or interface with these devices. Check my blog post here for an example of how to use them. If you are only interested in the RF transmitter, you can get it separately from my shop page.


DS1307 RTC module with built-in battery

This is a DS1307 Real-Time Clock (RTC) module that has built-in 3V rechargeable lithium battery and recharging circuit. Very handy for projects that need offline time keeping. To use this module, connect four pins: Vcc, Gnd, SDA and SCL. Note that Vcc must be connected to +5V: it won’t work with +3.3V. You can find DS1307 Arduino library from the Arduino Playground, and a variety of other websites. The module also comes with an on-board 4KB EEPROM that uses the same I2C interface, a 1×4 pin header, and female-female jumpers for easy connection to your existing projects, such as OpenSprinkler kits that do not have built-in DS1307. Highly recommended!


DHT11 Temperature/Humidity Sensor

This DHT11 Sensor is the first product in the Sensors category. It is a low-cost temperature and humidity sensor that requires only one digital I/O pin to read both temperature and humidity values. Very handy as an add-on sensor to OpenSprinkler. The operating voltage is 3-5V, and measurement range is 20%-80% humidity (5% accuracy), 0°-50°C temperature (±2°C accuracy). You can find the product datasheet, an Arduino tutorial by Adafruit, and an Arduino library from the product link above. Note that Adafruit’s library does not work with 8MHz Arduino, which is what OpenSprinkler is running at. So i recommend the library at the third link on the products page.


USB-to-Serial (TTL) Converter

This product has been mentioned in an earlier post, but I just want to bring it up again since it has been very popular. It is an integrated USB-to-Serial converter based on Prolific PL2303HX chip. ‘Integrated’ means the circuit is in the USB connector itself, so it’s quite compact. This inexpensive converter is very handy for debugging and creating serial communication. To use it you usually only need to connect three pins: Gnd (black wire), TX (green wire), and RX (white wire). Keep in mind that TX should be connected to the RXD pin of your microcontroller and vice versa for RX. No driver is necessary under Linux. For Windows and Mac, follow the product link to download driver. Once installed, The device will report as a Serial COM port. You can then use Arduino’s serial monitor, putty, gtkterm, or any of your favorite serial monitor to talk to it.


So much for the product update. There will be a few follow-up posts about the update of OpenSprinkler and SquareWear. These are more major updates that I have to talk about in separate posts 🙂