Tag: Electronics

  • LED Cube: The heart and concept of the driver circuitry

    It is pretty clear that it’s very hard to control 512 LEDs without some tricks. Most already built LED Cubes rely on two realization concepts to bring the cube to life:

    • some sort of integrated LED driver circuit (read: using chips)
    • use multiplexing / POV to lower the number of LEDs to be controlled individually

    Using an LED driver IC to controll the large number of LEDs is almost a no-brainer. Although there are solutions possible to control that many LEDs without resorting to integrated circuits (e.g. Charlieplexing logic) they all come with one or more drawbacks like complicated wiring schematics, lots of additional required components or being only able to light a single LED at any time. Using a LED driver IC avoids all those problems and makes it possible to control many LEDs even for non-professionals.

    Multiplexing takes advantage of the human eyes incapability to detect light pulses or variations in brightness if they happen just fast enough. It’s the same principle which is used in TV sets and in the cinema. In a LED cube this principle is realized by only lighting up one layer of LEDs at any time and switching between the layers fast enough so that the human eye gets the impression that the whole cube is active. For an 8x8x8 cube this means that at most 8×8=64 LEDs (within one layer) are active at any given moment and the currently active 64 LEDs are switched within the 8 layers several times per second. This reduces the required logic to drive 64 LEDs and a simple selection logic to choose one of eight layers resulting in 72 wires leading to the cube.

    The heart of my LED cube will be the STMicroelectronics STP16CPS05 (datasheet). I got the inspiration for this driver from this project and decided to use it because:

    • serial input possible using 2 pins (+1 for latch)
    • serial input accepts 3.3v, perfectly fitting for the Raspberry Pi GPIO
    • high maximum frequency of 30MHz, great for fast multiplexing (and probably software-driven PWM)
    • 16 output pins
    • simple integration and control (just clock in active/open LEDs and signal latch)
    • chainable (like done in HTNE’s cube), but in my circuit this won’t be required
    • cheap

    One drawback of this IC is that it is not offered in a DIP-package which could be immediately used on a breadboard. Therefore I will have to solder the ICs onto adapters to use them on my breadboards and such adapters themselves are not that easy to come by.

    Some friends suggested alternate ICs, eg. TLC5940, MM5450 or the MAX6962ATH but either are those much more difficult to interface with, have a smaller range of applicable voltages or I would have to use them in the same way as the STP16CPS05 without the ability to take advantage of their additional functionality. So I settled with the, in my opinion, simplest solution.

    Update 2013-05-11 Found another possible alternative, the TI [TLC5925][9]. This looks like a possible replacement if I have problems with the STP15CPS05.

    [9]: http://www.ti.com/product/tlc5925 "TLC5925 16bit LED Sink Driver]

  • Upcoming project: LED Cube 8x8x8

    As already hinted last time my next electronics project will be a monochrome 8x8x8 LED Cube.

    I chose this from a long list of possible interesting projects because its construction involves many of the areas in which I intended to work on something at some time.

    • Raspberry Pi programming
    • enhancing my basic electronics and soldering skills
    • beef up my electronics prototyping set
    • interfacing an uC/SBC with external hardware/components
    • creating an electronic circuit without step-by-step instructions
    • understanding and using an IC
    • designing and creating a PCB, maybe even etching it myself

    LED cubes in particular striked my attention a few years ago but at that time Ialways repelled by the sheer complexity and number of components in most of the LED cube building instructions. But when I saw some another building plan for a LED cube I realized that I could use my Raspberry Pi to create a much simpler control circuit. And so the decision was set.

    My plan for the next steps is to build a prototype (3x3x3) to test my whole concept, get comfortable with all the stuff and then scale it to 8x8x8. At first I’ll set up everything on breadboard and maybe, if I’m sure that everything is finished on the hardware-side, make a permanent and smaller control PCB version. Probably as a Raspberry Pi shield.

    The progress of this project will of course be documented on this blog.