An Introduction to the CE Header

Originally published at:


I want to ask a general question about communication protocols. I noticed seeing pins for different protocols (SPI, UART, and I2C): What is the purpose of using different communication protocols on the same header/board? Aren’t we supposed to choose one according to the desired application?

I also want learn more about these protocols and its applications (specifically in embedded systems), is there a tutorial or a video on CE about this topic? If not, can you recommend something on the internet? Thanks.

Best regards,
Omar Maaly

One interface might go to customer interface, another to developer debug If, a third to expansion boards. A forth to local chips (SPI, I2C)

I highly recommend @dan_h’s content on the topic of I2C and SPI. Added bonus: he’s a former CE student and a current coworker!