So far I²C ones top out at 128KB. I would welcome much denser ones because they are easier to use than the SPI ones (I'm using a tiny 4Mx8 SPI one
right now in SO-8); but because of I²C's relative slowness, we probably can't expect the industry to ever make them in greater density. Large files (like for pictures) would simply take too long to load or store. One nice thing about I²C is that all the I²C parts I've seen work at 5V.
I have a sample circuit for bit-banging I²C with a 6522 VIA at http://wilsonminesco.com/6502primer/pot ... ITBANG_I2C
, with links to accompanying working code.
For I²C though, you can make tiny modules with a minimum of only four pins: power, ground, clock, and data. On the forum, we defined a 6-pin standard connector called I2C-6
for I²C modules, adding the IRQ (interrupt request) line which will be needed for I²C devices like a keyboad scanner IC which could interrupt when a key is pressed, or a real-time clock IC that would interrupt when an alarm comes due. The last pin is cut off and the socket's hole is plugged for keying, so you can't plug it in upside-down. I have some serial EEPROM modules that are half the size of a postage stamp. One is pictured here:
That's a 4-pin socket on the right end, to fit onto a 2x2 header of .025" square posts. (Again, I would encourage use of the 6-pin I2C-6 standard
for new ones, which Daryl adhered to in the EEPROM modules he sells at http://sbc.rictor.org/sale.html
.) The shorting bar on the left is on a 1x2 pin header for write-protect. The LED tells when it's powered down so you can unplug it from the computer board, although this is just the first of many I made and after this first one I put LEDs on the computer to show the status of the I²C power and clock lines.