The expanderBUG enables you to add eight additional input / output (IO) lines to your project and is based on the PCA9535 device. Each pin can be configured as either an input or output pin. When configured as output, each pin can sink or source up to 50mA1. An interrupt line is provided which can be used to inform the main program if a pin configured as input has changed. Up to four expanderBUGs can be used at any one time, giving up to 32 additional IO lines for your project! Selectable addressing modes means you can use up to four expanderBUGs at any given time.

The expanderBUG has jumper options to select between 3.3v and 5.0v. By default, the expander BUG has the 5.0v option hardwired. This means that if you have the expander set to output high, it's output voltage will be 5.0v - regardless of whether your development platform is running at 3.3v or 5.0v. If you want the expanderBUG to output 3.3v, you need to cut the 5.0v jumper option and jumper the 3.3v link. If you want to easily switch between different output voltages, it would be a good idea to solder on some headers. Then you can jumper between the two output voltages. Note that the expander input is 5.0v tolerant, even if the 3.3v options is selected.

This is a quarter size stickyBUG and occupies one quarter of a stickySHIELD. This means you can have four quarter size bugs per shield or you can have one half size BUG and two quarter size BUGs per shield. They can be stacked on other stickySHIELDs if required.

Sample Code


1If drawing power from a stickySHIELD or directly from the Arduino main board, you need to be aware of the current limitations for the board you use. For example, an expander bug sinking 50mA on all eight of it's pins will require a supply capable of delivering at least 8 x 50 = 400mA! .