LED Strip Help - Dim lights???

Hi all,

We are trying to implement an LED strip onto our robot for decoration. I have a string of LED’s that operate with 5 volts, which is the voltage the digital ports provide. We have them wired so that the cathode (+) of the LED’s is wired to where the red wire would be on a traditional 3 wire cable and the anode (-) is wired to the white wire (signal) on a traditional 3 wire cable. We set the code so that the port is = 0, which grounds the strip and therefore turns them on.

Cool … it works.

Kind of.

The lights are about half of the brightness that they normally would be wired to an external 5 volt power supply. When I turn the connector around in the cortex, so that the cathode is still connected to the red wire (center pin), but instead of using the signal wire I connect the anode to the ground I get FULL brightness.

Ok, not sure if what I just wrote makes sense…here is another way of showing this.

***The following setup turns the lights on, but only at about half brightness. (The code sets the port = 0)
***Cortex Digital Ports
White - Red - Black
----|-------|-------------
(- LED)-(+LED)-----

***The following setup turns the lights on at full brightness
***Cortex Digital Ports
_White - Red - Black
_-------------|-------|----
_---------(+LED) (- LED)

We would prefer to be able to use the first setup so that we can control the LED’s via the code on the cortex. Are we doing something really dumb wrong? Note - When I check the voltage, I am getting 5 volts across the white and red whites, and also across the red and black wires. So I don’t know why I’m not getting full brightness. Can the cortex not handle very many milliamps across that signal wire? The LEDs were only drawing 150 milliamps or so if I recall correctly. (I will double check this)

IO pins are not designed to source or sink very much current, the absolute max rating for the STM32F103 inside the cortex is 25mA. To protect the IO pins the cortex uses a series resistor to limit the current to about 1mA/volt (see below). See the diagrams in this post.
https://vexforum.com/t/cortex-digital-io-ports-and-the-pneumatics-driver/25441/1

To drive an LED strip from the cortex digital IO you would need an external circuit.

That’s what I was afraid of. Thanks for the answer.

Two Follow up questions:

1.) I assume an external circuit, basically a transistor, would not be legal though? Even if it is only used for LED’s?

2.) You say that the cortex uses resistors to limit the current to about 1mA. How do the VEX LED’s work then? They are driven by the IO pin. Granted they are very dim…but is 1mA enough to even do anything to even a single LED?

Thanks again.

Question for Karthik, probably not legal though.

I misspoke slightly, it’s 1mA/volt.
So red led that has forward voltage drop of about 1.7V, so 3.3V is across the 1k internal resistor giving a current through the LED of 3.3mA. A bit low for an LED but that’s why they are dim.

Cool info. Thanks for the electronics lesson!

I guess we will just have to plug the LED strip into the normal positive/negative terminals and be content with them always being on.