EYE on NPI – NXP P3S0200GM I3C Switch with Hardware Select and Enable #EYEonNPI @NXP @digikey

This week’s EYE ON NPI (video) has an extra I bonus feature – we’re featuring the NXP P3S0200GM I3C Switch with Hardware Select and Enable.

You might be thinking we made a typo there, as you may be familiar with I2C but have you heard of I3C? Yep, that’s three I’s for ya, and you’ll probably start seeing more sensors, devices and microcontrollers that support I3C which is an extension of I2C with many improvements.

I2C is a sensor interface you are probably well familiar with, just about every microcontroller has I2C hardware support, and about half of peripheral devices and sensors use I2C for data transfer or configuration. I2C is easy to wire up: you only need two data lines. It’s a fairly simple overall communication system: each devices has a 7-bit address, with 1 bit for read/write commands, then data is sent after. You can put multiple devices on one I2C bus as long as the addresses don’t collide, great for low-pin-count setups or chaining. And, hey did you know that NXP invented I2C? Philips, which then became NXP, originally published version 1.0 the I2C specification in 1992 in app note UM10204 – and because it was a well-written, open, and royalty/license-free standard, the entire industry joined in.

But, there are a few things about I2C that can drive folks a little batty. First up is the speed limitations. I2C uses pull-ups for raising the voltage on the ‘open drain’ connections, but it takes time to charge and drain the capacitance of lines and gate inputs through a resistor. I3C does not use external resistors, instead there’s an active pull-up that transitions between Open-Drain and Push-Pull mode. This reduces power usage and allows I3C to run at a spicy 12MHz, well in line with SPI speeds.

Next up, there’s bus contention – woe is the engineer who has to deal with clock stretching on a bus, or missed clocks. I3C thankfully does not permit clock stretching! Peripherals cannot take control of the clock by keeping it pulled down. Instead all devices must respect the clock. “But!” you are saying “what if I’m designing a peripheral and over I3C we get a sensor wakeup or read request, and I’m not ready to immediately answer in time?” Normally you’d have to have to either use polling for a data-ready bit (yuck, uses a lot of power, bandwidth and time) or you can use an IRQ pin. But if you’re using IRQ pins then you’ve just lost the benefits of having a shared 2-wire bus! Well, there’s another nifty capability in I3C for in-band interruption management where the controller can hand off the bus to peripherals to notify when they are ready to be listened to. There’s a great document from NXP showing the high and low level implementation / trace details of I3C vs I2C that we recommend you check out here.

As you start adding I3C controllers and targets into your embedded systems, you may still find yourself dealing with address collisions, or maybe you want to have two controllers connect to one peripheral. Since I3C has a stricter timing requirement for dealing with the high speeds it can perform at, you’ll want a switching chip that is designed for I3C. That’s where the NXP P3S0200GM I3C Switch will come to your rescue. It’s from NXP who helped bring I3C to market, so you know it’s going to work exactly as the specification intends and will also be back-compatible with I2C devices.

And, best of all, the NXP P3S0200GM I3C Switch is in stock now for immediate shipment from Digi-Key, perfect for placement into your next design. Even if you’re only using I2C right now, you’ll be future-proof ready for when sensor and chip revisions start coming out with I3C support. Order today and you’ll be switchin’ by tomorrow afternoon.


Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 32,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — A development to watch: Intel in Ohio

Wearables — Seal the dEaL with this project tip

Electronics — Breadboarding Wire

Python for Microcontrollers — Python on Microcontrollers Newsletter: CircuitPython 7.3.0 RC0 Out and Much More! #Python #CircuitPython @micropython @ThePSF

Adafruit IoT Monthly — Detecting Water Pollution, Smart Girder, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — JP’s Product Pick of the Week 5/17/22 ESP32-S2 QT Py WiFi Dev Board @adafruit @johnedgarpark #adafruit #newproductpick

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



1 Comment

  1. Too bad i3c is managed by MIPI, who really like their patents and license fees.


Leave a comment

Adafruit has a "be excellent to each other" comment policy. Help us keep the community here positive and helpful. Stick to the topic, be respectful of makers of all ages and skill levels. Be kind, and don't spam - Thank you!

Prove you are human by reading this resistor:

0Ω+/- 5%

0
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

5
5
10

Prove you are human by reading this resistor:


Click/tap drag the number in the circle of each slider on the left to the matching color band on the resistor.

Can't view resistor colors? Don't worry! Just type your comment and hit submit without moving the sliders. Our moderators will review and approve in a jiffy.

Click Here for a new resistor image.

New to electronics? Click here to learn how to read resistor values.

Or learn to read resistors by playing Mho's Resistance!