Kit review – nootropic design Digit Shield

Hello readers

Time once again to examine another kit. This week we have the nootropic design Digit Shield for Arduino Uno/Duemilanove and compatible boards. Although a finger can be called a digit this shield is not some sort of biotechnological experiment – instead it gives us four seven-segment LED displays to show various forms of numerical data from our Arduino sketches.

Although many people may be tempted to use a standard LCD unit, there are a few advantages to using an LED display – such as digit size, enhanced readability in daylight, and LED displays are generally much more robust than LCDs. Therefore there should be many uses for the Digit Shield. Furthermore, the people at nootropic design have been awesome as they support the Open Hardware Definition 1.0, and the Digit Shield design files have been made available under Creative Commons attribution-share alike.

First let’s run through construction, then operation with some demonstrations. The kit arrives in a nice reusable bag with a pointer to the online instructions:


Kit construction was relatively simple thanks to the excellent instructions by nootropic design. All the parts required for completion are included, except for IC sockets:


My demonstration kit included green LED displays, however it is also available in red-orange, depending on the retail outlet you choose. Once again the PCB is well laid out, with a good solder mask and a nicely labelled silk screen on top:


Now to start soldering. The process is nothing out of the ordinary, and should take around half an hour at the most. First in are the resistors:


Notice how the current-limiting resistors for the LED segments will be under the LED displays. So now we solder in the LED modules and create a resistor jail:


Now for the shift register and BCD to decimal ICs. I found inserting them a little tricky due to my large hands and the LED display already being in place, so it would be easier to fit the ICs before the LED modules:


This leaves us with the transistors, capacitors, header sockets and the reset button:


After soldering the reset button, you may need trim down the solder and legs (as shown below) otherwise there is a possibility they will rub the DC input socket on the Arduino board:

Finally the shield pins are fitted and the shield is ready:


The next task is to download and install the Digit Shield’s Arduino library. The latest version can be found here. Extract the folder into your

folder, then restart the Arduino IDE software.  A quick test of the shield can be accomplished with the SimpleCounter sketch available from the inbuilt examples. To find this, select File>Examples>DigitShield>SimpleCounter in the Arduino IDE, and upload the sketch. Hold onto the desk as you watch some numbers increment:

Using the shield in your own sketch is quite simple. Instead of reinventing the wheel there is an excellent explanation of the various functions available on the lower section of this page. A very useful feature is when the shield cannot display a number – it shows all four decimal points instead. The only slight criticism that comes to mind is the inability to directly display hexadecimal digits A~F, as the LED units lend themselves nicely to doing so; or the option of controlling each LED segment individually with a simple function. So let’s see if that is possible…

One of the joys of open hardware is the fact we can get the schematic, see how it works and attempt to solve such dilemmas ourselves. For those without software that can read Cadsoft EAGLE files, here is the schematic in .pdf format. The section we need to see is how the LED segments are driven. Look for the 74HC595 and 74LS247 ICs. Serial data is shifted out from the Arduino digital pins to the 74HC595 shift register. (For more information about how 74HC595s work with Arduino please visit this tutorial).

Outputs A~D (Q0~Q3) represent binary-coded decimal output and the outputs E~H (Q4~Q7) control the transistors which select the current digit to use. The BCD output is fed to the 74LS247 BCD to seven-segment drive IC. Although this is a very useful IC, it can only display the decimal digits and a few odd characters (see page two of the data sheet.pdf). So this leaves us unable to modify our sketches or the shield library to solve our problem. Such is life!

Perhaps the people at nootropic design can consider a change in the hardware for the next version to incorporate such requirements. However there are several projects available in the Digit Shield’s website that may be of interest, including a way to daisy-chain more than one shield at a time.

Nevertheless the Digit Shield is a simple kit that makes displaying Arduino-generated numerical data simple and clear. Furthermore lovers of blinking LEDs will have a ball. For further questions about the Digit Shield contact nootropic design or perhaps post on their forum.

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, follow me on twitter or facebook, or join our Google Group for further discussion.

High resolution images are available on flickr.

[Note – The kit was purchased by myself personally and reviewed without notifying the manufacturer or retailer]

The following two tabs change content below.

John Boxall

Person. Founder and original author for VK3FJBX

13 thoughts on “Kit review – nootropic design Digit Shield

  1. Michael Krumpus

    I completely agree that it would be great to display hex digits A-F. The limitation of the LED display driver 74LS247 chip is annoying, and I really tried to find an inexpensive driver that would display the hex digits instead of the goofy ones, but I’m not aware of such a driver. One of my design decisions was to use as few Arduino pins as possible, so that’s why I used a display driver chip in the first place.

    1. John Boxall

      Hi Michael, thanks for your reply.
      Hope I didn’t sound too harsh! 🙂 But I can understand your design decision, the less pins the better.
      Either way, nice work and thanks for producing a great line of kits. Looking forward to seeing what you come up with next.

    1. Michael Krumpus

      True, Sparkfun has a nicely priced device. Many developers don’t want to mess with the complexity of SPI — just look how much code is involved. I actually made the Digit Shield for myself because I wanted to just say setValue(123) to display “123”. Also, the Sparkfun devices are a constant source of frustration in the Arduino forums, etc. But your are certainly correct on price.

      1. John Boxall

        Have to agree with you about the sparkfun board. I have one of those and it is … not the best to work with. Even Sparkfun couldn’t manage to support it properly. At the end of the day Michael has solved a problem very nicely, and decided to share the solution with the world. 🙂

      2. Jeff

        Michael, I don’t have the Sparkfun board, but I understand you can you UART serial if you don’t want to mess with SPI. I do agree with you that Sparkfun engineering is sloppy. I once used one of their boards and the published schematic didn’t match the physical board, and the firmware didn’t match either! I had to reverse engineer the whole thing.

  2. Robert Baruch

    The DM9368 chip from National Semiconductor is pin-for-pin compatible with the 74247, and does hexadecimal decode. So you could just throw away the ‘247 and stick a DM9368 in.

      1. Robert Baruch

        One final alternative: the MC14495 hex-to-7seg is CMOS (but will run on 5 volts). Not pin-compatible, but you can always fiddle with the wiring to route the pins correctly.

  3. Dave

    Hi John;
    Don’t underestimate the benefits of the library supporting multiple shields – I’ve used (three of) these to build a 3-axis DRO (digital read-out) for a lathe/mill for under $100 – a fraction of the cost of commercial items!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.