Too many Piicodev modules connected to the one adapter. Is it time to cut the I2C pullup resistors?

As the title says, I’ve gotten to the stage where I think I have one too many Piicodev modules connected to my Raspberry Pi 4B via the adapter HAT.

So far:

  • 3 x LEDS
  • 1 x buzzer
  • 1 x OLED
  • 1 x motion sensor
  • 1 x distance sensor

I added an RFID module to the mix, and it wouldn’t function unless I disconnected some of the other modules.

Is it really as plain simple as getting out the craft knife and cutting some of the I2C pullup resistor traces as recommended in the Piicodev connection guide?

How exactly does this work? On which specific modules should I be trying this on? Will these modules still work after? What if I later want to move them to a different Raspberry Pi/Pico setup with a different configuration/number of modules?

Thanks in advance from a confused newbie.

2 Likes

Hi Steven,

The PiicoDev HAT also has some pull-ups onboard so even if you later connect modules with the traces cut they should work fine! (and for other configurations)

Personally, I’d go for the modules you have the most of, in this instance the RGB modules, if you snip 2 of those you should be sweet - beyond that the modules that cost the least (you can always rebridge the connections with some solder)

1 Like

Hi All at Core
I know hindsight can be pretty marvellous but would it not be cleaner to arrange the pull ups the other way around. That is supply bridging pads or links to INSTALL the pull ups instead of cutting tracks to remove them. I realise this entails soldering instead of cutting but surely as a “maker” in this field at this level some soldering skills are mandatory anyway.

Just thought it might be a bit cleaner and less prone to damage this way.
Cheers Bob

2 Likes

I don’t trust myself near a soldering iron which is why I love making with Piicodev so much. But I hear you that soldering is inevitable when projects grow in sophistication - it’s a skill I sorely need to improve.

1 Like

Hi Bob,

I can see your point about the potential for accidentally damaging a module when cutting traces vs the risk of soldering links.
Having the ability to use the modules without soldering was one of the key design principles for the PiicoDev range, so that schools could use them in a classroom without tech-staff first having to get out a soldering iron if the expertise was available.

In most cases, the links which need to be cut have been positioned away from other traces on the PCB to minimise the potential for accidental cuts but the reminder that not everyone may cut links with care is helpful.

I think experienced users will end up gravitating towards soldered header connections to the PiicoDev module but lowering the barrier to entry was always the primary vision.

Also of note, most recent Adafruit hardware revisions for their modules have been to add JST SH connectors to their previously solder-only boards. In some cases the modules have even had to increase their overall dimensions, so solderless access is definitely a trend that’s likely to increase.

2 Likes

Hi Steven,

Soldering is absolutely a skill worth learning that will pay off in the long run.
You can work around soldering in a lot of ways but it really does unlock a whole new level of electronics projects.

2 Likes

The daisy chaining of multiple I2C devices is like a transmission line. The pullups are all in parallel, so if each device has a pullup, the resistance can become too low for the signal to propagate nicely. No pullups is also a bad situation where the signal will not propagate nicely.

Ideally the pullups should be at the ends of the line. RPi 4B has pullups built in and the last device in the chain has pullups. This does not mean you have to remove the pullups of all devices, just enough to make it work.

Something else you could try is changing the linking between devices, it may or may not affect the signal propagation. Core electronics has a splitter for I2C devices, it may be worth looking at that too, would keep the linking between modules to a minimum.

Also check the pullups used on each device, the Core Electronics RGB LED Module uses 10ks, sometimes other manufacturers use lower values.

Your post is something I will keep in mind for my future projects if I am using many I2C devices.

Regards
Jim

1 Like

Hi Steven

Thoroughly agree with Trent above. To get anywhere seriously you will need to come to grips with the techniques. Decent tools are the first step. Do not skimp and go for the cheapest on this otherwise you have the very real chance of being so disappointed you could give up the whole exercise.
Nil soldering can only go so far. I refer to a Core video of a short time ago where an OP amp amplifier circuit was demonstrated using a plug in type proto board and a “proper” soldered quality board. The difference between the 2 in frequency response was like the proverbial chalk and cheese. No contest really.

Example: I am currently fiddling with a project requiring a triangle wave generator. On the plug in board I am losing control of the timing capacitor above about 9 kHz du to mainly stray C in the board. Some of this problem could be within the IC used but I will not know until I have built it up on a quality proto board (without the strips of track). But I realise the limitations of the board I am using and am able to act accordingly.
Cheers Bob

4 Likes

Hi Trent
Your reasons for going that way are appreciated and have a lot of merit. You are understandably looking after your target market in educators and hobbyists and after thinking about id it is not that hard to cut a track, the biggest problem as I see it is making sure the track IS CUT. As you say Core have simplified this task by having this area out in the open to minimise potential damage.
It is rather hard to please everybody and cover all possibilities isn’t it. If you had to do this the device would not be viable (too expensive).
Cheers Bob

4 Likes