LOL Shield interfering with Arduino onboard LEDs


I assembled an LOL shield. I tested it with an Arduino Diavolino and it worked perfectly. Since I own an Arduino Uno instead, Id like to get it to run with this one. The problem is that some LOL shield LEDs are switched on while they should be off ("ghosting").

This problem seems to be known:

you also have the option of leaving out parts when you put it together, specifically the LED for pin 13. Doing so keeps the display from “ghosting”.

So one solution would be to remove the LED by soldering it off. This didnt work for me. I somehow managed to destroy the LED but it still draws a current, the same one that the other LEDs draw with opposite + - connections.

How can I stop the shield from ghosting? Also, are the 0 an 1 (serial) pins hooked up to the LED the same way as pin 13? This could also be an explination for the remaining ghosting.

Thanks in advance and Happy new year!

How can I stop the shield from ghosting?

One possibility is to use an Arduino board without or removed Pin-13 LED.

The other possibility is to use an Arduino UNO R3.
The R3 design of the UNO uses a special op-amp to drive the pin-13 LED, and this prevents ghosting when using the LOL shield. I just tried that yesterday: My UNO R3 shows no ghosting of LEDs, while other UNOs show several dim ghosting LEDs.
Info on the LED in R3 design see on this page, scroll down to the section “On-Board “L” LED”:

Also, are the 0 an 1 (serial) pins hooked up to the LED the same way as pin 13?

No, pin-0 and -1 are not used by the LOL shield.
The LOL shield uses pin-2 … pin-13 only.
It even doesn’t use ground or 5V pins.

The last possibility to prevent ghosting would be to use different pins for charlieplexing the LEDs. But this would require heavy changes on the LOLshield library. Although the pins for charlieplexing are written in the library into an array with 126 members, it is NOT enough to just change the pins in that array. The pins used (pin-2 … pin-13) are also hard-coded in the routines that actually set the LEDs on and off, and this is done with direct register and port programming where the logic relies on consecutive pin numbers.

If anybody rewrites the LOLshield library for using any user defined pins as the user likes, please let me know!

I’d like to use the LOL shield as a display like an Internet news ticker along with the Ethernet shield. As the Ethernet shield needs pin-10 … pin-13, I’d better like to use pin-A0 … pin-A3 with the LOL shield instead of pin-10 … pin-13.