Question: what is the difference between usb and i2c?
Answer: I2C: Only requires two pins (clock and data), and you can have many chips all sharing the same two lines. ... USB : For programming you can use USB only because there's a bootloader program already on the chip that sets the system up, receives the binary, and does the actual programming.