Wifi-enabled 4x4x4 RGB LED cube?

Hi all,

I've never really been into hardware - I'm very much a pure software sort of person - but I recently had a bit of uncontrolled inspiration and decided to dive into Arduino.

What I want to make is a 4x4x4 RGB cube which updates its animation by periodically polling an endpoint on my server.

I wanted to get started right away, so I bought an Arduino Uno, an Adafruit Wifi shield, and 64 RGB common cathode LEDs, and I built a charliecube. Unfortunately, I have realized too late the various flaws with that approach. There aren't enough pins on my Uno to drive a charliecube (16) and the Wifi shield (7) at the same time. Having the charliecube connected to pins which the Wifi shield is using also seems to cause the Wifi shield not to work, and the cube to light up uncontrollably.

But, I'm learning (I hope), because now I'm here asking for advice instead of charging ahead on my own (although I have had a lot of fun making mistakes so far).

I'm looking for some advice on how to manage this project in the simplest way possible for a beginner. I need to drive 64 RGB LEDs of some sort. Charlieplexing was brilliant, but the drawbacks (ghosting, complex wiring) make me want to change my approach.

If at all possible, I'd like to keep using the Uno and Wifi shield I invested in, but it's not a requirement. Overall I'd like to keep "mk 2" of this project within $75.

These smart LEDs seem like a good place to start, but I'm a little confused about how to use them. I suppose I could create 4x4 layers, all wired in sequence, therefore only requiring 4 pins to drive the whole cube. Does that sound feasible?

a-type:
These smart LEDs seem like a good place to start.

You 're right - they make the construction somewhat easier (mind you, you are running power busses to every LED, but with RGB LEDs, you have four wires to every LED anyway). The software is complex in one way given that you need the time-critical code to access the pixels, but you just use a library to do that.

a-type:
I suppose I could create 4x4 layers, all wired in sequence, therefore only requiring 4 pins to drive the whole cube. Does that sound feasible?

Four pins?

Just wire all LEDs and planes in sequence. One wire to feed them all (why does that sound familiar?). Splitting them into groups and feeding via separate wires would make the code quite unnecessarily complex.

You do however need to feed the power to all planes in parallel and it will not hurt to have redundancy in the power - feeding from more than one strut. Just ensure that the power at least feeds directly from each LED to its successor in the chain.

Paul__B:
Four pins?

Just wire all LEDs and planes in sequence. One wire to feed them all (why does that sound familiar?). Splitting them into groups and feeding via separate wires would make the code quite unnecessarily complex.

Haha, I don't know what's wrong with me for not thinking about that. I have a long way to go. But thanks for confirming that this could work. Might as well give it a shot; these LEDs are pretty cheap.

Also consider these. They are diffused so may be a better choice for a cube. Cheaper here.