I2C Pull-up Resistors added to Photon motherboard Request

It would really be great if the next hardware revision of Photon had pull-up resistors for D0/D1 for I2C operation. Maybe add 4 solder pads to the bottom of the board to enable this feature. Yes, I understand it would add cost to the hardware.
Some of the hardware I use “Sparkfun” have pull-ups but most don’t.

I also understand on some other platforms, the pinMode “soft” pull-up feature can be enabled eliminating the need for resistors. I don’t know if the Photon’s internal pull-up resistors are in the 4.7 - 10 K range however.

Just a thought for the next gen!

Albert

@albertk836, “soft pull-ups” are available on the Photon but with a value of about 40K ohms, they are too “weak” for I2C. The underside of the Photon is bare of any parts specifically so it can be flush mounted using the castellated edges on a PCB.

Having built-in pull-ups is both convenient and cumbersome at the same time. Which voltage do they pull-up to? Most of the time, external shields and breakouts come with pull-ups so the Photon ones would need disabling. The I2C protocol is well defined and well understood. The issue is not that pull-ups are not included on the Photon. The real issue is that few board makers document their I2C implementation clearly stating whether or not they have implemented pull-ups or not and to what voltage.

I agree (somewhat) with @peekay123 - the “somewhat” part is the “well defined and well understood” part. If I had taken the time to read the I2C specification or if I had prior experience working with I2C I would “understand” that it is “well defined” as I do now. For a first-time user of I2C the fact that it is not well-documented can provide a signifiant obstacle to what should be a simple success. I am not a beginning programmer nor am I new to grokking ugly tech specs in order to write software. I chose the Photon for this project because Seeed has a “Grove Base” for it and there is a very nice I2C Motor Driver in their Grove offerings. If you haven’t used Grove, it’s a more-or-less plug-and-play system for sensors and actuators. Their Wiki makes no mention of the resistors at all. After having had this experience it won’t be an issue for me ever again but it seems to me that the Grove Base ought to offer a pair of resistors with jumpers on SDA and SCL. @peekay123 is quite correct that the real issue is documentation, not technology. I contacted Seeed Studios and they are having the developer update the Wiki to explain the pull-ups.

2 Likes