3.3V Output
External circuitry may draw up to a total of 50mA max current from the 3.3V Out pins.
Is maximum current from 3.3V pin really 50mA?
IO Pins
All IO pins are 3.3V, not 1.8V. Pins are not 5V tolerant.
Full details are available here
Max Current
Maximum 16mA per IO pin with the total current from all pins not exceeding 51mA. See a detailed explanation here.
Power-up State
Its likely all pins are set as inputs on power up (TBC).
I2C pins (e.g. P1-3 and P1-5) are therefore high due to the pull up resistors on these pins.
I2C
1K8 pull up resistors are included on the RPi board so are not needed externally. When enabling the I2C port it seems both ports are enabled – is it possible to only enable 1 port and use the other I2C port as IO pins? Our assumption in Raspbian is no but we've not had reason to try and achieve this.
Interfacing the RPi 3.3V I2C pins to a 5V device like an Arduino – see here.
SPI
The Chip Select signals are for up to two independent slave devices. It seems that with the SPI port enabled in Raspbian both the CS0 and CS1 pins are assigned to it and therefore can't be used as IO (our assumption – correct?)
PWM Pin
The PWM pin available on the GPIO header is shared with the Audio system. This means that you can't use the PWM output and play audio through the 3.5mm jack at the same time.
3.3V / 5V Interfacing
See our other page here