lol shield basic test not working?

I helped my daughter solder this (LOL shield) as her first project. I downloaded the library, opened example uploaded to the board and.....got nothing! Got basics blink example to work to make sure its not the arduino.

Any help on where to start troubleshooting? I am baffled, searched the website and sent an email to the designer and some program contributors asking for help. All website make it look like a simple plug and play.

I touched led 13 blink to leds directly on back of board and got either direct led light or "other" combinations (Rev.polarity). Would love to get this to do something. Could she have cooked the board too much? Thanks for any help or links to troubleshooting.

Thanks, Rich Morgan http://gsjsrobotics.wordpress.com/

Not enough info provided. Power/ground shorted? Control lines working when plugged (can the lines drive an LED/resistor when wired in parallal? Got pictures showing workmanship?

Not enough info, agreed. I got a Nanode kit and fried it during the build process because I had the wrong soider. I had to order a pre-built one to compare functionality to make sure it was fried. It's all about following the directions exactly, having clean soider points, and applying the soider quickly so that the soidering iron does not lay on the components too long. Hope that helps.

Before you do anything else, if testing "stand alone" make sure you use a resistor in series (say, 220 ohms or more), The LOL board doesn't have resistors, so if you just "test" with 5V signals, you may be burning them out one by one.

I have an LOL shield. It is a multiplexed display without resistors, relying upon brief pulsing of each diode to not overheat it, so you shouldn’t just try testing the diodes without a current limiting resistor.

For testing purposes you should really look at the circuit and work out what should light up for a given combination of inputs. To get you started, with mine if I connect Gnd (on my Arduino) with a short cable to the D4 pin, and +5V - in series with a 470 ohm resistor to the D3 pin, then two columns of LEDs light up. Counting from the right, columns 3 and 6.

If I shift the wire at D3 to D2 then column 1 lights up instead of column 3.

Then try swapping the pins over. For example, if I swap the first test (D3/D4) so that the Gnd/5V are reversed two different columns light up.

This is totally expected from the design.

It’s pretty unlikely your daughter has destroyed or miswired every LED, so it is really a case of working out what is happening. For none to light up at all something basic is wrong. In fact, if your testing lights up some LEDs, then that shows that the hardware is not totally wrong.

Thank you Nick for you help.
The results of my tests are below. Note I only had time to test first 5 pins. I think the problem is in the sketch and I will post this as a separate topic. I am glad to get some of the LEDs to light with the test.

Could the Basic Test not be recognizing the library? I notice some examples have highlighted library.h. How does one get the library to be highlighted?

for example:
#include <avr/pgmspace.h> //AVR library for writing to ROM
#include <Charliplexing.h> //Imports the library, which needs to be
//Initialized in setup.
Should it be:
#include <avr/pgmspace.h> //AVR library for writing to ROM
#include <Charliplexing.h> //Imports the library, which needs to be
//Initialized in setup.

Gnd on 2: 5v on 3 center of 1 and columns 2,3 light up
Gnd on 2: 5v on 4 center of 1 and columns 2,6 light up (#4 is out on both)
Gnd on 2: 5v on 5 Bright (1,1)
Gnd on 2: 5v on 6 Bright (1,2)
… on 13 Bright (1,9)
Gnd on 3: 5v on 2 center of 1 and columns 1,4 light up (#5, #6 is out on both)
Gnd on 3: 5v on 4 center of 1 and columns 4,5 light up (#4, #6 is out on both)
Gnd on 3: 5v on 5 Bright (1,1)
note on Gnd 3, 10 column 4 and horz 6 from the right?
… on 13 Bright (1,9)
Gnd on 4: 5v on 2 column 1, 6
Gnd on 4: 5v on 3 column 3, 6
Gnd on 4: 5v on 5 Bright (6, 1)
… on 13 col 6 and horz row (6-13,9)
Gnd on 5: 5v on 2 bright (1,1)
Gnd on 5: 5v on 3 bright (3,1)
Gnd on 5: 5v on 4 bright (5,1)
Gnd on 5: 5v on 6 bright (13,2)
… Gnd on 5: 5v on 13 bright (13,9)

See my other post for test results on LOL shield so board is not totally fried! Could the Basic Test not be recognizing the library?
#include <avr/pgmspace.h> //AVR library for writing to ROM
#include <Charliplexing.h> //Imports the library, which needs to be
//Initialized in setup.
I notice some examples have highlighted library.h. How does one get the library to be highlighted? also other examples have

#include “avr/pgmspace.h” //AVR library for writing to ROM
#include “Charliplexing.h” //Imports the library, which needs to be
//Initialized in setup.
Should it be?:
#include <avr/pgmspace.h> //AVR library for writing to ROM
#include <Charliplexing.h> //Imports the library, which needs to be
//Initialized in setup.
I uploaded example Matrix/Hello_matrix with #include <Sprite.h>
#include <Matrix.h> and got one light to work! Please help. Can’t get my LOL shield to light any lights from my Arduino 2560. Might try to power it off of wall wart instead of usb to see if that helps.

Personally I prefer follow-up questions to stay in the same thread to avoid fragmentation. :slight_smile:

The highlighting is purely syntax colouring by the IDE. If it compiles without errors, that is the test. Not what colour the words are in.

Can’t get my LOL shield to light any lights from my Arduino 2560.

Ah, you have a Mega 2560. I didn’t guess that.

I confirm the sketch doesn’t work on the Mega. One major reason is that there are a few defines in Charliplexing.h which do not allow for it, eg.

#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined(__AVR_ATmega1280__)

I added the extra processor to the five or so places I saw that, with some mild success:

#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined (__AVR_ATmega2560__)

Now a few LEDs light up intermittently. Clearly more work is needed.

I’m not sure of the exact differences between the 1280 and the 2560, it looks like it might be something to do with timers or interrupts. However you can rest a bit easier, as my (working) LED shield didn’t work with the sketch as downloaded on the Mega.

You could try contacting the author, he may have developed the necessary changes already.

The plot thickens. A bit of searching turned up this video:

http://www.youtube.com/watch?v=wMUwKhKmHY8

He found the LOL shield also didn't work on the Mega 1280 - in fact what he got is very similar to what I got after I made the above changes. So it looks like the Mega code wasn't thoroughly tested anyway.

To fix this it's going to be back to basics about what the #define'd code does, that it does incorrectly, on the 1280 and 2560.

#include <avr/pgmspace.h> //AVR library for writing to ROM

sp. “AVR library for reading from ROM”

The OP made another thread about the same issue (unfortunately because people are still replying to this one).

http://arduino.cc/forum/index.php/topic,76739.0.html

The problem is that he later revealed he has a Mega2560 and the Charliplexing library does not work with that processor. The defines inside the file do not even allow for it.

Thanks Nick! At least I feel better about our project. I was at a total loss and spent 2 days, trying to figure out our problem. Looks like I will purchase an Uno or other arduino for my daughter to help her learn the system. If I find out more I will "Stick with one of the threads and post a reply' New to forums and pleasantly surprised with the support. Thanks to all that posted for your support. Rich Morgan

Note link above not available?

PS contacting Sparkfun, Adafruit and other with this.... Mega thing

Looks like a moderator merged the threads into this one.

Yes I would contact them - at least they could put a disclaimer on their page that the current software doesn’t support it. Or maybe push the developer to update his library.

You are probably better off with a Uno for your daughter. Due to price (and simplicity) I get the impression that the Uno (and similar) are the most popular models, and thus various example sketches are more likely to work unmodified.

I ran into the same problem with the LolShield with my MEGA2560.

The problem is mainly due to differences in the way the GPIO ports on the microcontroller are mapped to the IO pins on the Arduino boards on the MEGA1280/2560.

I modified the code in the 0.2 beta release of the LolShield library to add experimental support for the MEGA2560 (and hopefully the MEGA1280) board. Its working well on my MEGA2560!

You can find details and get the modifications in the issue report on the google code site: http://code.google.com/p/lolshield/issues/detail?id=16

Hope that helps.

I got my Arduino Mega ADK and Lol shield today but was very disappointed to see that it did not work at all (with v0.23 of the library).

After some fiddling, I was able to get the "lol_shield test v1.pde" to work for my board. I am attaching the modified code (worked on Mega2560 and Arduino IDE v1.0). Hopefully, others in my situation will at least be able to test their shield LEDs and make them blink :)

Please find attachment at http://code.google.com/p/lolshield/issues/detail?id=16 ("Lol_shield_test.zip")

I also refactored it and added some comments to make it more readable. Hopefully it will make sense to everyone and you can have fun tweaking it.