Go Down

Topic: 5x5x5 cube, external PSU integration with USB powered Arduino (UNO) (Read 1 time) previous topic - next topic


Hi, I am fairly new to Arduino and after completing a few basic projects I am now looking at the LED cube project highlighted by retrolefty :


Based on the PIC project :


I understand the process of addressing/lighting the cube. However, I am uncertain on how to safely integrate the external PSU. I will intially be controlling the circuit with a USB powered UNO. I understand the power requirements are too high for the UNO output.

Looking at the schematic, I understand the the UNO will drive the Transistors for the layers and the SIN/CLK/LATCH for the drivers.
Would the external PSU just be connected to the +5V and GND of everything on the right hand side of the schematic (i.e the VDD/GND of driver chips and the +5V of the Transistors)? Does there need to be a common GND between the external PSU and the UNO? If you eliminate the PIC, it looks like 2 of the 10uF and 100nF capacitors need to be used on the VDD of the driver chips, is this correct? Are these connected in series and does the order matter? Is this combination a fairly typical requirement to decouple this type of PSU? Is the TYPE of capacitor (DIELEC.CERAMIC and TANTALUM BEAD) important? or are these just typical forms based on the values required?

I realise there are quite a few questions here, but I am really keen to understand the principals here around external PSU's for future projects.

Lastly, I understand the driver chip is an alternative to using multiple 595's with external resistors (as one example). Is the TLC5940 a suitable replacement for this project?

Many Thanks.


You always need a common ground if passing digital (or analog) signals...  Yes, the high current and logic supplies can safely be separate - just make sure there is proper decoupling on the high current supply near each chip. 0.1uF per chip and 10uF for the whole board is a good guideline.  Since no motors are involved you can just as easily power the whole circuit from a high-current regulated 5V supply (just feed it to the 5V pin on the Arduino, ignore Vin).
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


Jan 30, 2012, 04:45 pm Last Edit: Jan 30, 2012, 06:43 pm by retrolefty Reason: 1
Hi Rex;

As Mark said the grounds from the arduino board and the external regulated +5vdc must be wired together. If you are driving the cube with a Uno board you may not need all those caps as shown in that PIC schematic as some are for wiring to the PIC chip itself, and the Uno board already has adequate bypass caps on it's board. A 100nf cap (any type but wired close it it's associated chip) at each shift register chip and at least one 100ufd cap on the cube board where +5vdc enters the board would be the minimum recommended bypassing requirements in my opinion.

Speaking about the external +5vdc power supply, I used a simple cell phone charger wall transformer I found at a thrift store for $1. It's rating is 5.1vdc and 1 amp. I forget if I ever actually measured the total current consumption but it certainly is well under 1 amp. If you take the worst case current draw, it would be when you have all 25 leds in a given level are turned on at one time, so 25 X .020 = .5 amps. The two shift registers take a little current in addition to the led current they are sinking. The actual current consumption is very much dependent on the specific LED pattern being displayed. However due to short current bursts due to the switching between levels I would not be surprised if you could not supply all the current needed just from the +5v pin on the Uno board, certainly if the Uno was using it's external power connector, and possibly even if just using USB power that is rated for .5 amp max while on USB power, as the USB fuse will react to average current flow rather then momentary peak current pulses that the cube will present. However for prototyping and testing you are probably better off using a dedicated external regulated +5vdc supply rated at 1 amp of more.

As to the shift register, I used the one the circuit recommended that provided fixed programmable output current for each of the 25 column output pins, where the current is fixed by the value of one resistor on each 16 bit register. This eliminates 25 fixed resistors over using shift registers that have no constant current outputs. Not only do you save the component count and board space by not needing them, you also gain the ability to adjust the constant current amount to optimize the current for your leds and where you will be displaying it (background lighting) by changing just two resistors rather then having to change out 25 resistors. I just used resistors calculated for 20ma from the register's datasheet and it worked just fine. So while one can build the circuit using normal shift registers, I do recommend the constant current output shift registers as they take a lot of guess work out of the project and simplify the construction.

Good luck with your project. I found it very challenging but it helped me a lot for helping with my learning curve of the C/C++ language at the time, using interrupts and the Mstimer2 library. Be sure to use diffused leds for best display effect, and Asian E-bay sellers have great prices when buying the larger quanity leds as used in this project.


Go Up