Wednesday, August 8, 2012

Seeeduino Stalker Waterproof Solar kit review

I had a little extra scratch recently, so I decided to geek out on some new toys without  a specific purpose in mind. One of the nuggets I picked up was the Seeeduino Stalker waterproof solar kit. From Seeed Studios in Shenzhen, China.



At the time of writing the kits go for $59.50 US, which, as you'll see in minute, is a pretty good deal, for what you get. I live in North Carolina, and the free shipping via Hong Kong post/registered airmail took about two weeks, give or take a day or two. As an aside, it boggles my mind that I can get something shipped out of Shenzhen *for free*, (my package was several pounds too), and I order something that ships out of a neighboring state and get socked with a $10 shipping fee.

I'm going to take a stab at doing a proper review for the kit, maybe it will inspire me to figure out what to actually do with the thing.


What's included: (disclaimer, check Seeed for official specs, I'm known to make typos ;) )

  • A Seeeduino Stalker, Seeed Studio's Atmega 328 based Arduino derivative. 
  • Lithium Ion battery
  • Solar panel
  • Waterproof enclosure
  • 2 Gig micro SD card.
  • lithium coin battery
  • USB cable
  • Ribbon programming cable
  • "USBee" usb serial "XBee" / programming board.

What's *not* included:

  • Wireless module
I had to add that, because I mistakenly thought that the Stalker had wireless capability included. It does not. Still, if you add up the price of all the kit components  individuality, it would be significantly more that what the kit costs. Seeed's website does not say wireless is included, but the description starts off with ..."is a feature rich Arduino compatible Wireless Sensor Network node"... which I think somehow planted the idea in my head that wireless capability was included. If you look closer at the description of the components, you see that it does not. It does, however, come with an "XBee" form factor socket on the main board that can be used to interface with XBee conforming devices. [Note to self: read things a little more thorough before spending disposable income]

The hardware


Seeeduino Stalker 2.2


The name of the board sounds like it's intended for some nefarious purpose, "The Stalker" (restraining order not included). Despite all the AVR work I've done over the past few years, and making my own Arduino, this is the first pre-made Arduino-like board I've bought. The list of features on the board is actually pretty impressive. The biggest thing missing compared to a mainstream true Arduino is built-in USB connectivity. That's a non-issue for this kit, since the "USBee" device takes care of that, it's something to be aware of. I actually prefer keeping the USB functionality separate. FTDI UBS chips are awesome, but expensive, I'd rather have the FTDI chip in something that's reusable for multiple projects, instead of fixed to the board.


Here's a mugshot close-up of the Stalker:
This is how the 2.2 Stalker ships, with the exception of the outer set of female
headers I added on the XBEE port that give you a "breakout" to the XBEE pins.


Let's see if I can go through the list of board features without making this review a mile long or a two-parter.

XBEE port:


This is where for some stupid reason, I thought the board/kit had wireless capability already. Seeed sells several variants of Digi XBee modules for "ZigBee" and/or IEEE 802.15.5 wireless communications. Seeed also sells other wireless daughter boards that are pin compatible (electrically at least) with XBee sockets, including Wifi and Bluetooth. I ended up purchasing after the fact a few Digi ZigBee modules from another site. If your new to wireless embedded, like me, the Digi modules seem to be the way to go, most of the "heavy lifting" is handled be the board, and you can just communicate with simple serial IO. I got a couple of 1Watt ZigBees and a 63Watt or the PC side.

Read the schematics on Seeed's site carefully. Some of the XBee pins are only available by the breakout headers. I needed access to the CTS/RTS lines to do a hacked hardware flow control on the ZigBee, and that's why I soldered on the headers. On the other hand, not connecting them to specific pins allows more flexibility. I think the only lines wired to the AVR are the RX/TX, and two optional lines descibed below.

