Lolshield with Fez

Has anyone used the lolshield (http://jimmieprodgers.com/kits/lolshield/) with the Fez Panda?

My son and I are assembling one so I’ll have to make it light up at some point. :slight_smile:

so I looked into this a bit more and have two reasons this may not work, at least without major changes:

current draw: the lolshield drives over 100 LEDs with 13 IO pins. Even the ones that are off will draw some current (see Charlieplexing - Wikipedia). The simple answer would be to add a simple transistor to give it more power, but there’s a trick: each pin must be capable of three states: gnd, +v and float (high impedance). Float is done by changing the pin to an input. I can amplify the fnd and +v, but I don’t know how to let the otuput float without adding another pin for each existing pin.

refresh speed: I need to be able to cycle through several combinations of output pin configurations quickly. I doubt this woudl be fast enough in managed code. Something like a parallel OutputCompare would be needed, but this has the added trick of needing to toggle input/output on pins as well.

So I’m not sure the lolshield will work on Fez… maybe add it to the short list of Arduino shields that won’t. :slight_smile:

Does anyone have any ideas?

This is bad on any microcontroller! And yes not ideal to run on FEZ

About refresh speed, yes NETMF is higher level system and not made to toggle pins fast.

But if you design your board/shield correctly, you can do anything with FEZ. I have seen a video playback on FEZ mini! For example, use shift registers and connect the LEDs to them then use SPI but to control the shift-register which is controlling the LEDs. Each shift register usually has 8 outputs but you can cascade these and you will have 10000 LEDs if you like and the control will be very fast.

This makes me want to make an LED text display suing FEZ :smiley:

Gus… that makes sense. How about the tristate–would I need 2 pins or bit per output to make float work?

no tristate is needed, connect the LEDs in a matrix and then this matrix is controlled by shiftregister-x and shiftregister-y.

Another way…I have made one 20 years ago using the parallel port on a PC where I used a counter to shift through the rows and then output the column values on the 8-bit interface. It was fun to make!

It’s basically no different than driving several seven digit LED displays… 8 common
LED units…

Plenty of code for them around…

Cheers Ian