Main Site Documentation

Shields and "selectable" IO pins


#1

Hi there, has anyone seen or built their own shield that has selectable IO pins? For instance, one that you can “jumper” an IO pin to a specific input/output on the shield - and I’m not talking about a wire poked into the header :slight_smile:

Since the shields I’m doing are specific for my application I don’t think that it really matters, but it was something I did think about. I’ve seen shields with a spare set of pads inside the headers, and you could then solder a jumper wire between a pad for the specific connection you’re working with and the appropriate header pad; but that seems pretty permanent. I can’t really imagine needing to move my IOs around (I’m probably talking about 8 IOs) so I may well just route the connections where I want from the outset.

If you have come across something like this, or have some ideas how might make sense to do this with .1" headers or similar, let me know!


#2

This might be suitable for your need,

http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=196

And if you want to do it your self you can see if there is something like this in your area.

Phoenix brand 0.1" terminal blocks for example,
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=277-1275-ND
(4-position).
There are also have six, eight, and nine pos. available.

So you can swap the wiring wheneven, without soldering work.


#3

My preferred selfmade shields have a 3pin male header for each IO (Signal, VCC, GND). This is common practice for robotics. You can easily attach sensors and servos to that shield on any IO you want. For each block (8 or 6 IOs) I use jumpers to select the desired power (extern, 5V regulated, 3,3V regulated). The picture shows an unfinished shield for my actual project. I use stackable headers and one offset header for the misaligned block of IOs. Break away male headers for jumpers and sensor/servo connectors.


#4

Nice work RobotFreak, your shield looks good.


#5

ok, all good ideas. RobotFreak, can you explain a bit more about how you layout and use the connectors and jumpers?

I should have explained a little more. I’m going to design more “permanent” shields and use the press-n-peel blue paper/toner transfer method.

I am creating a shield that can mount an LCD onto it. I’m not going to follow the Ardu-shield decision on what pins to use, since it clashes with some of the other uses I have for pins - in particular the next shield I’m designing is a stackable shield that will hold an ethernet module (Wiz812MJ) - in Ardu-land, those two functions share Di10, one for PWM backlight on the LCD and one for CS on the ethernet module.

So today I decide on a set of pins to use. Later I want to re-purpose the LCD and use it on a new project, but the new project has it’s own set of peripherals that now clash with the IO pin decisions made ages ago. Ideally, I’d like to have been able to use .1" headers and then just jumper the 4 data lines and 2 control lines over to different IO pins. That would be my goal.

The only way I can see this would work at the moment is to have an inner set of solder pads next to the IO ports on the shield, and another set of pads inside that that is for the connections on the device - then you just solder jumper wires between the IO port you want to use, and solder it to the device control needed. Unsolder the wire and move it is all you’d need to do to change it. Sorta like a protoboard area on a shield, a-la http://www.freetronics.com/pages/online-thermometer But then again, the reason I’m doing this is to make my own board, I guess I can just re-do a board with connections to different IOs and reprint/remake a new board if I really need to…

cheers


#6

Ok, that make things more clear. When I start using Arduino and shields, I thought: great just buy the shield you need and stack them all together. But in reality that doesn’t work. I ended up using only a header shield and connect all components needed by using wires.

One solution I see, is making shields that uses only I2C or SPI pins. Because I2C and SPI is a bus you can connect as many shields you wan’t. For I2C you’ll need headers to select the I2C slave address. For SPI you’ll need a dedicated CS pin for each board.

For a LCD it would be possible to use an I2C Expander IC, like PCF8574.


#7

Here’s a preview of my ribbon shield. I wanted something that would keep a low profile.
I’ve split the Digital I/O to have a mix of 5v or 3v3 supply voltage.


#8

Thats a pretty cool idea RJ. I like that - a lot. Especially the heatshrink (I assume) ends. My first “in place” project needs to have about a dozen IOs as well as 3v3 and 5v and I reckon the flat rainbow ribbon and some connectors like you have might be the go!

What exactly is that “thing” sticking out of the red tape bundle? A connector of some form? and I assume the connector on the end of that wire is a feed-in power supply right?


#9

Thanks Brett.

The thingy ;D wrapped up in electric tape is a combination of 3v3 and 5v voltage regulators, diode and 2 capacitors.

Supply voltage goes into 5v reg (3Amps) then feeds into 3v3 reg (1 Amp). And a few Caps for filtering. This allows me to supply my ribbon shield with 3v3 and 5v. Also takes the load of the FEZ.

If I was able to solder SMD components I probably would have a smaller unit. At the moment it’s a little awkward in shape.