There are a few other little niceties thrown in. Next to the XBEE socket was a "RSSI" LED that ZigBee's will illuminate to indicate received signal strength. Also, you can configure a pair of ZigBees to just emulate a serial connection, in this setup, the "DTR" line is connected to the reset line of the AVR, the Arduino IDE uses DTR to reset the chip for uploading software, so this lets you reprogram the Arduino remotely. Also, you can solder a jumper that connects allows an AVR pin to control power to the XBEE module, so that you can completely turn off wireless under software control.

Power System:


The board has ports for a solar panel, and a 3.7V Lithium-Ion 1000 mAh battery. Onboard is a "CN3063" battery charging chip. The kit comes with a 0.5W, 5V solar panel. In my tests, moderate sunlight was enough to power the board without the battery enough at least to power the Arduino bootloaded. In later tests with my ZigBoard attached, I could operated and receive transmission without the battery attached in strong sunlight. Also, the 5V line that comes from an attached USBee module will charge the battery if your indoors, at night with your kids sleeping(you just feel a little uncomfortable with a "Stalker" around) . The charge chip and battery voltage lines are connected to analog ADC lines on the AVR, so you can measure voltage or charge status in code.
There are two LED's related to battery charging, a red LED when charging or on external/solar power, and a green one to indicate a full battery.

I wrote a test sketch where I polled, every 10 seconds, the time, temperature, charge and battery state, wrote that to a CSV on the SD, and sent the data over serial to the attached ZigBee. No sleep states were used on board, and the ZigBee slept for 4 seconds out of every 10 seconds interval. From a full battery, I was able to run for 4.5 days with the solar panel face down before it ran out of juice. Nice!

Time/Temperature Sensor:


There is a "DS3231" RTC/Temp sensor on board. It's connected to the I2C lines of the AVR chip. The Seeed website has links to Arduino sketches that can read data from the board. I can say after hand developing bit-banged I2C communications, this was the easiest inter-chip communications I've ever done. There is an attached CR2032 coin-cell socket that holds the RTC time when there is no other power. When I was soldering on the XBEE headers, I inadvertently broke the solder joint on the coin cell socket, trying to remove the battery. I very carefully re-soldered the connection, but I was certain I would melt the plastic socket.



MicroSD card socket:


The micro SD card socket is connected to the SPI lines on the AVR. The Seeed referenced "FAT16" library  had to be modified (for a newer Arduino IDE) a little. One thing to note, the FAT16 library requires a "FAT16" file system on the SD card. Windows is notorious for giving users little control over SD card partitions, and I read that you should not format the SD card on a Windows machine, or at least don't use the regular Windows format procedure. The CS line for the is connected to Arduino pin13, which is also connected to user LED on board, so if you want to use both you have to take care.

The Professor and Mary Ann:


Whew, this is  already longer than I thought. I'll make the full kit-review a two part port, so much for brevity.
The other features of the Stalker board are:

  • ISP header (populated), you can bypass the whole Arduino thing and reclaim that precious bootloader space. I plan to do this eventually, AVR Studio 5 is a really nice IDE, and I'm more comfortable with "raw" C/C++.
  • "Serial" header (populated), this is where you can connect the USBee's serial cable. It could also be used to supply an external power supply, or your own UART connection. The serial lines are electrically connected to the XBEE port, so form what I understand, you cannot communicate with this port and the XBEE at the same time.
  • I2C port (unpopulated) convenient way to communicate with external devices.
  • "Grove" port (unpopulated). Grove is Seeed Studio's own peripheral system.
  • CPU and XBEE reset buttons. 
  • Mounting holes.
--P

2 comments:

  1. Hello,

    I really need some help setting up my seeeduino stalker. Can you help me? I am willing to pay.

    Stephen@pasturedwithpride.com

    ReplyDelete
  2. (Blogger doesn't hit me over the head hard enough on comment notifications)
    Sorry for the 1.5 month delay on responding. I hope you have it set up by now. I wouldn't have been able to do much better than what you can find on the Internet. Have you checked Seeed's forums?

    ReplyDelete

I welcome you're thoughts. Keep it classy, think of the children.