At power on, all the ports are HIGH with a weak 100uA internal pull-up to Vdd. More information can be found at

Regarding the I/O expansion board, its I/O pins are “quasi-bidirectional”. That means that instead of setting the pin to either an input or an output (by calling pinMode in Arduino), you just go ahead and read or write them. To set a pin that you previously have written (i.e. made it output something) back to an input, write a 1 to that pin and then an external device can pull that pin high or low. Details on the datasheet at

The library to use is at

Leave a Reply

Your email address will not be published. Required fields are marked *