pin "high" = voltage close to i/o supply ("vdd" or "vcc") pin "low" = voltage close to ground ("vss" or "gnd") (The exact meaning of "close to" will vary.) driven high (output enabled, output high, internal pull-up/down irrelevant): - tries very hard to make voltage on pin high - current flows to the pin (from vdd) as necessary until the pin is high (or something breaks) - for BBB: voltage will be at least 2.85V on condition that current does not exceed 4 mA driven low (output enabled, output low, internal pull-up/down irrelevant): - tries very hard to make voltage on pin low - current flows from the pin (to vss) as necessary until the pin is low (or something breaks) - for BBB: voltage will be at most 0.45V on condition that current does not exceed 4 mA pulled up (output disabled, internal pull-up enabled): - weakly tries to make voltage on pin high - a small amount of current flows to the pin (from vdd) until the pin is high - for BBB: max current is 0.243 mA pulled down (output disabled, internal pull-down enabled): - weakly tries to make voltage on pin low - a small amount current flows to the pin (to vss) until the pin is low - for BBB: max current is 0.11 mA floating (output disabled, internal pull-up/down disabled): - also known as "high-impedance" or "high-Z" - tries to avoid having any influence on the voltage on the pin - very little current flows to/from the pin - for BBB: max current is 0.018 mA input characteristics for BBB: - pin will be regarded as low when input is disabled or pin voltage is at most 0.8V - pin will be regarded as high when input is enabled and pin voltage is at least 2V