3.3v I2C pullup resistors?

I'm designing a 3.3v board with a 1280 at the core (the 3.3v version). I'm starting from the mega (the 5v 1280) eagle files, which have the i2c pullup resistors in place, as expected. However, it seems that none of the 3.3v boards have pullups on their i2c pins, so should I get rid of them on my design?

While I did some research, I read that the number of peripherals running on the i2c line(s) and their distance away from the mcu affect the requirement of pullups (specifically extra ones near the actual sensor). I won't have that many i2c peripherals connected (3 at most) and they will probably all be on the same, small pcb. Just noting that in case it is relevant.

Also, a small explanation as to why pullups are/aren't necessary would be nice. As far as I know it has to do with noise on the line, which is amplified by large numbers of peripherals and long distances between them and the mcu, but I want to make sure.

so should I get rid of them on my design?

No,

You need pull up resistors because the outputs are open collector. The arduino uses the internal pull up resistors but these are too large to supply adequate current to ensure a fast enough rise time on the voltage. For a 3v3 supply I would use a 2k7 pull up on each line.

Thanks :wink: