Driving LEDs

Is there a reason a particular reason that the LED examples connect the current limiting resistor to GND and light the LED with a logic high state on the pin?

I'm more used to TTL open collector where the current limiter goes on VCC and you drive the pin low. Are the GPIO pins on the BBB able to provide the same current in both states? My digital logic knowledge is somewhat dated.

It depends on the source current versus the sink current. Whichever one is higher will dictate the direction of the LED, source or sink.

The BBB drive is limited to 4ma to 6mA. I would use the design of the BBB as a reference and use a transistor to drive the LEDs. Cheap. But you can use an open collector device if you link. Open collector is sink current. You can get inverting and non-inverting versions.


CMOS and HC logic have symmetric pullups and pulldowns. TTL used to
have about 16 ma pulldown (saturating transistor), and about 1 ma up.
TTL did not need a stiff pullup, all it had to do was supply back bias
diode leakage for all the inputs it was driving, but the pulldown had
to sink 1.6 ma per input, so you got 20 pullups and 10 pulldowns.


Thanks. Between you and Gerald I think I have it. Don't worry, I'm using a 10K current limiter at 3.3V for now but yes I will start adding a driver transistor. I was just wiring it the way the BoneScript example except that I only 10K resistors handy as opposed to the 470 the tutorial called for. Actually kinda surprised my LED lights at all since I reduced the current down to .33mA from the 7mA in the original circuit on BeagleBone.org

Thanks Harvey. I had forgotten that CMOS worked different (been if software too long). I used to use all TTL stuff last time I seriously messed with digital interfacing.