
Is This the NEW GOLDEN Standard for Communication EB#60
video description
Date: 2024-09-27
Related videos
Comments and reviews: 20
TomTRobot
I'd like to know if MIPI is providing their Manufacturer IDs for free, or is doing something like charging thousands of dollars for a Vendor ID like the USBIF does. Unfortunately, MIPI put the terms of their Manufacture ID agreement behind one of those give your name, company, phone, email, favorite color. registration forms before you can (maybe) get a look at the terms.
BTW: Dynamic address assignment is not new with I3C. The SMBus specification has had an Address Resolution Protocol that supports dynamic address assignment that can also be used in I2C devices. I haven't looked at the I3C spec, but I expect that it uses essentially the same basic approach. The reason that dynamic addressing hasn't been used in most I2C devices is because it makes for significant additional complexity in the interface for something like a temperature sensor or SEEPROM.
SMBus, IPMI's IPMB, and the DMTF's MCTP over SMBus/I2C also included forms of non-polled 'in band' alerting. In band alerting, however, requires the additional complexity of handling bus arbitration since the sender essentially had to be able to become a bus owner to send the event while being conformant with the I2C specification.
Consequently, most simple devices would stick with either the SMBAlert signal or rely on being polled, while in-band alerting would be used between microcontrollers or more sophisticated devices such as LAN controllers that have embedded microcontroller logic or equivalent.
reply
I'd like to know if MIPI is providing their Manufacturer IDs for free, or is doing something like charging thousands of dollars for a Vendor ID like the USBIF does. Unfortunately, MIPI put the terms of their Manufacture ID agreement behind one of those give your name, company, phone, email, favorite color. registration forms before you can (maybe) get a look at the terms.
BTW: Dynamic address assignment is not new with I3C. The SMBus specification has had an Address Resolution Protocol that supports dynamic address assignment that can also be used in I2C devices. I haven't looked at the I3C spec, but I expect that it uses essentially the same basic approach. The reason that dynamic addressing hasn't been used in most I2C devices is because it makes for significant additional complexity in the interface for something like a temperature sensor or SEEPROM.
SMBus, IPMI's IPMB, and the DMTF's MCTP over SMBus/I2C also included forms of non-polled 'in band' alerting. In band alerting, however, requires the additional complexity of handling bus arbitration since the sender essentially had to be able to become a bus owner to send the event while being conformant with the I2C specification.
Consequently, most simple devices would stick with either the SMBAlert signal or rely on being polled, while in-band alerting would be used between microcontrollers or more sophisticated devices such as LAN controllers that have embedded microcontroller logic or equivalent.
reply
AnWe79
I3C seems pretty neat, but I'm not sold on it yet (see below why.
Funny coincidence, I came across I3C while skimming the iCE40 UltraPlus datasheet the other day.
I have an iCEBreaker dev board that I still haven't done anything useful with, hence why I was reading up on the FPGA that's on it. So if you want a cheap FPGA with I3C hardware, that might be your best bet. The datasheet is pretty void of I3C specifis though, so not sure how to set those extra pins up for use.
BTW, not sure if you've played around any with FPGAs It's pretty mind-boggling what they can do, and nowadays with an all open source toolchain, if you select the correct chip.
I'm a little sceptical of I3C though. The basic version of the spec is freely available (behind a registration wall, but the full version is not.
I had a look at what it would take to get hold of the full spec, and it's members only, a $2k quarterly fee seems to be the minimum to join, download and ghost them (and then you wouldn't legally be able to implement the spec anyway I assume. Not sure what the exact content of the basic spec is, can't be bothered to register for a download (until I have an actual need at least.
reply
I3C seems pretty neat, but I'm not sold on it yet (see below why.
Funny coincidence, I came across I3C while skimming the iCE40 UltraPlus datasheet the other day.
I have an iCEBreaker dev board that I still haven't done anything useful with, hence why I was reading up on the FPGA that's on it. So if you want a cheap FPGA with I3C hardware, that might be your best bet. The datasheet is pretty void of I3C specifis though, so not sure how to set those extra pins up for use.
BTW, not sure if you've played around any with FPGAs It's pretty mind-boggling what they can do, and nowadays with an all open source toolchain, if you select the correct chip.
I'm a little sceptical of I3C though. The basic version of the spec is freely available (behind a registration wall, but the full version is not.
I had a look at what it would take to get hold of the full spec, and it's members only, a $2k quarterly fee seems to be the minimum to join, download and ghost them (and then you wouldn't legally be able to implement the spec anyway I assume. Not sure what the exact content of the basic spec is, can't be bothered to register for a download (until I have an actual need at least.
reply
greatscott
The features of I3C that it adds make it where more complicated projects are going to use it. As micro controllers roll out with support for it built in, you will see more people and devices using it. Same thing happened with I2C. From a project standpoint, the interrupt feature alone is incredibly useful since the pins on a board are always a limiting factor on what your micro controller is going to be doing at the end of the day without putting peripherals or shields on it to get more. Inputs and outputs limiting you are always a problem when you are doing large projects with PLCs as well, so unless you are staying small, the same thing is going to happen here.
Now the bandwidth is going to let you do some much higher grade data for the micro-controller to work with, so look for it also allowing better robots and other feedback based projects. You'd be surprised what upping the resolution on an ADC input for a PID will do for stability.
reply
The features of I3C that it adds make it where more complicated projects are going to use it. As micro controllers roll out with support for it built in, you will see more people and devices using it. Same thing happened with I2C. From a project standpoint, the interrupt feature alone is incredibly useful since the pins on a board are always a limiting factor on what your micro controller is going to be doing at the end of the day without putting peripherals or shields on it to get more. Inputs and outputs limiting you are always a problem when you are doing large projects with PLCs as well, so unless you are staying small, the same thing is going to happen here.
Now the bandwidth is going to let you do some much higher grade data for the micro-controller to work with, so look for it also allowing better robots and other feedback based projects. You'd be surprised what upping the resolution on an ADC input for a PID will do for stability.
reply
flisboac
One thing I dislike about I3C is the fact that there are actually two different versions, with different capabilities: MIPI I3C and MIPI I3C Basic. This makes things somewhat confusing when selecting a device, because you will have to double-check the degree of support for each of them.
Fortunately, I3C Basic is essentially royalty free, AFAICT. I suppose MIPI Alliance did this in order to increase adoption. However, the paid I3C has some cool functionality (multiple data lanes, device termination monitoring, Common Command Codes that work only on paid version, etc, but are gated by compliance and, most importantly, royalties, for which the cost will eventually be passed on to the end user.
reply
One thing I dislike about I3C is the fact that there are actually two different versions, with different capabilities: MIPI I3C and MIPI I3C Basic. This makes things somewhat confusing when selecting a device, because you will have to double-check the degree of support for each of them.
Fortunately, I3C Basic is essentially royalty free, AFAICT. I suppose MIPI Alliance did this in order to increase adoption. However, the paid I3C has some cool functionality (multiple data lanes, device termination monitoring, Common Command Codes that work only on paid version, etc, but are gated by compliance and, most importantly, royalties, for which the cost will eventually be passed on to the end user.
reply
greatscott
I just read up a little bit on I3C, and some interesing notes:
It seems that an I3C controller can talk to legacy I2C devices, which is nice.
It seems there's a ESP32-P4 which has an I3C controller. But checking on AliExpress, that MCU doesn't to have been popular.
Because of the high speed, it's almost impossible to implement I3C in software in order to bit-bang it on older devices.
I wonder if there's a some I2C-to-I3C translation IC available Might make the transition easier.
It's a pity there doesn't seem to ba a I2. 5C which takes some parts of I3C (common codes, lack of resistors) but would allow most older ICs to implement it in software.
reply
I just read up a little bit on I3C, and some interesing notes:
It seems that an I3C controller can talk to legacy I2C devices, which is nice.
It seems there's a ESP32-P4 which has an I3C controller. But checking on AliExpress, that MCU doesn't to have been popular.
Because of the high speed, it's almost impossible to implement I3C in software in order to bit-bang it on older devices.
I wonder if there's a some I2C-to-I3C translation IC available Might make the transition easier.
It's a pity there doesn't seem to ba a I2. 5C which takes some parts of I3C (common codes, lack of resistors) but would allow most older ICs to implement it in software.
reply
uwezimmermann5427
As a student working extra shifts in the mid-1990s I was hand-soldering smd components onto circuit boards for a small start-up company. I soldered quite a few boards during my first night shift and went home happily. The next day I was told that someone had to correct all my mistakes - I had soldered all tantalum capacitors in the wrong way - also assuming that the thick line was the negative marker as on the aluminum electrolytics which I was familiar with.
Why, why, why. why is it the positive electrode on tantalums which has a stripe as a marking Of course it cannot be changed now, since it has been established over decades, but still, why
reply
As a student working extra shifts in the mid-1990s I was hand-soldering smd components onto circuit boards for a small start-up company. I soldered quite a few boards during my first night shift and went home happily. The next day I was told that someone had to correct all my mistakes - I had soldered all tantalum capacitors in the wrong way - also assuming that the thick line was the negative marker as on the aluminum electrolytics which I was familiar with.
Why, why, why. why is it the positive electrode on tantalums which has a stripe as a marking Of course it cannot be changed now, since it has been established over decades, but still, why
reply
BogdanSorlea
maybe the solution for I3C is a compromise (maybe already existing, as interoperability with I2C devices should have been desired/considered) where you can still have a I2C-only device join the bus, configured with a static address and then ensure that the communication to and from it happens at I2C levels and routines, although I'm not fully sure how an I2C bus connection would need to be augmented to ensure signal consistency, etc - but again, unsure if I3C is designed with such backwards compatibility. maybe food for thought, something for you to try out - maybe also in some hacky, bit-banging kind of way
reply
maybe the solution for I3C is a compromise (maybe already existing, as interoperability with I2C devices should have been desired/considered) where you can still have a I2C-only device join the bus, configured with a static address and then ensure that the communication to and from it happens at I2C levels and routines, although I'm not fully sure how an I2C bus connection would need to be augmented to ensure signal consistency, etc - but again, unsure if I3C is designed with such backwards compatibility. maybe food for thought, something for you to try out - maybe also in some hacky, bit-banging kind of way
reply
ChristieNel
Very neat and nice I3C intro video! I look forward seeing what you manage to do with it in the future. I've been interested in I3C since Microchip implemented it, but haven't had a reason to use it yet. I2C is actually very complicated to implement professionally - dealing with data corruption, lockup states and recovery sequences, also working at high speed reliably for things like I2C displays and multiple devices on the same bus. An I2C host implementation also adds another level of complexity. May I recommend testing one complete board before soldering the rest
reply
Very neat and nice I3C intro video! I look forward seeing what you manage to do with it in the future. I've been interested in I3C since Microchip implemented it, but haven't had a reason to use it yet. I2C is actually very complicated to implement professionally - dealing with data corruption, lockup states and recovery sequences, also working at high speed reliably for things like I2C displays and multiple devices on the same bus. An I2C host implementation also adds another level of complexity. May I recommend testing one complete board before soldering the rest
reply
thewebmachine
With the vast penetration of I2C, the need for a new hardware stepping to add the inner workings, and the slow pace at which these controllers get developed and revised, I expect that I3C's adoption will be just as slow as mainstream microcontroller adoption of the 5 GHz Wi-Fi band. It'll be many years yet before I3C can be used across all of our microcontrollers and devices. As clunky and sometimes unreliable as I2C can be, we're stuck with it for the foreseeable future.
reply
With the vast penetration of I2C, the need for a new hardware stepping to add the inner workings, and the slow pace at which these controllers get developed and revised, I expect that I3C's adoption will be just as slow as mainstream microcontroller adoption of the 5 GHz Wi-Fi band. It'll be many years yet before I3C can be used across all of our microcontrollers and devices. As clunky and sometimes unreliable as I2C can be, we're stuck with it for the foreseeable future.
reply
greatscott
For EM purposes, would it not be better to have all the signals in the middle two layers with GND and PWR on the top and bottom layers You could use Via-in Pad.
Then you limit the distance required for a via if signals need to switch layers, for routing, and you are also not changing as dramatically the plane the signals are connected to with their EM field. If your board manufacturer supports it, you could also use hidden vias to keep a more solid GND and PWR plane.
reply
For EM purposes, would it not be better to have all the signals in the middle two layers with GND and PWR on the top and bottom layers You could use Via-in Pad.
Then you limit the distance required for a via if signals need to switch layers, for routing, and you are also not changing as dramatically the plane the signals are connected to with their EM field. If your board manufacturer supports it, you could also use hidden vias to keep a more solid GND and PWR plane.
reply
GingerNingerGames
Bitbanging is one of those things you should do if you have to. The hardware is there, it's not hard to learn how to use and it means most of the time, at least with the 328p, you can just send and receive data without your code having to handle all of the steps involved. I don't get why so many people wanted you to bitbang, that seems backwards to me.
Also, I-Cubed-C is what I would've thought it'd be called. But it's not written as such
reply
Bitbanging is one of those things you should do if you have to. The hardware is there, it's not hard to learn how to use and it means most of the time, at least with the 328p, you can just send and receive data without your code having to handle all of the steps involved. I don't get why so many people wanted you to bitbang, that seems backwards to me.
Also, I-Cubed-C is what I would've thought it'd be called. But it's not written as such
reply
EricJorgensen
In 2001, logitech released the iFeel MouseMan, a usb optical mouse with haptic feedback. It used the simple motor w/ offset weight sort of device. Out of the box the software it came with was really crude with exaggerated vibration which might be why it didn't sell well, but if you installed an update downloaded from their website it could be tuned down really subtle and it was pretty nice to have that feedback.
reply
In 2001, logitech released the iFeel MouseMan, a usb optical mouse with haptic feedback. It used the simple motor w/ offset weight sort of device. Out of the box the software it came with was really crude with exaggerated vibration which might be why it didn't sell well, but if you installed an update downloaded from their website it could be tuned down really subtle and it was pretty nice to have that feedback.
reply
pastek957
I don't really see it catching on. SPI is still faster, CAN is still more robust, it doesn't exactly seem to fill a niche. Most I2C chips require extensive register initialization so hot-join is 95% of the time impossible (or more exactly too much of a pain to bother writing code for)
That being said it can be slowly implemented since it's retro-compatible, but the loss of simplicity is a huge loss imo
reply
I don't really see it catching on. SPI is still faster, CAN is still more robust, it doesn't exactly seem to fill a niche. Most I2C chips require extensive register initialization so hot-join is 95% of the time impossible (or more exactly too much of a pain to bother writing code for)
That being said it can be slowly implemented since it's retro-compatible, but the loss of simplicity is a huge loss imo
reply
60mithai
Videos like these is why I love your content! I originally did EE but ended up in software, did not manage to carry forward any wealth of knowledge from university. But now i have kinda reignited my hobby electronics phase hoping to finally implement some dream projects, and your videos are very helpful in info and frugality ( this is an expensive hobby after all. Thanks for your hard work.
reply
Videos like these is why I love your content! I originally did EE but ended up in software, did not manage to carry forward any wealth of knowledge from university. But now i have kinda reignited my hobby electronics phase hoping to finally implement some dream projects, and your videos are very helpful in info and frugality ( this is an expensive hobby after all. Thanks for your hard work.
reply
desmond-hawkins
When I3C will catch on It first came out in late 2016 and was discussed as far back as 2014. I mean, it's possible that it's just about to become popular after 8 years and with almost no devices supporting it, sure. This video might not really help its popularity when it ends with I2C is sufficient, but who knows maybe it will succeed. It is technically possible.
reply
When I3C will catch on It first came out in late 2016 and was discussed as far back as 2014. I mean, it's possible that it's just about to become popular after 8 years and with almost no devices supporting it, sure. This video might not really help its popularity when it ends with I2C is sufficient, but who knows maybe it will succeed. It is technically possible.
reply
Alacritous
There's nothing inherently unique about that haptik actuator, you could produce similar results with a piezo crystal speaker and piece of stiff material glued to its face. I mean it would take some experimenting but I don't see anything particularly challenging there. The timing of the pulses is easy enough. How about a DIY or BUY
reply
There's nothing inherently unique about that haptik actuator, you could produce similar results with a piezo crystal speaker and piece of stiff material glued to its face. I mean it would take some experimenting but I don't see anything particularly challenging there. The timing of the pulses is easy enough. How about a DIY or BUY
reply
RobStark-fw6ig
Hi scott,
Please can you make a video on rf based rx and tx modules with least components with speed of allmost 10kbps that uses one way transmission and have range about 200 meters. Please try this project i am not getting good results with rf 433mhz rx and tx boards. And i also want to learn about them more.
reply
Hi scott,
Please can you make a video on rf based rx and tx modules with least components with speed of allmost 10kbps that uses one way transmission and have range about 200 meters. Please try this project i am not getting good results with rf 433mhz rx and tx boards. And i also want to learn about them more.
reply
stdorn
I just did the same thing with a tantalum cap adding filters to an esp32. I dont get it was always stripe - on through hole and stripe cathode on diodes for decades. What joker decided it should be oppisite on polarity of a sensitive device that can start a fire. Smart, real smart. I had no idea there was an I3C.
reply
I just did the same thing with a tantalum cap adding filters to an esp32. I dont get it was always stripe - on through hole and stripe cathode on diodes for decades. What joker decided it should be oppisite on polarity of a sensitive device that can start a fire. Smart, real smart. I had no idea there was an I3C.
reply
calamity3457
Just wanted to add that there are a handful of STM32 micros that support I3C. As an example, the STM32H503 supports it. The official NUCLEO-H503 devboard is $15 or the micro itself is around $3 to $4. There might be cheaper options from ST, but I personally own a NUCLEO-H503 which is why it came to mind
reply
Just wanted to add that there are a handful of STM32 micros that support I3C. As an example, the STM32H503 supports it. The official NUCLEO-H503 devboard is $15 or the micro itself is around $3 to $4. There might be cheaper options from ST, but I personally own a NUCLEO-H503 which is why it came to mind
reply
greatscott
hello mr scott thank you for all the efforts you put in the videos you make it's just awesome i just wanted to know how does the sensor interract with a user i didn't quite undestand the working principle and if anyone sees my comment and undestands the operation please tell me, thank you very much
reply
hello mr scott thank you for all the efforts you put in the videos you make it's just awesome i just wanted to know how does the sensor interract with a user i didn't quite undestand the working principle and if anyone sees my comment and undestands the operation please tell me, thank you very much
reply
Add a review, comment
Other channel videos















