PROTOCOLS: UART - I2C - SPI - Serial communications

Поділитися
Вставка
  • Опубліковано 24 гру 2024

КОМЕНТАРІ • 768

  • @avishjain4226
    @avishjain4226 3 роки тому +233

    That was a nice explanation! However, I want to mention few things
    1. I2C is Half-Duplex (not Simplex)
    2. SPI is Full Duplex
    3. In I2C, we can configure the peripheral to both the modes - Acknowledge and No Acknowledge

    • @elhoward7440
      @elhoward7440 3 роки тому

      SMBus and I2C are slightly different protocols using the same hardware. Isn't No Acknowledge actually SMBus?

    • @AMG-gc4io
      @AMG-gc4io 3 роки тому +2

      what is I2C Protocol in Arduino Nano ?

    • @knuckleduster05
      @knuckleduster05 2 роки тому +6

      @@elhoward7440 no, ACK and NAK are both part of the I2C addressing protocol. When you write to a slave, the slave needs to pull down the SDA line to ACKnowledge that it is ready to receive communications.

    • @thekitsunedev_hun
      @thekitsunedev_hun 2 роки тому +2

      @@AMG-gc4io Its the Wire.h library and the same pinout as the uno (A4,A5)

    • @ksawery6568
      @ksawery6568 Рік тому +4

      Also, I don't think you say Bauds/second, as 1 Baud = 1 bit/second

  • @savage8336
    @savage8336 5 років тому +123

    This is honestly one of the most helpful videos I've ever watched. I wish I saw this in school a few years ago.

    • @mugglepower
      @mugglepower Рік тому

      fuck schools man schools never teach you shit. of the 100% of content I learnt from college(in which my major MATSE is top 10 in US) probably 15% of the shit is actually useful. rest they just make you jump through hoops and run in circles and chase your own tail. I talked to professors and very smart people(well, smarter than me for sure) and they all tell me they purposefully make this shit difficult. I picked up more programming stuff in a month with my flipper zero than an entire semester worth of programming courses in college/. by the end I finished my college programming class i still have trouble fucking printing hello world but with interest and a bit of self learning I'm writing sql now.

    • @AiJ_Alew
      @AiJ_Alew Рік тому +6

      I m not of this theme. Even dont know what that chips are for.... i m cab driver . Wanted just watch some fun on utube before sleep.
      And even I understood how these guys communicate😊
      Really good lesson.
      I wish i could see that 50 years ago. Maybe that could change my life

  • @puriap250
    @puriap250 5 років тому +33

    Finally I understand how timing of serial communication works. Thank you.

  • @arnavjain7564
    @arnavjain7564 5 років тому +42

    This is something I was really planning to study and the fact that you made a video on this at the perfect time is just awesomeee thanks😄

  • @pertileluca
    @pertileluca 5 років тому +24

    In every video your animations are a pleasure for the eyes!

  • @harshdesai1932
    @harshdesai1932 5 років тому +16

    You just have made me understand one of my most confusing Topic. so glad to have you in my subscription list. You are amazing. realmente te aprecio hermano

  • @rayhan8701
    @rayhan8701 3 роки тому

    this is the only video on the youtube which is very clean about protocols

  • @djihadbouakaz6355
    @djihadbouakaz6355 Рік тому

    The most simplified video in the field of telecommunication ever, thanks a lot

  • @wgm-en2gx
    @wgm-en2gx 5 років тому +509

    CAN and JTAG would be interesting.

    • @adiigeak8568
      @adiigeak8568 5 років тому +2

      +1

    • @whootoo1117
      @whootoo1117 5 років тому +18

      JTAG, CAN, RS-232 & MIDI

    • @Ashishchabha
      @Ashishchabha 5 років тому +22

      CAN is also very commonly used in protocols. Please make a video.

    • @DanielToebe
      @DanielToebe 5 років тому +3

      Yes I would love to see a deep dive in to can

    • @MarceloCutin
      @MarceloCutin 5 років тому +10

      Absolutely agree. CAN bus would be great.

  • @abdulkhadarmohd7283
    @abdulkhadarmohd7283 5 років тому +26

    Yes sir we want more videos on this topic thank you, you are awesome
    Love from india

    • @puneethkumar703
      @puneethkumar703 4 роки тому

      hi Mohammed Arbaz,
      I am a part of the open-source Arduino simulator development team. It will be great if you can have a look and share your feedback🙏😃
      Some of the examples are here
      wokwi.com/arduino/libraries
      and here
      www.wokwi.com as well
      if it is interesting kindly let me know

  • @garrytuohy9267
    @garrytuohy9267 Рік тому

    Nicely summarized. It would be interesting to see how JTAG compares with these protocols.

  • @cmfanz
    @cmfanz 5 років тому +4

    @electronoobs, just a little correction needed in the table at 10:27. I2C does have an acknowledge system. The slave will pull the SDA line low when it has successfully received the transmission from the master. This will show up as the last pulse that appears after all the data bits are transmitted. This last pulse will be a high if the master does not receive an acknowledge from the slave. This way, you can clearly get a confirmation of the handshake.

  • @GuilhermeFerreira-po5ek
    @GuilhermeFerreira-po5ek 4 роки тому

    O sotaque não engana. TUGAS NO PODER!

  • @ak771-i9i
    @ak771-i9i 3 роки тому

    You removed all the doubts which I had since 30 years in my mind
    Thanks alot

  • @yadusolparterre
    @yadusolparterre 4 роки тому +2

    Wow, it's really rare to find videos that are explained so clearly !

  • @neilbedwell7763
    @neilbedwell7763 Рік тому +2

    Really concise summary. I had next to no idea of each of these implementations, or even much of an idea of their spec beyond a communication vector, so this becomes a very welcoming introduction and comparison

  • @MrForcat
    @MrForcat Рік тому

    Masterclass, I studied a bit of this decades ago but much better explained. Now I want to create an MBUS CDC emulator for 30 years old car stereos.

  • @acecool1715
    @acecool1715 3 роки тому +2

    This is great, hope this series continues

  • @elhoward7440
    @elhoward7440 3 роки тому +2

    PCIe uses serial lanes because of another advantage of serial, parallel interfaces suffer from signal skew of bits sent over traces of differing length, so the top clock speed of a serial bus can be higher than the top speed of a parallel bus. PCIe can have up to 16 serial lanes, but data is divided a byte at a time to each lane rather than a bit at a time. We have such good serdes chips now that serial is taking over.

  • @jvon3885
    @jvon3885 4 роки тому

    I wish I would have paid more attention in school. But I'm glad ppl like you are around to whip me into shape.

  • @SahilKhan-pt6pj
    @SahilKhan-pt6pj 5 років тому +2

    Why not you should surely post more.I really admire and thank you for these videos.Keep it up.

  • @dontstop_fun6
    @dontstop_fun6 4 роки тому

    Since long time, I was searching for such an explanation and today by your video my concept got clear about bauds transmission. I'm really thankful to you for that.

  • @ayushkaiwart2451
    @ayushkaiwart2451 4 роки тому

    Easy understand videos. Its Better than the IOT class lectures that i attended in my college.

  • @greymind0072
    @greymind0072 4 роки тому +24

    I respect and really appreciate the effort it would have taken for you to make such nice animations for explaining. Its a delight to see your work . I'm a fan, really helped me to understand concepts better. I will appreciate if you show more of oscilloscope result with a simple example data. Otherwise i love the work. Its just A1 class

  • @dikshitadesai
    @dikshitadesai 2 роки тому +2

    I so appreciate you elaborating these concepts on the circuit boards. That literally saved me hours of hustle. Very well explained! Thank you

  • @spabbarter
    @spabbarter 4 роки тому +4

    Please hook us up with the JTAG and CAN most definitely. USB and debug would be helpful as well. I’ve had a lot of trouble finding good videos for these, but this one on serial communications was superb!! Well done!

  • @RohitSingh-px7op
    @RohitSingh-px7op 3 роки тому

    Oh my God !!! i am so thankful to you. I mean u did so much effort on one video for explaining each and everything and that too for free❤️❤️❤️❤️❤️❤️u r legend

  • @fldr4362
    @fldr4362 Рік тому +2

    what a tutorial! wow thank you my friend!

  • @Tyler-kh6gp
    @Tyler-kh6gp 4 роки тому +2

    This is a really awesome video! I've rewatched it 3 or 4 times over the years to prepare for interviews

  • @balajiprakash1130
    @balajiprakash1130 4 роки тому +6

    The best explanation I have ever heard!!! Hats off ;) This video just solved a great mystery in my mind on serial communication.

  • @kentkvalnes4621
    @kentkvalnes4621 2 роки тому

    This presentation was one of the best I've seen in a while. Simple and very easy to understand. thanks🙂

  • @arijitghosh6378
    @arijitghosh6378 4 роки тому +8

    Thanks for simplifying these seemingly complex protocols for us. Up until now I kinda treated them as black boxes in my head to keep the complexity away but now it feels great to have a fundamental understanding of how they work. Although Id love to see a bit more explanation on SPI.

  • @bramburn
    @bramburn 4 роки тому +2

    Dude I couldn’t explain this any better. Well done

  • @abdullahkhan-qk3lk
    @abdullahkhan-qk3lk 3 роки тому

    So far the Best Video i have seen on Communication Protocols! Amazing explanation bro!

  • @davewreski6900
    @davewreski6900 4 роки тому

    You make it much easier to understand using your Scope. It is nice to see someone knows what a Oscope to display what you are describing. Keep up the good work. UP SCOPE !

  • @SearchFT
    @SearchFT 4 роки тому

    Very nice informative. Short and sweet. No wharra wharra. Just straight talk, how technical people like it 😋👍🏻 Thanks

  • @rehmankhan-ve9vo
    @rehmankhan-ve9vo 4 роки тому

    Thanks sir I am lucky that I have found this video. This is the best explanation about digital protocols that I have ever seen.
    Thanks a lot for this.

  • @drnda2007
    @drnda2007 2 роки тому

    Very good and, I'd say, 'honest' presentation, quick enough not to be boring and without any unnecessary talk to make video purposely longer.

  • @whitenorthstar
    @whitenorthstar 2 роки тому

    The best explanation I have come across thus far...thanks!

  • @montaguemonro565
    @montaguemonro565 3 роки тому

    This is the first video that explains this in a way that makes perfect sense to me. Thanks!

  • @TheHookUp
    @TheHookUp 5 років тому +2

    This is a really great video. I teach this in my intro to engineering class and this video is going to be a must watch addition to that lecture. Cheers.

  • @rgusso
    @rgusso Рік тому

    best video so far explaining protocols in a simple way! thanks for doing it!

  • @justdoingodswork
    @justdoingodswork 3 роки тому +6

    We need a video on CAN protocols too, thank you so much for this video.

  • @bassome3000ify
    @bassome3000ify 5 років тому +1

    This is awesome amazing superior mesmerizing unbelievable overwhelmingly beautiful and breathtaking
    This is super important, and when you make a video about it, it becomes demystified, understandable by humans 😁 thanks a ton a ton, keep it up, love your work.
    I am sure most of your audience agree with me

  • @taimooredits1841
    @taimooredits1841 2 роки тому

    Great, this video is more helpful for everyone. your way to teach is totally awesome.

  • @JasonDrennen
    @JasonDrennen 4 роки тому

    Thank you sir I have been using these protocols for quite a few years now. This video explained it to me better then I've ever understood. I would just hook it up as it said and not realize the difference.

  • @kothamahesh100
    @kothamahesh100 3 роки тому

    Its really a clear explanation with all the variations among communication protocols. Expecting vedios on CAN and JTAG. thanks for the vedio..

  • @benhetland576
    @benhetland576 5 років тому +91

    Speaking of "bauds per second" is actually not very useful in this context, because the term "baud" itself actually means "state changes per second"! (Thus bauds/sec would technically be the _change_ in the rate of communication.) A change in state of a communication line may also - and often does - represent more than one bit, although for I2C and RS-232 it does indeed represent only 1 bit per (potential) state change, so its baudrate equals the bitrate or bps (bits per second).

    • @kuukatti
      @kuukatti 5 років тому +8

      And also, I2C does not need to know the baud-rate beforehand, that's why we have a wire for a clock.

    • @alteriaautomation6867
      @alteriaautomation6867 4 роки тому +2

      yeeep

    • @remus-alexandrusimion3439
      @remus-alexandrusimion3439 3 роки тому +2

      In most digital communications baudrate is bitrate. The difference applies to analog communication, where phase shift and multiple amplitudes can encode bits.
      And yes, all sync communication can lack the bit rate information since the clock establishes the bitrate. It is however usual to establish some margins for each device, and if master is outside those margins errors can occur (usually due to hardware timing restrictions of some other kind).

    • @hansdegroot652
      @hansdegroot652 8 місяців тому

      So i2c could do adaptive baud rate? In theory at least

    • @yasirrakhurrafat1142
      @yasirrakhurrafat1142 3 місяці тому

      ​@@hansdegroot652 i think you could develop a program on the sending and receiving device. That'd send a signal to the receiving device to change its baud rate (on the receiving device). On the uart communication system as well, although it'd take its sweet time for the changes to take effect.
      As for the i2c, itd be just about instantaneous. Soo, yes.. theoretically you could have adaptive baud rate on the i2c, although I think a predetermined, static rate should probably be more efficient and stable.

  • @moinshaikh6684
    @moinshaikh6684 4 роки тому

    Very very nice explaination with practical! We need such brilliant teacher for the world!

  • @likeitornot6821
    @likeitornot6821 4 роки тому

    Thank you bro, you have explained the concept confused me for a longtime in a way that even a beginner can understand

  • @domestron4422
    @domestron4422 5 років тому +22

    Nice video man You inpired me to start youtube and making
    videous I love how much work you put on videos You are awesome! I love some day to be one of my subscribers.

    • @tonysfun
      @tonysfun 5 років тому +1

      I agree! Well done videos! Mine are unedited and nothing even close to these!

  • @JeffCaplan313
    @JeffCaplan313 Рік тому +4

    "The first low is a start bit." sounds awfully similar to "The first step is the hardest."
    👏 👏 👏

  • @SteveH-TN
    @SteveH-TN 23 дні тому

    Appreciate you sharing this video and information. It has been very informative, well organized & helpful. Definitely I learned something new 😁

  • @PrasadPusalkar-b9f
    @PrasadPusalkar-b9f Рік тому

    Great video buddy cant be more simplified than this

  • @1DR31N
    @1DR31N 4 роки тому +3

    I enjoyed a lot this video,showing the oscilloscope waveforms. Awesome. Congratulations.

    • @XanthiumIndustries
      @XanthiumIndustries 2 роки тому

      we have a youtube channel that deals with Arduino,ATmega328P,Java,Serial programming ,robotics. So if you like these stuff do Subscribe. Sorry for annoying

  • @AntoineAshraf
    @AntoineAshraf 4 місяці тому

    Very nice video, just a few things to note
    - UART can work in both half/full duplex modes
    - There can be more than 1 stop bit in UART in some cases
    - I2C is a half-duplex protocol
    - SPI is a full-duplex protocol
    - The concept of acknowledgement in I2C is based on whether the slave is ready to receive data or not, so it's not applicable to generalize the term over I2C.

  • @ayushsalve1211
    @ayushsalve1211 3 роки тому

    u saved me from my orals . thank you sir

  • @sameerUNO10100
    @sameerUNO10100 5 років тому +6

    You are making grate videos which are very useful for us
    Keep making such videos: )

  • @xaviervillamar7886
    @xaviervillamar7886 5 років тому

    Eres un grande amigo! gracias por renovar mi amor por la eléctronica. Sigue asi... tu eres digno que te llamen Maestro.

  • @jakehealthx
    @jakehealthx 3 роки тому +2

    This was so helpful. I wish my digital electronics professor explained it like this. Thank You!

  • @praveenraj29
    @praveenraj29 5 років тому +1

    Awesome Video tutorial on Serial Communication with very clear explanation.
    Kudos Electronoobs!!!

  • @SpongeBlaster
    @SpongeBlaster 2 роки тому +1

    This video was extremely attainable and helpful. As a CS grad, I have little EE knowledge but was able to understand the concepts in this video. I'm looking forward to a more thorough understanding now.

  • @meirrose2347
    @meirrose2347 4 роки тому

    In one great video I learned so much about the serial connection I use every day on my arduino. Thank you

  • @sanderd17
    @sanderd17 5 років тому +1

    Serial is slower in theory, but in practice, it's very hard to match the different bits up when using parallel communication. The faster your clock, the harder parallel communication becomes. With the clock speeds we have today, serial communication is without a doubt the most stable and fastest way. You can also double a serial link by doubling the wires. But unlike in parallel communicating, you don't have to synchronize the bits, you only have to synchronize after large portions of data have arrived. The fastest serial links (like gigabit ethernet, and USB C) , now use multiple wire pairs for serial communication.

  • @godsdelightjude2382
    @godsdelightjude2382 2 роки тому

    Really nice illustrations, loved the voice over too. Perfect video 📸 🤩

  • @computerengineering390
    @computerengineering390 4 роки тому

    This was a concise and well-defined explanation. It is the first time that I see such a great video in this subject here on youtube. I'm inclined to be your subscriber now, thank you.

  • @noorulhasanfzn003
    @noorulhasanfzn003 4 роки тому +1

    Thank you for this video.
    Best thing about you, is that you keep it very simple yet effective.
    Please make a video on CAN communication.

  • @1.21gw5
    @1.21gw5 3 роки тому

    amazing clarity.......................keep up the good work brother

  • @jonasduell9953
    @jonasduell9953 Рік тому

    Well, this sums it up greatly. I work a lot with digital signaling via I2C which usually come in a 4 pin layout, GND, VCC, SDA and SCL since active devices need an additional power source.
    Anyway, great content, subbed

  • @lincolnkarim1
    @lincolnkarim1 5 років тому

    Very clear explanation. If I may suggest--It may be worthwhile to draw the vertical sides of the pulses slightly slanted to remind us that the pulses are not ever square, but it takes time to climb from low to high and likewise to fall from high to low. I believe that the counting actually takes place at the middle of the slope (zero crossing) of the leading and trailing edges.
    Thanks for taking the time to produce this video.

  • @ilm5elee197
    @ilm5elee197 5 років тому

    With each new video, quality of content is increasing. This channel is next eevblog.

  • @pnutamechatronix544
    @pnutamechatronix544 5 років тому +6

    Please do more on CAN communication and the others. You are such a great help in education and simplifying such difficult subjects many thanks

  • @kamilkosi9101
    @kamilkosi9101 5 років тому +8

    Amazing video. I was always wondering about different types of communication! Thank you!

  • @HealzDog
    @HealzDog 4 роки тому

    You explained serial communication better than anyone else

  • @chuckthebull
    @chuckthebull 4 роки тому

    I have worked a lot with MIDI protocol, it uses mostly three 8 bit bytes in a row with a low going start bit.. started in the 80s for communication between synthesis and still used today even professionally.

  • @surya.6283
    @surya.6283 5 років тому

    Please make for other serial communication protocols. I am waiting along with other thousands of people. Your explanation is excellent.

  • @omskariyazmaraikayer913
    @omskariyazmaraikayer913 4 роки тому

    Brief and to the point. Very useful video .

  • @Hennir_97
    @Hennir_97 2 роки тому

    Thanks for making this video! You clearly explain how these forms of communication works for beginners (or me at least). A lot of things regarding computer and signal communication makes complete sense now. Keep up the great work!

  • @michaelwhisman2479
    @michaelwhisman2479 4 роки тому

    Thank you. As I am learning how to make things for myself, these come up a lot and have been wondering exactly why a certain protocol might be more useful in certain situations. This helped me a lot to continue my learning. Thank you

  • @pavankumar270489
    @pavankumar270489 3 роки тому

    I believe at 5:10 the start bit is the once which leaves the transmitter first and also reaches the receiver first. So the positioning of start bit in the video should be away from Tx and towards Rx.

  • @volkangundogdu1008
    @volkangundogdu1008 2 роки тому

    Nice and clear explanation of baud and reading process of a bit in a bit train.

  • @notchaudiollc765
    @notchaudiollc765 4 роки тому

    Thanks for this video! Best explanation for a hardware guy like me I’ve seen. Getting into UART for BLE radios here.

  • @dmo3074
    @dmo3074 11 місяців тому

    This was excellent, exactly what I was looking for. Nice overview.

  • @carlosbah4623
    @carlosbah4623 2 роки тому

    The best explanation out there.
    Btw in the uart explanation . Shouldn't be the data order from rx to TX

  • @siddharthmali5841
    @siddharthmali5841 5 років тому +17

    Great.
    Please make video on protocols like CAN and USB.

  • @praveenarora4589
    @praveenarora4589 3 роки тому

    great job man!! very shortly and precisely you describe everything.....

  • @RoaringMuffin
    @RoaringMuffin Рік тому

    WOW Amazing video and explanation. Bunch of things that have perplexed me for years solved in 12 minutes... JEEZ where were you in university.

  • @topten7064
    @topten7064 5 років тому +1

    You are great teacher and good voice, thank you very much

  • @NIKFLICK707
    @NIKFLICK707 5 років тому

    First of all thanks for making this very in-depth, content rich video, and for other comms a CAN would be great, love your accent😍😍😍👏👏👏

  • @adyaandagastyasharma3202
    @adyaandagastyasharma3202 3 роки тому

    Very simplified explanation of such complex concept.

  • @prabhakaranbaskar1400
    @prabhakaranbaskar1400 4 роки тому

    This is how you gain a subscriber.💯

  • @wowtah
    @wowtah 5 років тому +1

    Well done, nice explanation. It's worth noticing that I2C is bi directional too. A master can read values from its slave devices.

  • @xnetworkDEVILx
    @xnetworkDEVILx 5 років тому +1

    man your topics are just what i need ...just thanks man

  • @mortenlund1418
    @mortenlund1418 2 роки тому

    I can not give you enough thumbs up. Great video!!!

  • @pritamnath7098
    @pritamnath7098 5 років тому

    Thank You Sir. My concept cleared about UART, I2C and SPI communication through this video

  • @mopatibogatsu7941
    @mopatibogatsu7941 4 роки тому

    So revealing, I've always been curious about serial communication

  • @54V4
    @54V4 3 роки тому

    This was explained so well and clear that no "Dr." from my fairly highly regarded UK university would be able to in much longer time. Kind thx! [SUB}

  • @9336611680
    @9336611680 3 роки тому

    The explanation is very good..pls continue making more videos

  • @raj61091
    @raj61091 4 роки тому

    just superb learnt a lot today. very important for a drone guy

  • @varunsontakke9810
    @varunsontakke9810 5 років тому

    Dude it's awesome I learnt that in the best way becoz of you . Keep going . We need more information about the protocols .