Tag Archives: shield

Review: Mayhew Labs “Go Between” Arduino Shield

Hello readers

In this article we examine one of those products that are really simple yet can solve some really annoying problems. It is the “Go Between” Arduino shield from Mayhew Labs. What does the GBS do? You use it to solve a common problem that some prolific Arduino users can often face – how do I use two shields that require the same pins?

Using a clever matrix of solder pads, you can change the wiring between the analogue and digital pins. For example, here is the bare shield:

gbsss

Now for an example problem. You have two shields that need access to digital pins 3, 4 and 5 as also analogue pins 4 and 5. We call one shield the “top shield” which will sit above the GBS, and the second shield the “bottom” shield which will sit between the Arduino and the GBS. To solve the problem we will redirect the top shield’s D3~5 to D6~8, and A4~5 to A0~1.

To redirect a pin (for example D3 to D6), we first locate the number along the “top digital pins” horizontal of the matrix (3). Then find the destination “bottom” pin row (6). Finally, bridge that pad on the matrix with solder. Our D3 to D6 conversion is shown with the green dot in the following:

gbsss2

Now for the rest, diverting D4 and D5 to D7 and D8 respectively, as well as analogue pins 4 and 5 to 0 and 1:

gbsss3

The next task is to connect the rest of the non-redirected pins. For example, D13 to D13. We do this by again bridging the matching pads:

gbsss4

Finally the sketch needs to be rewritten to understand that the top shield now uses D6~8 and A0~1. And we’re done!

Try not to use too much solder, as you could accidentally bridge more pads than necessary. And you can always use some solder wick to remove the solder and reuse the shield again (and again…). Now the genius of the shield becomes more apparent.

The only downside to this shield is the PCB design – the days of square corners should be over now:
gbscornersss1

It is a small problem, but one nonetheless. Hopefully this is rectified in the next build run. Otherwise the “Go Between” Shield is a solution to a problem you may have one day, so perhaps keep one tucked away for “just in case”.

While we’re on the subject of Arduino shield pinouts, don’t forget to check out Jon Oxer’s shieldlist.org when researching your next Arduino shield – it is the largest and most comprehensive catalogue of submitted Arduino shields in existence.

[Note – the “Go Between” Shield was purchased by myself personally and reviewed without notifying the manufacturer or retailer]

Have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

Kit Review – Snootlab DeuLigne LCD Arduino Shield

Hello everyone

Another month and time for another kit review 🙂 Once again we have another kit from the team at Snootlab in France – their DeuLigne LCD Arduino shield. Apart from having a two row, sixteen character backlit LCD there is also a five-way joystick (up, down, left, right and enter) which is useful for data entry and so on.

This LCD shield is different to any others I have seen on the market as it uses the I2C bus for interface with the LCD screen – thereby not using any digital pins at all. The interfacing is taken care of by a Microchip MCP23008 8-bit port expander IC, and Snootlab have written a custom LCD library which makes using the LCD very simple. Furthermore the joystick uses the analog input method, using analogue pin zero. But for now, let’s examine construction.

Please note that the kit assembled in this article is a version 1.0, however the shield is now at version 1.1. Construction is very easy, starting with the visual and easy to follow instructions (download). The authors really have made an effort to write simple, easy to follow instructions. The kit arrives as expected, in a reusable anti-static pouch:

As always everything was included, including stacking headers for Arduino. It’s great to see them included, as some other companies that should know better sometimes don’t. (Do you hear me Sparkfun?)

The PCB is solid and fabricated very nicely – the silk screen is very descriptive, and the PCB is 1.7mm thick. The joystick is surface-mounted and already fitted. Here’s the top:

… and the bottom:

Using a Freetronics EtherTen as a reference,  you can see that the DeuLigne PCB is somewhat larger than the standard Arduino shield:

The first components to solder in are the resistors:

… followed by the transistor and MCP23008. Do not use an IC socket, as this will block the LCD from seating properly…

After fitting the capacitor, contrast trimpot, LCD header pins and stacking sockets the next step is to bolt in the LCD with the standoffs:

The plastic bolts can be trimmed easily, and then glued to the nuts to stay tight. Or you can just melt them together with the barrel of your soldering iron 🙂 Finally you can solder in the LCD data pins and the shield is finished:

The only thing that concerned me was the limited space between LCD pins twelve~sixteen and the stacking header sockets. It may be preferable to solder the stacking sockets last to avoid possibly melting them when soldering the LCD. Otherwise everything was simple and construction took just under twenty minutes.

Now to get the shield working. Download and install the DeuLigne Arduino library, and then you can test your shield with the included examples. The LCD contrast can be adjusted with the trimpot between the joystick and the reset button. Note that this shield is fully Open Hardware compliant, and all the design files and so on are available from the ‘download’ tab of the shield product page.

Initialising the LCD requires the following code before void Setup():

Then in void Setup():

Now you can make use of the various LCD functions, including:

Reading the joystick position is easy, the function

returns an integer to pos representing the position. Right = 0, left = 3, up = 1, down = 2, enter = 4. Automatic text scrolling can be turned on and off with:

Creating custom characters isn’t that difficult. Each character consists of eight rows of five pixels. Create your character inside a byte array, such as:

