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
  • 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
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Maximum pins that can be used for i/o in RaspberryPi2 J8 header?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 5 replies
  • Subscribers 676 subscribers
  • Views 1005 views
  • Users 0 members are here
  • raspberry_pi
  • raspberrypi
Related

Maximum pins that can be used for i/o in RaspberryPi2 J8 header?

Former Member
Former Member over 10 years ago

Hi,

 

I am planning to use Raspberrypi2 for making a hardware. I am using Rpi2 as the processing part. I need 27 pins to be interfaced. I see that there are 17 gpio pins on the J8 header.

My question is can I use spi and i2c pins as input/output pins? Also the reserved pins can be used for i/o?

 

Regards,

Hidayat

  • Sign in to reply
  • Cancel
Parents
  • gdstew
    0 gdstew over 10 years ago

    Any of the pins labeled as GPIO can be used as general purpose I/O however some of the pins will be configured for special purposes by the kernel at boot time (the serial I/O pins are the only two that I am sure of)

    and will have to be reconfigured for general purpose I/O after booting up.

     

    Even with all pins reconfigured I still count only 26 GPIO pins available. It would help to have some idea of what you want to use the I/O for as there are several ways (latches, shift registers, I2C I/O expanders, etc.)

    to get more I/O out of the pins you have.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to gdstew

    Gary, I am not 100 % sure but as the special GPIO ports can be configured enabling I2C instead of other features from the kernel in the same way can be set to off (i.e. general purpose I/O only). I suppose this is the reason that depending on the connected hardware these features can be enabled / disabled with the raspi-config command (that changes the kernel setting and in these cases requires reboot)

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • balearicdynamics
    0 balearicdynamics over 10 years ago in reply to gdstew

    Gary, I am not 100 % sure but as the special GPIO ports can be configured enabling I2C instead of other features from the kernel in the same way can be set to off (i.e. general purpose I/O only). I suppose this is the reason that depending on the connected hardware these features can be enabled / disabled with the raspi-config command (that changes the kernel setting and in these cases requires reboot)

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • gdstew
    0 gdstew over 10 years ago in reply to balearicdynamics

    If you do not enable I2C or SPI using raspi-config then these pins should not configured for these functions by the kernel during boot and they should be usable as GPIO.

    If they have already been enabled then you can disable them using raspi-config and they should be usable after rebooting. This should also take care of any "unexpected"

    pull-up resistors being used (John).

     

    Also, the serial I/O pins (RXD0, TXD0) are normally set up at boot time for use as a serial console terminal for Linux. I'm not sure if removing "console=ttyAMA0,115200"

    from the command line in the file cmdline.txt (copy this file to cmdline.txt.orig first) in the /boot directory will stop this but I believe it will. These settings can also be overridden

    during or after the Linux system initialization (sys v init) but during boot a lot of 115K baud async serial boot text messages will appear on the TXD0 pin before they are

    reconfigured. This would probably not be good if this pin is used for other purposes.

    • 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.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube