Introducing the Zigduino r2

Along with the New Year comes a new version of the Zigduino! It's based on a number of comments and feature requests we've gotten from users. We've made the Zigduino significantly more useful for many of the applications they're talking to us about. We endeavoured to retain full backward compatibility for most applications. Here's the most significant changes:


  • FTDI FT231X USB to serial interface
  • D0/D1 connected to UART1; UART0 remains connected to the USB interface
  • All extra I/O brought out to a 2mm pitch auxiliary header
  • Arduino Uno R3 header pattern


  • Added LiPo battery connector
  • Added LiPo battery charging circuit
  • Added battery monitoring circuit
  • The USB interface powered by USB bus; unpowered when USB is not connected


  • Arduino Uno R3 board layout
  • Reset switch relocated to the side of the board, between the power jack and the power header


  • The external antenna replaced with an on-board antenna
  • Added a footprint for an MMCX connector, allowing installation of an external antenna for greater range.


  • Added footprint for clock crystal & loading capacitors

Taken together, these changes make the Zigduino a more capable platform for remote sensor nodes, remote controls, and similar applications. We look forward to seeing a host of new Zigduino applications that use these new features to their fullest.

All of the boards and connectors are now in hand -- right now, we're working on getting them all packed and programmed so we can offer them for sale by the end of January. In the meantime, we are now out of the r1 version and we do not anticipate making any more. There are still a few with our distributors, including SeeedStudio and Snootlabs.

Meet Snootlab, our new distributor and supplier

At the World Maker Faire this past September, I had the privilege of meeting several representatives from a new open-source hardware vendor from France, Snootlab. They have a very interesting range of shields and other boards, soon to include the Zigduino. We now carry four of what I think are their most interesting and unique boards. 


The Rotoshield is a motor drive shield that uses the L293 to control up to four brush DC motors or two stepper motors. There are lots of shields on the market that fit this description, but the Rotoshield has some special sauce in the form of a MAX7313 I2C port expander. This allows it to use only four PWM outputs and the I2C bus for control. It also gives the shield eight additional 50 mA PWM outputs for controlling LEDs and the like. These lines are also available to use as GPIO. All of this is handled by Snootlab's Arduino library for the shield, snootor.

The board can be powered off a standard ATX hard drive power connector, which is a nice convenience for many projects. 

While we haven't had these shields in house long enough for me to try this, I suspect you can drive the PWM inputs of the motor drivers with the PWM outputs of the MAX7313... giving you a motor shield that you can run off a single I2C bus. That puts the Rotoshield head and shoulders above other Arduino motor shields on the market.

I2C PWM Driver

This board packages a MAX7313 and support circuitry in an extremely convenient package for driving LEDs and similar loads. Each of the sixteen channels can sink up to 50 mA of current. It also fully breaks out the address selection jumpers of the chip allowing you to select up to 64 different addresses. That means you can put 64 of these on a single I2C bus for 1024 PWM channels. Each pin can also be used for GPIO.

Since it's a sink driver, you can combine it with our high side sixteen channel driver shield to drive large arrays of LEDs at remarkably low cost. For less than a hundred bucks, you can drive 256 individually addressable and dimmable RGB LEDs.


The Memoire shield is an SD card logging shield with a battery-backed real time clock for accurate time-keeping. It has a substantial prototyping area that makes wiring up the rest of your sensors straightforward. Like the prototyping areas on other Snootlab shields, this one uses square pads to make jumpering between adjacent circuits easier.


Power Screw Shield

The Power Screw Shield is a prototyping shield with a couple of useful twists. First, all the signals are pulled out to screw terminals at the side of the board. This makes wiring up a larger project infinitely faster and easier. Second, like the Rotoshield, it has an ATX hard drive power connector for supplying power to both the shield and the host Arduino. A mini-breadboard also fits nicely inside if desired.

Production update and Zigduino plans

Production Status

All of the pieces for production have come together nicely; we expect to have the first run done and ready to ship this Friday. We'll open the store when they're ready to ship. Contact us or subscribe to our RSS feed in order to receive notice as soon as they are ready. There is one unfortunate caveat, however: we have not worked the kinks out of our RoHS-compliant process yet. Therefore, we will not be able to ship boards from this first run to customers in the European Union. 

