element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Common cathode or common anode leds
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 12 replies
  • Subscribers 420 subscribers
  • Views 1817 views
  • Users 0 members are here
Related

Common cathode or common anode leds

e14 Contributor
e14 Contributor over 13 years ago

I'd like to use 7 segment leds and led arrays. Are there any pros and cons regarding using common cathode or common anode devices  - ?

Thank you.

  • Sign in to reply
  • Cancel

Top Replies

  • mcb1
    mcb1 over 13 years ago in reply to johnbeetem +1
    John B is correct about the relative gain. The other consideration for anyone doing switching, is the supply voltage. You should never apply a voltage to an input that is higher that the supply voltage…
Parents
  • johnbeetem
    0 johnbeetem over 13 years ago

    The main consideration is that NFETs a lot more efficient than PFETs because electrons move more easily than holes.  I think it's a factor of 4, but that's relying on memory.  I think the same is true of NPN transistors versus PNP transistors, but I don't think the difference is as dramatic.  Since the NFETs are more efficient, they'll heat up your chip less than similar PFETs with the same amount of current.

     

    What this means is that you usually want to use active-low GPIOs connected to LED cathodes rather than active-high GPIOs connected to LED anodes.

     

    This was the common wisdom back when each LED segment needed 10 mA.  With today's high-efficiency LEDs that only need a few mA it probably doesn't make much difference.

     

    With a multiplexed array of LEDs you can probably drive each of the seven segments a-g with a GPIO, but you will probably need external transistors for each digit to switch the fairly large current if all segments are on simultaneously.  If you use active-high GPIOs for a-g anodes, you'll need NFETs or NPNs for the common cathodes.  If you use active-low GPIOs for a-g cathodes, you'll need PFETs or PNPs for the common anodes.

     

    You can also use a decoder chip such as a 74xxx138 for the common cathodes.  In this case you need active-high GPIOs for the a-g anodes.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • johnbeetem
    0 johnbeetem over 13 years ago

    The main consideration is that NFETs a lot more efficient than PFETs because electrons move more easily than holes.  I think it's a factor of 4, but that's relying on memory.  I think the same is true of NPN transistors versus PNP transistors, but I don't think the difference is as dramatic.  Since the NFETs are more efficient, they'll heat up your chip less than similar PFETs with the same amount of current.

     

    What this means is that you usually want to use active-low GPIOs connected to LED cathodes rather than active-high GPIOs connected to LED anodes.

     

    This was the common wisdom back when each LED segment needed 10 mA.  With today's high-efficiency LEDs that only need a few mA it probably doesn't make much difference.

     

    With a multiplexed array of LEDs you can probably drive each of the seven segments a-g with a GPIO, but you will probably need external transistors for each digit to switch the fairly large current if all segments are on simultaneously.  If you use active-high GPIOs for a-g anodes, you'll need NFETs or NPNs for the common cathodes.  If you use active-low GPIOs for a-g cathodes, you'll need PFETs or PNPs for the common anodes.

     

    You can also use a decoder chip such as a 74xxx138 for the common cathodes.  In this case you need active-high GPIOs for the a-g anodes.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • mcb1
    0 mcb1 over 13 years ago in reply to johnbeetem

    John B is correct about the relative gain.

     

    The other consideration for anyone doing switching, is the supply voltage.

     

    You should never apply a voltage to an input that is higher that the supply voltage (unless specially designed for it)

    So for the Arduino its 5v (or 3v3) at any input or output.

     

    Using an NPN device means you supply the control voltage to the base (or gate) and it doesn't matter what the device voltage is.

    For a PNP the emitter is connected to the device voltage and is dropped by 0.6v at the base, which connects to the Arduino pin.

    If the device voltage is 12v, then suddenly you have 11.4v at the output pin.

     

    It can end in tears unless the device voltage is the same as the Arduino....

     

    mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 13 years ago in reply to mcb1

    Thank you so much for the valuable information.

    john

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 13 years ago in reply to johnbeetem

    Thank you so much for the valuable information.

    john

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Problemchild
    0 Problemchild over 13 years ago in reply to johnbeetem

    Probably more important than the relative efficiency Is the fact that N-Channel are generally cheaper and amore available in more sizes etc...there's always a 'n' in your parts box!! image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mcb1
    0 mcb1 over 13 years ago in reply to Problemchild

    William where's the fun in that.

    Real men would wire wrap it, making sure they didn't touch, and looked neat as well.

     

    mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube