New I2C standard document by NXP : "Controller" and "Target"

"Controller" and "Target" :

There is a new version of the standard I2C document "UM10204.pdf", it is Version 7 of October 1, 2021 (link to document fixed per December 2021)

The biggest change is other names for "Master" and "Slave". It is now "Controller" and "Target".

I think we all should use "Controller" and "Target" from now on.
That means the "Master Writer/Slave Receiver" example should be called "Controller Writer / Target Receiver".

Background information :

The Philips company in the Netherlands created the I2C bus 40 years ago. That part of the company became "NXP". They set the standard for the I2C bus.

The UM10204 is the most referenced document, and was not changed since 2014.

In the new version are also a few other changes. As far as I can tell, they are minor changes. Everything that concerns the existing I2C bus is the same.

Sparkfun has changed the names to "Controller" and "Peripheral" some time ago (see their page about I2C). I think they have to change it to "Controller" and "Target" as well.

1 Like

Now this document is "politically correct" :frowning:

The new religion of wokeism...

There is nothing new about adverse reactions to the abhorrent dyad "master/slave".

When I was learning electronics in college in the early 1990s, the lecturer began to teach us about master and slave flip-flops. I baulked and considered leaving the course, and asked the lecturer about the origins of these words and how they made their way into the electronics field.

This started a lively debate amongst the others in the lecture, so the lecturer asked us to invent new terms. We discussed father and son flip-flops that mirrored the terms motherboard and daughterboard; and master/servant. I suggested senior and junior flip-flops like a in a legal practise where you typically have senior and junior partners working in consensual harmony.

This has been a frequent topic of discussion amongst students for decades when they are confronted with the abhorrent dyad of "master/slave" for the first time in the classroom or lecture theatre.

NXP Semiconductors recently released v7 of the I2C-bus specification which has:

Updated the terms "master/slave" to "controller/target" throughout to align with MIPI I3C specification and NXP's Inclusive Language Project

More broadly, the abhorrent dyad of "master/slave" is being deprecated from the field of electronics.

I will admit I've never been in, nor has my family line been in a situation where master/slave referred to human beings. So I fortunately don't have personal connection with the use of these words.

I understand these words remind some folks of the horrible concept that one human can own another. However we must remember, these are only words and their meaning is only in context or the receivers mind.

I believe that unfortunately somewhere in the world there are people with what we would call a actual master/slave relationship. I doubt they use the same words (perhaps a different language). And it is repugnant that it can occur in this day and age.

My point being the words are not the issue but the concept some folks conjure up when they here these words. Per Merriam-Webster dictionary, the word slave has multiple meanings, one is the control of a human being, another is a device dependent or controlled by another.

There are many others:

Kill switch vs Kill something vs Kill someone. All valid but with far different connotations.

My point being: its not the words that are the problem but the receivers interpretation of the intended meaning. Removing these works from printed material isn't going to do a bit of good, maybe even harm and folks will think they have done something "good" when in fact they have only masked the problem. Kind of like putting perfume in an outhouse waste pit.

Besides being in the wrong forum category, I expect some heated responses.

1 Like

If this is the kind of stuff that offends you, you are either

  • a very weak individual, or
  • you live a comfortable life, you never know what a real oppression looks like, and you need to be "oppressed" so you can relate to the actual people that is suffering

NXP sets the standard. They say it is "Controller" and "Target" from now on. So it is.

These are the words of a paid promoter of a company that hides marketing tricks behind a political correctness jacket. Is the Arduino forum converted into a marketing platform now?

What are the precise, historical origins, of the use of the terms 'Master' and 'Slave' ?

In electronics context a slave is a device that must unconditionally follow the signals and protocols of its master device. Pretty close to the same dependencies in human context.

Slavery is documented in the laws of the first human cultures already. You may not like it in human context, but in technical context it often is indespensable.

Are you suggesting that I'm a paid promotor ? That is so weird.
The "standard" I2C document is "UM10204" by the inventers of the I2C bus, it really is.

@DrDiettrich By the way, if you look into your Profile, then Summary, then scroll down to "Most liked by", guess who is on top ?

Meanwhile, NXP has made a bad move in my opinion. The UM10204 document is behind a login wall at the moment or maybe it was removed.
To log in, NXP demands that I fill in my company name and address and phone number and I must allow that my information is shared with others. This is so bad.

Let's wait a month and hope that this annoying situation about the UM10204 document will be better.

The situation one month later (November 25, 2021) is still bad.

The I2C Standard "UM10204" is still behind a login wall.
It is a nasty login wall because I must give all kind of information, such as the phone number of the company.
As a result, the I2C Standard "UM10204" is now only for a select group of people.

The linux kernel encountered the same problem (mirrored thread here) and changed the link to a previous version at Pololu (pdf of previous version at Pololu). That previous version has no "Controller" and "Target" yet.

Someone asked at the forum of NXP about it, and they answered with the UM10204 document in a attachment.
Since that forum is public and a link to that attachment is public, there is now a public link to the UM10204 document, Version 7 of 2021, provided by NXP : UM10204.pdf (non-official) public link

I would happily run ahead, telling everyone that it is "Controller" and "Target" from now on, but not like this. I don't want to be part of a select group of people that is allowed to read about "Controller" and "Target" in the new I2C Standard UM10204 document.

Update 7 December 2021

NXP has made the new version of the UM10204 document public again. It is no longer hidden behind a login wall.


UM10204.pdf : https://www.nxp.com/docs/en/user-guide/UM10204.pdf


That is the same same public link that is used for years for that document.
I can not find any explanation from NXP.


Update 13 November 2022

A year later, and NXP has once more hidden the UM10204.pdf document behind a log-in wall :rage:


Update 20 May 2023

Half a year later, NXP has removed the login wall for the UM10204.pdf document :smiley:
Try for yourself if you can get it without logging in: https://www.nxp.com/docs/en/user-guide/UM10204.pdf

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.