Zigduino Product Plans

I'm as excited as everyone else in the larger Arduino community about the introduction of the new Arduino Uno. The shield interface has remained compatible, so I can continue to production with the 16 channel high side shield; it will work with all existing shield compatible Arduino variants.

The first production Zigduinos will use the old FTDI chip rather than the new ATmega8U2. Changing that up at this point would consume another couple of months and interfere with testing of the 802.15.4 radio and the software. I'd like to get them out on the market ASAP; updating the USB interface can wait a little longer.

Zigduino Software

The Arduino core libraries and IDE are substantially ported. However, sufficiently large changes to the IDE were required that I will be hosting a Zigduino-only port of the Arduino package. This is because of two substantial changes in addition to the library porting:

  1. Use of WinAVR-20100110 instead of WinAVR-20081205 for back-end compilation. Non-Windows platforms (to come later) will require a similar update to gcc and libc. This is because the version that ships with the standard Arduino package (as of 0019; I have not inspected 0020 yet) is too old to support the ATmega128RFA1 and therefore cannot compile to the right target.
  2. Application of uracoli's patch to, enabling the Arduino IDE to compile against pre-compiled libraries. This is because the RF libraries provided by Atmel are provided in pre-compiled form, i.e. as *.a files. They are not, in general, open source. However, that should not affect the open source hardware status of the Zigduino because these libraries implement well-designed public standards. 

In order to get the Zigduino into the hands of users ASAP, I plan to release it with a ported Arduino package and direct end users to one of the existing available RF libraries. There are two options that I know of right now. First, the uracoli project is developing a completely open source 802.15.4 MAC. This will not provide ZigBee support, but it will provide networking for up to thirty compatible devices.

Users who want to interface with ZigBee devices or who want to try out one of the other protocols built on top of 802.15.4 will need to download one of Atmel's free design software packages which includes the libraries for 6LoWPAN, ZigBeePro, Route Under MAC, and RF4Control, as well as several proprietary Atmel toolkits. While I don't think this is entirely ideal, it does allow me to get to market much, much sooner and with much better firmware.


Product Announcements

I'm happy to announce our first three products. I'm currently working on opening a web store and locating distributors to sell them as well. Without further ado, here they are, with prototype images:

1X3 Hex 5A High Side Switch

This is the first product in our 1X3 line. The 1X3 line is a common form factor that will encompass a broad range of input and output boards. Due to the common form factor, they can use a common line of single and multi-board enclosures. The first board in this line carries six high-current, high-side switches capable of handling 5A at 30VDC each. Each switch has a  A shift register controls the switches off of only four digital lines. In addition, the overflow of the shift register comes out on the connector, allowing the user to daisy chain as many as fifty of these boards for a total of 300 channels. 

16 Channel 5A High Side Arduino Shield

This Arduino shield carries the same type of switches as the hex switch board, and like that board, uses a shift register interface. The shield carries and expansion connector with a pinout that matches the hex switch. Therefore, you can mix and match them on a single daisy chain cable. Up to twenty-five of these boards can be daisy chained together, giving a total of 400 channels off only four Arduino pins. The board is shipped with the Arduino and expansion connectors provided but not installed. This allows the user to install the connectors as required for their particular application.


1X3 Bridge Amplifier

Wheatstone bridge circuits are used with a wide variety of different types of sensors, including millivolt pressure transducers, load cells, strain gauges, and RTDs. Since the output is proportional to the excitation voltage, a precisely regulated voltage is required. This board provides both precision excitation and amplification. The user can select one of four different exciation voltages (1.24V, 2.5V, 5V, and 10V) via solder jumper.

The power supply circuitry generates internal supply voltages that permit a bipolar ±10V output off a single-ended input voltage between 6VDC and 30 VDC. The gain is programmed by a single resistor. The board is shipped with no gain resistor installed so that the user can solder in the appropriate gain resistor for their particular application. The board ships with two gain resistors sized for load cells and pressure transducers with outputs of 2 mV/V or 3 mV/V.

Coming next, pictures of the test jigs for all of these boards.