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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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 What GPIO pins are used by the Piface CAD shield?
  • 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 12 replies
  • Subscribers 665 subscribers
  • Views 2382 views
  • Users 0 members are here
  • pifacecad
  • gpio
  • piface_control_and_display
  • raspberry_pi
  • raspeberry_pi_accessories
  • piface_control_&_display
  • piface_control&display
  • piface_control
  • piface
Related

What GPIO pins are used by the Piface CAD shield?

Former Member
Former Member over 11 years ago

Hi,

 

I want to use the Pyface CAD shield together with other things. It probably isn't using all the pins.

 

But which ones does it use and which could I divert to other things? Most importantly are the pins for any of the UARTs free?

 

Yours,

   Goswin

 

PS: It would be nice if the shield had pins for the GPIO ports it doesn't use at the top so one could stack shields (provided they use dfferent ports) or connect a serial adapter without having to build a connector that splits them off.

  • Sign in to reply
  • Cancel
  • mcb1
    0 mcb1 over 11 years ago

    Goswin

    There are no schematics that I've been able to find, but the documentation mentions that the IR is on GPIO 23.

    The lcd and buttons connect to a mcp23s17 16 bit GPIO port expander, so apart from the SPI pins, the rest of the GPIO is free.

    I suspect all the mcp2317 pins are used, as the backlight is controllable, and besides its buried below the LCD, which is soldered in place.

     

    If the GPIO pins were extended, you would have trouble with cases, and the shield/plate covering the LCD, so it needs to be the top of a stack.

    A nice option would be to be able to order them without the GPIO plug soldered on, which means you could fit an extension version.

     

    There is a PiRack which I was fortunate to receive before release, and I reviewed it here  PI RACK it gives the ability to set the SPI address.

    I modified a Piface Digital and added two rows of single headers, http://www.element14.com/community/roadTestReviews/1452 , however the Picrust or similar might be a better option

     

    The other alternative is to solder wires onto the pads, or fit a plug, etc.

     

    Mark

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

    Mark your post got me desoldering my PiFace and here's the disassembly !

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • ceeej
    0 ceeej over 11 years ago in reply to Problemchild

    Many thanks for your efforts in 'reversing' the Piface CAD, the python code for the board suggests a connection from the MCP23S17 INTA and INTB pins, do you know which GPIO they are connected to or am I reading the code incorrectly?

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

    Err the Interrupt lines didn't seem to be connected at least according to my paper work also I don't

    think there is any interrupt lines on the connector  for the Pi to pick up that interrupt source any way !

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • ceeej
    0 ceeej over 11 years ago in reply to Problemchild

    Ah, OK, I'm barking up the wrong tree then.

     

    My train of thought was that there is an interrupt on change available on the MCP chip and that the interrupt lines were routed out to a GPIO pin on the Pi. I'll have to rethink

     

    Thank you for replying so quickly.

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

    Yeah I admit that I was expecting an interrupt for the button presses. Having said that if there's no interrupt brought out on the connector then it's just not happening!

     

    I'm assuming that you are essentially meant to poll the chip often enough to detect the key press or it's latched or something and some "magic" is done by the supporting

    driver / userland  interface

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Problemchild
    0 Problemchild over 11 years ago in reply to Problemchild

    Goswin, the serial and the other SPI channel are free so you can use these if you can get to the pins.

    Are you going to mark your question answered so others can find this in searches and be helped ?!?

     

    John

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

    Seems a shame not to use the feature if it's there or at least bring it out to a jumper somewhere.

     

    I've ordered a Piface CAD now so I'll look at the possibility of adding it.

     

    I've built a working ratsnest version of the CAD from what I can deduce by reading the code and checked it with your schematic when I found it.

     

    I was sure I'd seen interrupts mentioned in the python code but looking again now, I can;t find the piece of code I thought I saw. It was a long, tiring weekend so I could be confused.

     

    {EDIT}

     

    Now I look again, in core.py:

     

    'import pifacecommon.mcp23s17

    import pifacecommon.interrupts

    import pifacecad.lcd

     

     

    DEFAULT_SPI_BUS = 0

    DEFAULT_SPI_CHIP_SELECT = 1

    NUM_SWITCHES = 8'

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

    I see that any of the GPIO pins can be programmed to produce an interrupt either based on a transition or level of a GPIO  at least on newer Kernels  so maybe  you can do something with that.

     

    I'll take another look see if the int pins are plumbed in anywhere after all!

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

    Thank you, I have made a little progress with my ratsnest CAD while my 'proper' CAD is sat in the office waiting for me to get there.

     

    I can read the MCP GPIOA status from the Python shell or in IDLE so I know the MCP is configured and working but none of the examples respond so I can't help think I've missed something in the ratsnest.

     

    I'll be collecting my official Piface tomorrow so with luck it'll all become clear.

    • 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 © 2025 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