FEZ Hydra Pin mapping

Hi All,

Ive been playing with the following


Microsoft.SPOT.Hardware.Cpu.Pin pin = (Microsoft.SPOT.Hardware.Cpu.Pin)i;
OutputPort test = new OutputPort(pin, false);

now i wrote the code above in a loop so i could determine what pin number in code matched to which pin on my hydra.

Is there a mapping somewhere or am i missing something.

Like i determined that pin 2 in code = to pin 9 on socket 8 on my hydra?

Thanks in advanced.


Look at the Hydra schematics:


socket4 is X4
Pin 3 on X4 is PB2

PB2 is a member of the FEZHydra.Pin class so to use this pin

OutputPort test = new OutputPort(FEZHydra.Pin.PB2, false);

remember to add

using GHIElectronics.OSH.NETMF.Hardware;

Also, keep in mind that if you’re using the FEZ Hydra as a Gadgeteer board, you should avoid using tight loops for processing, since that will prevent any configured event handlers or timers from running:


Thanks Rajesh,

All makes perfect sense :).

Thanks for the tip devhammer.

for anyone else looking at this here is the link to the schematic


@ KartAssist - There’s no need to do all that anymore. Just use this…

var myPin = Socket.GetSocket(1, false, null, null).CpuPins[2];

To get the pin number of the #2 pin on socket #1. :slight_smile:


Always get null back from that call??

if i set the second parameter to true it throws the invalid socket exception.



What happens if you try to get the pins on Socket 2 with the second parameter set to true?

var myPin = Socket.GetSocket(2, true, null, null).CpuPins[2];

I’m curious if this is failing for all sockets or just Socket 1.

(edit: fix code to reflect socket 2)

@ Kerry - he said he gets an invalid socket exception if he sets it to true.

@ KartAssist - I just pulled that example out of the air w/o testing it. Try some other combinations. Although that should work… Socket 1 on Hydra is a Z socket so it may be a little “special”. Try an X or Y socket.

@ ianlee: I wanted to see if he gets an InvalidSocketException on other sockets. I wonder if Socket 1 is special because it’s type Z (manufacturer specific).

If that call throws the same exception on other sockets, there’s a bug that I’ll want to investigate.

@ Kerry - Yea, you’ll notice I edited my comment with that same thought :wink: I’ve used that syntax w/ other sockets with no problems so I suspect it is the Z socket that’s giving fits.

Yeah socket 2 does the same thing, sorry I didn’t get back sooner, I thought I would have been emailed about responses but didn’t get them, guess I have to watch my own threads?

I was initially trying it on socket 7 and getting it as well

OK on investigation its probably my fault.

I was doing this from a standard Console app, so hadn’t been through the standard Gadgeteer startup

Mainboard = new GHIElectronics.Gadgeteer.FEZHydra();			

Program program = new Program();

when i use the GetSocket call a Gadgeteer templated solution its ok.

Ah… That makes sense now. Glad you figured it out.