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 1004 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
  • 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
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago

    if you do not need really high speed then you can use a SPI port expander like the 23S17, this is the one used on a PiFace Digital II and the newer version of it that is stackable

    • 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
  • johnbeetem
    0 johnbeetem over 10 years ago

    According to the RasPi Hardware Wiki http://elinux.org/RPi_Low-level_peripherals#Model_A.2B.2C_B.2B_and_B2, there are 28 GPIO pins on the RasPi Model A+, B+, and 2.  I think you can configure all of them as GPIOs, or use alternate functions like SPI and I2C.  However, I haven't tried all the pins myself so YMMV.

     

    It doesn't look there there are any reserved pins any more -- they've all become GPIOs.

     

    RasPi GPIOs use 3.3V logic and are not safe for 5V signals.  There are other useful warnings at the Wiki.

     

    Update:  According to the RasPi Model B+ "reduced" schematic https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/Raspberry-Pi-B-Plus-V1.2-Schematics.pdf, there are only 26 GPIOs.  GPIOs 0 and 1 are reserved for ID_SD and ID_SC, an I2C bus for talking to a HAT's EEPROM.  However, also according to that schematic RasPi only checks that I2C bus at boot time, so you might be able to switch them to GPIOs later.  However, whatever you attach must expect I2C signals at boot time and must not confuse the OS by responding to those signals.

     

    Some of the other signals may have default behavior that could confuse your add-on board.  For example, it may be that RXD0 and TXD0 look like a GNU/Linux terminal.  Also, some of the signals (such as I2C) may have pull-up resistors.  I think there's also a GPIO pin that used to select "safe mode".  You'll have to be careful with that one as well.

     

    There may be useful discussion of this at the official RasPi forum https://www.raspberrypi.org/forums/.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 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