Categorized | arduino, kit review, notropics

Kit review – nootropics design EZ-Expander Shield

Hello readers

Today we are going introduce an inexpensive yet useful kit for Arduino people out there – the nootropic design EZ-Expander shield. As the name would suggest, this is an Arduino shield kit that you can easily construct yourself. The purpose of the shield is to give you an extra 16 digital outputs using only three existing digital pins. This is done by using two 74HC595 shift registers – whose latch, clock and data lines are running off digital pins 8, 12 and 13 respectively. For more information about the 74HC595 and Arduino, read my tutorial here, or perhaps download the data sheet.

Before moving forward I would like to note that the kit hardware is licensed under Creative Commons by-sa v3.0, and the design files are available on the nootropic design website; the software (Arduino library) is licensed under the CC-GNU LGPL. Nice one.

However, there is a library written instead to make using the new outputs easier. More on that later… now let’s build it and see how the EZ-Expander performs. Packaing is simple and effective, like most good kits these days – less is more:

packagingss

Everything you need and nothing you do not. The design and assembly instructions can be found by visiting the URL as noted on the label. The parts are simple and of good quality:

partsss4

The PCB is great, a nice colour, solder-masked and silk-screened very well. And IC sockets – excellent. There has been some discussion lately on whether or not kit producers should include IC sockets, I for one appreciate it. However, what I did not appreciate was having to chop up the long header socket to make a six- and eight-pin socket, as such:

cuttingss

Why the producers did not include real 6 and 8 pin sockets is beyond me. I’m not a fan of chopping things up, but my opinion is subjective. However there are a few extra pin-widths for a margin of error, so life goes on. The instructions on the nootropic design website were well illustrated, however the design is that simple you can determine it from the PCB. First, in with the capacitors for power smoothing:

capsss

Then solder in those lovely IC sockets and the header sockets:

socketsinss

Then time for the shield pins themselves. As usual, the easiest way is to insert the pins into another socket, then drop the new shield on top and solder away:

liningupss

Finally, insert the shift registers, and you’re done:

finishedss6

The shield is designed to still allow access to the digital pins zero to seven, and the analogue pins. Here is a top-down view of the shield in use:

topdownfinishedss

From a software perspective, download the library from here and install it into your arduino-00xx\libraries folder. Then it is simple to make use of the new outputs (20 to 35) on the shield, just include the library in your sketch as such:

then create an EZexpander object:

with which you can control the outputs with. For example,

sets the new output pin number 20 high. You can also buffer the pin mode requests, and send the lot out at once. For example, if you wanted pins 21, 22 and 23 to be HIGH at once, you would execute the following:

What happened is that you set the pin status up in advance, then sent all the commands out at once using the expander.doShiftOut(); function. The maximum amount of current you can source from each new output according to the designers is theoretically six milliamps, which is odd as the 74HC595 data sheet claims that 25 milliamps is possible. In the following demonstration I sourced 10 milliamps per LED, and everything was fine. Here is the sketch for your reference:

And the demonstration in action:

Overall, this is an inexpensive and simple way to gain more outputs on an Arduino Duemilanove/Uno or 100% compatible board. Also good for those who are looking for a kit for basic soldering practice that has a real use afterwards. High resolution images are available on flickr.

As always, thank you for reading and I look forward to your comments and so on. Furthermore, don’t be shy in pointing out errors or places that could use improvement. Please subscribe using one of the methods at the top-right of this web page to receive updates on new posts. Or join our Google Group.

The following two tabs change content below.

John Boxall

Founder, owner and managing editor of tronixstuff.com.

4 Responses to “Kit review – nootropics design EZ-Expander Shield”

  1. HJ Denmark says:

    Hi.
    This shield looks great. I equipt a vero-board with 2 595′s to control a 4x4x4 LED cube with only 7 pins from the Arduino. 3 pins to shift out serial data to the 16 LES in one layer and 4 pins to select layer. Multiplexing the ‘image’.

    Nice project idea :)

    This is a very nice blog you got going. Keep up the good work. Very instructive.

  2. Sean Lanigan says:

    Using the provided software library, it is possible to re-create this without the shield with your own shift regiters.

    However, is it possible to “expand” the EzExpander library to use more than two shift registers? (I was thinking five or six).
    I am trying to make an 8×32 LED matrix, and it would be much easier if all of the “shiftOut” business was taken care of by a library rather than by my code because then my code can address “virtual” pins rather than trying to create a binary number to shift out the the shift registers.

Trackbacks/Pingbacks


Leave a Reply

Receive notifications of new posts by email.

The Arduino Book

Arduino Workshop

Für unsere deutschen Freunde

Dla naszych polskich przyjaciół ...

Australian Electronics!

Buy and support Silicon Chip - Australia's only Electronics Magazine.

Use of our content…

%d bloggers like this: