With my initial hubris about circuit construction dulled by a couple of nasty bugs and failures, I decided to construct my next circuit the old fashioned way — I bread boarded it first.
I wanted to do an I2C version of the LCD backpack, and I had an MCP23008 lying around, so I got to work.
I still had the board set up with the 74HC595 circuit on it, so setup was easy, and there was still plenty of space on the board for the new chip. A quick googling turned up a likely candidate for a wiring diagram, so I hooked it all up, and with the exception of hooking the $?&@;)!/ data lines up backwards again (seriously, how many times can I do that before I get it?), everything went in perfectly on the first try!
I spent a little time messing about with getting both SPI and I2C working from the same board, and it turns out it’s pretty simple. You have to push the /RST on the MCP and G on the 595 to the proper values (GND on both activates the 595, 5v activates the MCP, very cool!) and then set up some #ifdef code in the sketch, and the whole thing just swaps back and forth. I’m not sure if it has any practical value, but I suppose it would be cool to have a general port multiplier that could be switched from SPI to I2C at will. Maybe. Anyway, food for thought.
Now that I have a working circuit, I can push it into Eagle for fabrication.
I am really glad that I found at least some of the bugs on the board before it got committed to acid.
2 Responses to Breadboard works