The pull-up jumper
The two pull-ups reach VCC through a copper strip on the back, marked I2C PULL-UP. It ships joined, and with one or two I2C blocks on a short bus it should stay joined: every block's pull-ups in parallel make the bus faster, not slower. Cut it only when the bus already has strong pull-ups, and never when it has none.
What the strip does
The pull-ups on SDA and SCL do not go straight to VCC. They meet at one pad on the back of the board, and a strip of copper about half a millimetre wide joins that pad to VCC. With the strip, both pull-ups are connected. Cut it, and both come off together.
Every I2C bus needs pull-ups somewhere, and only somewhere: one pair would do for the whole bus. Blocks bring their own so that each works alone. The jumper is for when several are on one bus and there are more than you want.
How many is too many
Add blocks and watch the rise time. Each block's pair of 10 kΩ joins the others in parallel, so the resistance falls and the lines rise faster. That is the opposite of what most people expect from adding something to a bus.
The cost is current. Whoever pulls a line low has to sink everything the pull-ups supply, and I2C only promises 3 mA. At 5 V that is 1.7 kΩ, which is six of these boards in parallel. Short of that there is nothing to gain by cutting.
So: one to five blocks, leave it joined. Cut it when your bus already has strong pull-ups of its own, a few kilohms on another module, and you are adding the TK31 beside them. Never cut it when the TK31 is the only thing on the bus that has any.
If you cut it
Score across the strip with a craft knife and check with a multimeter that the two pads no longer beep. It is reversible: a blob of solder across the pads joins them again.
The rise-time numbers above are worked out from a formula, not measured, and the capacitance is a guess you move with the slider. A breadboard and a few jumper wires come to something like 100 pF.
When it does not work
Nothing else on the bus had pull-ups, so SDA and SCL float. Bridge the two pads again with a blob of solder, or add a 4.7 kΩ to 10 kΩ resistor from each line to VCC somewhere on the bus.
Score across the thin copper strip between the two pads, two or three times, with a sharp craft knife, then check with a multimeter's continuity setting that the pads are no longer joined. Do not dig into the board around it.
Not with two or three of these. Each adds 10 kΩ in parallel, so two make 5 kΩ and three make about 3.3 kΩ, and the current a device must sink stays well under the 3 mA I2C allows. Around six boards on 5 V is where cutting some starts to matter.
The line cannot rise fast enough: 10 kΩ into the capacitance of long jumper wires. Shorten the wires, and leave the other blocks' pull-ups connected: each pair in parallel helps. Every sketch in this book runs at the default 100 kHz, which does not have this problem.
Edit this page — content/books/eeprom-memory/the-pull-up-jumper.mdx
Questions about this product
See what other owners have asked, and read their solutions.
EEPROM Memory
Loading discussions…
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.