I finally got it working. I guess you need to disable the "shutdown state" of the max7301 before you can write to any of the pins as outputs. I somehow kept reading over this in the data sheet. I do still have one issue I never could resolve. When I finally got access to an oscilloscope and looked at the signals I realized that my chip select wasn't bouncing. At the time I was using pin B6 as the chip select pin (remember this is on the PIC16F737). I eventually changed the chip select to be pin C0. I went back and tried to make the chip select pin B6 and it still never would work. The only thing special about that pin is it is used for programming the chip but I don't see how that would distract it from being a general I/O. -Marc Orr Quoting James Humes : > Hey Marc, > > Have you looked at your SDO line and SCK on a scope (together) to make > sure that data is being passed on the right edge and that you are sending > what you think you're sending? I've used the I2C version of this chip and > initially I wasn't pausing long enough between commands sent to the io > expander which was causing some havoc. > > James > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist