NEWBIE Q: Output power of Galileo per PIN

Hey guys this is not only a short introduction, but a serious question I hope you guys understand.

I bought my Intel Galileo v.2 to practice my programming skills that I am currently learning at my school. As I understood, each pin on the Galileo outputs 5v at 10mA, but after lighting up (increasingly) one pin on top of another in parallel mode, ...I have observed that each pin outputs a decreasing amount of voltage every time I activate another output pin. Is this a "phenomena" I should consider especially because we are dealing with 'micro-technology designed to take advantage of a limited amount of power to process, as we hopefully say... magical things?

I know we are dealing with simple LEDs and I got up to about 6 LEDs (each assigned to their own pin) before some or all LEDs unexpectedly failed or gave unimpressive results. I'm just dumbfounded by the erroneous specifications that Intel provided on their website. I expected a dependable supply of 5v-10mA voltage from each pin, but such is not the case. I can live with the results but with something so simple as LEDs I want to have something to live by.

I have gone ahead and ordered some NPN and PNP transistors, shift registers, etc etc... I'm hoping something can be worked out to at least supply the proper voltage to a 4x5 LED matrix to display alphabet characters at a time.

My question is...: Is it because we are dealing with micro technology designed to work with a limited amount of power, that a system such as the Intel Galileo, can try to only supply a certain amount of power to dependent components (before facilitators such as shift registers and transistors are applied to make it work)?

If such is the case, someday I hope to replace LEDs with more complicated components... you know the deal. It kinda answers itself but I want your professional input just for peace of mind.

Have you got resistors on those LEDs ?
If so what value?
The output pins on a Galileo are not connected to the processor but to an I2C expansion port chip.

I have 330 Ohm resistors on each. I didn't see any difference lowering them. I actually got my shift registers in the mail today and was able to make all my LEDs blink as I wanted in the beginning with my Galileo. Check out a video on my website @ http://wp.me/a4wXwC-L

Thanks for your help! :D

Just to wrap this up:-

.I have observed that each pin outputs a decreasing amount of voltage every time I activate another output pin.

The port expander used is the CY8C9540A, the data sheet says that a voltage high from any one pin is only guaranteed to be 1V when sourcing 10mA.

IOH = 10 mA for any one pin, Vdd = 4.75 to 5.25V. 40 mA maximum combined IOH for GPort0; GPort2_Bit3; GPort3; GPort5_Bit2, 3, 6, 7; GPort6. 40 mA maximum combined IOH for GPort1; GPort2_Bit0, 1, 2; GPort4; GPort5_Bit0, 1, 4, 5; GPort7. 80 mA maximum combined IOH.

On the other hand it is much better at sinking current, you can sink 25mA and still have the output voltage below 0.75V

IOL = 25 mA for any one pin, Vdd = 4.75 to 5.25V. 100 mA maximum combined IOL for GPort0; GPort2_Bit3; GPort3; GPort5_Bit2, 3, 6, 7; GPort6. 100 mA maximum combined IOL for GPort1; GPort2_Bit0, 1, 2; GPort4; GPort5_Bit0, 1, 4, 5; GPort7. 200 mA maximum combined IOL.

That chip is a poor choice for a hobbyist development board. Especially as it is I2C and runs only at 100KHz.

The new Galileo 2 uses a PCAL9555A chip which as the same current limits but on the high output the voltage will be 0.7 of the supply voltage ( for 5V that gives 3.5V ), so it is better but still poor.

It also can run faster but only at 400KHz so maximum toggle speed of an output has gone up from 200Hz to 800Hz.

The designers just don't get it, despite me telling them personally at the Rome Maker Fair last year that the I/O was far too slow to do anything interesting with the board.

Try putting the LEDs the other way around. Connect the anodes to +5V and the cathodes to the Galileo pins. Turn the Galileo pin LOW to switch on the LED.