There is an excellent tool to create these bytes here. Then allocate the custom character to a position number (0~7) using:

Then to display the custom character, just use:

And the resulting character filling the display:

Now for an example sketch to put it all together. Using my modified Freetronics board with a DS1307 real-time clock IC, we have a simple clock that can be set by using the shield’s joystick. For a refresher on the clock please read this tutorial. And for the sketch:

As you can see, the last delay statement is for 400 milliseconds. Due to the extra overhead required by using I2C on top of the LCD library, it slows down the refresh rate a little. Moving forward, a demonstration video:


So there you have it. Another useful, fun and interesting Arduino shield kit to build and enjoy. Although it is no secret I like Snootlab products, it is a just sentiment. The quality of the kit is first rate, and the instructions and support exists from the designers. So if you need an LCD shield, consider this one.

For support, visit the Snootlab website and customer forum in French (use Google Translate). However as noted previously the team at Snootlab converse in excellent English and have been easy to contact via email if you have any questions. Snootlab products including the Snootlab DeuLigne are available directly from their website. High-resolution images available on flickr.

So have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

[Disclaimer – the products reviewed in this article are promotional considerations made available by Snootlab]

Kit Review – the LoL Shield

[Update 13/07/2013 – Apprently the kit is in the process of being revised. Watch Sparkfun or Jimmie’s webpage for updates]

Hello readers

Another month, so time for another kit review. In this article we exame the LoL Shield by Jimmie P. Rodgers. So what’s all this about? Simple – the Lol Shield is a shield with nine rows of fourteen 3mm diameter LEDs, and at the time of writing was available in various colours. The shield has many uses, from being another form of hypnotising blinking LEDs, to displaying messages, artwork, data in visual form, or perhaps the basis for a simple computer game. More on that later – first, let’s see how it goes together.

As is becoming the norm lately, the kit arrives in a resealable anti-static bag:

The contents are few in type but huge in number, the PCB:

… at which point you start to think – “Oh, there goes the evening”. And the LEDs confirm it:

You will need 126 LEDs. There was a surplus of seven in my bag, a nice thought by the kit assemblers. There isn’t too much to worry about to start off with, just remember the anodes for the LEDs are on the left-hand side, and start soldering. The greatest of shields starts with a single LED:

However after a while you get into the swing of it:

At this point, one wonders if there is a better way to solder all these in. If you diagonally stagger the LEDs as such:

the legs stay well apart making soldering a little easier:

… however one still needs to take care to keep the LEDs flush with the PCB. I wouldn’t want to do this for a living… Still, many more to solder in:

And – we’re done!

Phew – that’s a lot of LEDs. An inspection of the other side of the PCB to check for shorts in the soldering is a prudent activity during the soldering process. The final step was to now solder in the shield header pins:

And – we’re done! This example took me just over one hour, includind a couple of stretch and breathe breaks. When soldering a large amount, always try to have good ventilation and hopefully a solder fume extractor as well. Furthermore, pause to check your work every now and then, you don’t want to install the lot and find one LED is in the wrong way. To control the 126 LEDs the LoL Shield uses a technique called Charlieplexing. Furthermore, the creator has documented his design process and how this works very well on his website located here.

From a software perspective – there is a library to download and install, it can be found in the downloads section of this site. Don’t forget to use the latest version if you’re using Arduino v1.0 or greater. This will also introduce some demonstration sketches in the File>examples section of the Arduino IDE. The first one to try is basic test, as it fires up every LED. Here is a short video of this example:

Now that we have seen some blinking action, how do we control the shield? As mentioned earlier, you will need the library installed. Now consider the following basic sketch – it shows how we can individually control each LED:

As you can see in the sketch above we need to include the “Charlieplexing” library, and create an instance of LedSign in void setup().  Then each LED can be easily controlled with the function LedSign::Set(x,y,z) – where x is 1~14, y is 1~9 and z is 1 for on, or 0 for off. Here is a short video of the example above in action:

If you want to display animations of some sort – there is a tool to help minimise the work required to create each frame. Consider the example sketch Basic_Test that is included with the LoL Shield library – take note of the large array described before void setup();. This array contains data to describe each frame of the animation in the demonstration sketch. One can create the variables required for each frame by using the spreadsheet found here. Open the spreadsheet (Using OpenOffice.org or Libre Office), then go to the “Test Animation” tab as such:

You can define the frame on the left hand side, and the numbers required for the Arduino sketch are provided on the right. Easy. So for a final example, here is my demonstration animation. You can download the sketch, and the spreadsheet file used to create the variables to insert into the sketch.

However, thanks to an interesting website – there is a much, much easier way to create the animations. Head over to the LoL Shield Theatre web site. There you can graphically create each slide of your animation, then download the Arduino sketch to make it work. You can even test your animations on the screen just for fun. For example, here is something I knocked out in a few minutes – and the matching sketch. And the animation in real life:

So there you have it – another fun and interesting Arduino shield that won’t break the bank. For further questions about the Digit Shield visit the website.

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,  facebook or Google+, or join our Google Group for further discussion. No pre-teen girls were used in this kit review.

High resolution images are available on flickr.

[Note – The kit was ordered by myself and reviewed without notifying the manufacturer]