how does UART work??? (explained clearly)

Поделиться
HTML-код
  • Опубликовано: 31 авг 2017
  • UART is one of the many ways that computers communicate with each other. In this video I explain how UART transmission works. It all comes down to how voltages represent bits that make up binary data. In my demonstration I am using an Arduino board to generate The data signal and a RIGOL DS 1102E oscilloscope to visualize that signal. Comments, questions, and concerns are welcome. Thanks for watching!

Комментарии • 219

  • @phillipbartlett1819
    @phillipbartlett1819 4 года назад +23

    Well done. I'm a old timer in electronics but never got into computers. Now that I'm playing catch up I'm having a hard time finding a place to go for good explanation of things. You did a great job. Keep it up

    • @martinkuliza
      @martinkuliza Год назад +2

      Phillip, Hi mate
      I'm also an old timer in electronics, Now we can debate who is the older old timer by all means :P but let's wait until formal introductions have taken place shall we because i could turn out to be the old fart (who knows)
      Anyway mate, if you want to play catch up, Feel free to contact me
      i'm also an I.T. Engineer so you can ask me about Electronics (although i imagine you won't need to ) and you can ask me anything about computing and telecommunications.
      and let's be honest, (at least back in my day ) what computers was there to get into ?
      i mean for me it was Atari and Commodore 64, yes we had Pear, Wang and so on by who had one of those... i never knew anyone
      and yes i did get into Basic Programming at the tender age of around 8 (or thereabouts) but other than that we had our good old 150 in 1 Dick Smith Electronics kits and we tinkered with Electronics so yeah not everyone got into computers
      so.. Feel free to ask and play catch up if you want mate, i'm happy to have a chat anytime you are we can do skype , zoom whatever, have a chat , talk some shit, whatever tickles your fancy
      Be cool mate

  • @xtremejennbase
    @xtremejennbase 2 года назад +15

    This is a perfect explanation of UART and I like how you covered baud rate and the fact that it transmits by LSB first.

  • @Portergetmybag
    @Portergetmybag 3 года назад +3

    You have no idea how much just cleared up in my head. Usually when I watch the video I’m like, “yeah but why?” Thank you for explaining EVERYTHING

  • @steveng5503
    @steveng5503 4 года назад +21

    Great starting point for those looking to understand UART without going into math. I’m sure this video will continue to be useful for sometime to come. 👍 from me! 🇬🇧

  • @strauss334
    @strauss334 6 лет назад +23

    Thanks a lot! That's what I call "clear explanation".

  • @alpyldrm8448
    @alpyldrm8448 4 года назад +4

    Thanks for that. It was pretty smooth way to explain UART.

  • @danyjoe7741
    @danyjoe7741 2 года назад

    Watched this today for my exam, helped a lot in understanding how UART actually works, thanks a bunch

  • @johnjacobsen802
    @johnjacobsen802 3 года назад +2

    Thanks a bunch for this clear explanation! Makes perfect sense. Your drawings helped to visualize what is happening.

  • @execration_texts
    @execration_texts 4 года назад +2

    That's about the clearest I've ever had anything explained to me. You've earned a subscriber.

  • @marklee1209
    @marklee1209 2 года назад +1

    This is ace! I’ve used comms for years between devices, and taken that it’s always worked. Setup the correct comms settings and away it goes. but I’m now at a stage where I’ve got to take comms signal from an old device and manipulate it to deliver something readable. This has helped me understand how it is sent and received. Knowing this gives me some idea how to move forward from here. Thanks!

  • @jimivie
    @jimivie 3 года назад +1

    George McFly you're awesome at explaining UART. Thank you!

  • @MrVecheater
    @MrVecheater 4 года назад

    Finally an explanation with a real world example
    That helped a lot

  • @burlapjack8345
    @burlapjack8345 5 лет назад +9

    Thank you for making this video. Dummies like me usually have a hard time with concepts like this. I appreciate your thorough explanation.

  • @playharder1435
    @playharder1435 3 месяца назад

    bit-by-bit, this video adds to my understanding of UARTS... thanks

  • @templocal
    @templocal 3 года назад

    Huge thumbs up. Your video explains what the greedy colleges of mine on a job I left didn't want to explain to me. A huge thumbs up for your job!

  • @fatty-it-man
    @fatty-it-man 4 месяца назад

    Great!! Simple and clear, without not unnecessary details!

  • @leonjones7120
    @leonjones7120 4 года назад

    great, simple to grasp, well done!

  • @VincentRiquer
    @VincentRiquer 4 года назад +14

    Great video, I wonder why RUclips waited so long to promote it!
    One small correction though, baudrate is not necessarily the same as the nitrate. In the simple case of UART, it is. Baudrate is defined as the number of change to the signal per second. In modulations like QAM, the baudrate is lower than your bitrate, as one phase shift encodes more than one bit.

  • @user-mv2bw7lg8z
    @user-mv2bw7lg8z Месяц назад

    Excellent intro. Thank you!

  • @kortt
    @kortt 5 лет назад

    Great explanation, thanks!

  • @ahmadmu6503
    @ahmadmu6503 6 лет назад +1

    Thanks, Great explanation.

  • @Middlemen101
    @Middlemen101 6 лет назад +1

    Thank you for the education!

  • @mmustho7740
    @mmustho7740 4 года назад

    Very clear explanation. Thanks.

  • @JStation3
    @JStation3 6 лет назад

    Cool presentation man, I totally get it now. Well done!

  • @ahoorabagheri6857
    @ahoorabagheri6857 4 года назад

    WOW!!!
    It was amazing!
    Thank you so much

  • @Chris-on5bt
    @Chris-on5bt 2 года назад

    Great video, Thank you!

  • @grzesiek1x
    @grzesiek1x 2 года назад +1

    I have experimented with my Arduino and with oscilloscope device is really fascinating what we can do! I made my own code for communicating with my computer (very easy) and it works! People even don;t think that there are thousands of possibilities and only open mind is needed for ideas! People seem to be like sheeps. One man invents something and then everybody uses it but withut realising that there is not only one solution or way how to do it and how to communicate , send/ receive signals etc. Just my own reflection ;)

  • @rkgki
    @rkgki 4 года назад

    Thanks! Very well explained.

  • @HasithaSameeraNova
    @HasithaSameeraNova 2 месяца назад

    Thank you for this clear explanation ❤💯

  • @TheReegus
    @TheReegus 2 месяца назад

    Top work mate. I am a sparky and am familiar with a lot of concepts but UART is not one. This is a great explanation.

  • @chelsea028
    @chelsea028 2 года назад

    very clearly explained with example

  • @Balasubramanian-dy5fp
    @Balasubramanian-dy5fp 2 года назад

    Awesome explanation!

  • @muhammed5402
    @muhammed5402 10 месяцев назад

    Perfect explanation. thx

  • @digihz_data
    @digihz_data 4 года назад

    Very well explained.

  • @josegonzalez-ro3se
    @josegonzalez-ro3se 3 года назад

    Thanks man, it was very clear.

  • @NightmareCrab
    @NightmareCrab 4 года назад +2

    I learned something, thanks.

    • @DeoMachina
      @DeoMachina 4 года назад

      aka L I L B R O O M S T I K

  • @alexnoggle1874
    @alexnoggle1874 Год назад

    loved this video

  • @varghesecherian4491
    @varghesecherian4491 6 лет назад

    very clear explanations.....

  • @piethelderop8085
    @piethelderop8085 3 года назад

    super well explanation of this , clear and easy to understand. please continue with this :-)

  • @kbcbala
    @kbcbala 3 года назад

    Mate Awesome. Well done. Wonderful explanation for beginners.

  • @louisparisi1
    @louisparisi1 2 года назад

    Great vid, thanks

  • @cemsarl5746
    @cemsarl5746 3 года назад

    Amazing explanation

  • @williamgraham8761
    @williamgraham8761 4 года назад

    Thanks, nice clear explanation. 😁

  • @mirmos
    @mirmos 6 месяцев назад

    thanks a lot! this is a clear explanation ^^

  • @PieterDaarth
    @PieterDaarth 3 года назад

    Good Job! Many Thanks.

  • @felixgspandl
    @felixgspandl Год назад

    Thx man you really helped me with my school presentation

  • @adampaech2469
    @adampaech2469 Год назад

    Very good video, thanks

  • @darkseiddoom
    @darkseiddoom 3 года назад

    Great explanation sir!

  • @ycombinator765
    @ycombinator765 Год назад

    exceptionally simple

  • @mrtmrf5007
    @mrtmrf5007 4 года назад

    very good explanation sir , as gentleman below said it is the clearest ....so now im very clear..thank you for your works, you got another subscriber too

  • @ulysses_grant
    @ulysses_grant 2 года назад

    Left-handed people explains it better. Cheers ma lad!

  • @Bianchi77
    @Bianchi77 11 месяцев назад

    Nice info, well done, thanks for sharing it:)

  • @ceilingwalker1
    @ceilingwalker1 4 месяца назад

    Very Nice!!!!! Thank you

  • @danielgoodman3578
    @danielgoodman3578 Год назад

    I'm watching your video to help me review/understand UART before diving into learning how to use it on a dsPIC33.
    But I notice quite clearly that you're left-handed. I am not, but my dad is. It is a foreign world to me. My dad may still have his left hander's coffee mug, which has a hole on one side (and thus a limit to how much you can fill it), restricting it to be used with the left hand. Right handers will spill coffee on themselves with it unless they awkwardly try to cover the hole with their lower lip.

  • @paramhansnabar7848
    @paramhansnabar7848 2 года назад

    O wow 😂😂. No seriously this is the best explanation about data transmission. Thanks for making this video

  • @TT-ud5gf
    @TT-ud5gf 3 года назад

    super clear!

  • @jimhinkle7245
    @jimhinkle7245 3 года назад

    Thank you!

  • @hslimsteven1
    @hslimsteven1 4 года назад

    Very good tutorial video.

  • @jcpartri
    @jcpartri 2 года назад

    I learned something today! :-)

  • @tjnguyen746
    @tjnguyen746 3 года назад

    Thanks. Please for good
    explaination !

  • @Slipping_thru_the_Seams
    @Slipping_thru_the_Seams Год назад

    thank you!

  • @everybodyisdyingaminext5675
    @everybodyisdyingaminext5675 5 лет назад

    very good...keep going

  • @kumar_kiran
    @kumar_kiran 5 лет назад +8

    Can you also make similar video explaining SPI, I2C as well?

  • @scimad
    @scimad 5 лет назад +192

    Play at 1.25x speed and no thanks needed.

  • @Eduard_Kolesnikov
    @Eduard_Kolesnikov 9 месяцев назад

    Thank you man

  • @tonypitsacota2513
    @tonypitsacota2513 10 месяцев назад

    Can you recommend your 1102? I am shopping for scopes now and it seems to be popular.

  • @bassome3000ify
    @bassome3000ify 6 лет назад +3

    Thank you very much! Subscribed for clear explanations :DD

  • @taghreedkhb7
    @taghreedkhb7 2 года назад

    thank you so much

  • @paulkarkarin466
    @paulkarkarin466 2 года назад

    Спасибо. Понятно, интересно.

  • @chelsea028
    @chelsea028 2 года назад

    beautiful

  • @ameiliaw8191
    @ameiliaw8191 2 года назад

    Thank You

  • @juststupid
    @juststupid 6 лет назад

    Helpful

  • @mayandiraja3862
    @mayandiraja3862 3 года назад

    Really nice vide

  • @abhijith1605
    @abhijith1605 6 лет назад +1

    thanks a lot !

  • @wesamsalih9020
    @wesamsalih9020 5 лет назад

    very nice thanks

  • @ShivamKumar-ky6vm
    @ShivamKumar-ky6vm 2 года назад

    AWEOME LECTURE

  • @lozD83
    @lozD83 3 года назад +6

    Meanwhile on The Discovery Channel: "How to know when it's time to blow your nose" 😉

  • @darieh4909
    @darieh4909 2 года назад

    thanks !

  • @ranellabjata5170
    @ranellabjata5170 2 года назад

    Thanks sir

  • @amarachukwuobi8602
    @amarachukwuobi8602 3 года назад

    Great!

  • @polishhammer1992
    @polishhammer1992 4 года назад

    While what you did explain made sense and was clear I wish a brief rundown of how you sent the bits took place.

  • @azwara.9821
    @azwara.9821 5 лет назад +2

    how much the delay time between start and the first binary code? and also after the last binary code (8th bit which is 0 in regular ASCII) how long the time delay. This is very important to differentiate between each byte data when sending and receiving.
    so with 9600 bps (9600 baud rate with 1 bit per signal), 1 bit closely to 104.1667 microsecond pulse time right? What is the maximum baud rate can be used (or bps) for arduino uno with 16MHz oscillator?
    in your oscilloscop, what pin was used for positive terminal?

  • @justinc2633
    @justinc2633 5 месяцев назад

    so when a company like espressif makes their mcu and its flashed using uart, is there a standart for bits that would represent "start" "stop" "acknowledge" etc, or is that purely determined by the product manufacturer?

  • @iamshivaramakrishna
    @iamshivaramakrishna 10 месяцев назад

    Hello👋,
    @Continuous Load YTchannel..
    Thank you So much for sahring valuable information...👌
    It's very helpful to easy and real understading of UART Protocol...
    way of explaining and output showing on Digital oscilloscope.

  • @haksgayashan6264
    @haksgayashan6264 5 лет назад +4

    Would you plz tell me how did you give the message to the arduino..? I'll be more helpful to understand that clearly..

  • @MatthewSuffidy
    @MatthewSuffidy Год назад

    The serial in the arduino case is ttl level and not usual rs-232. That means it is inverted and in a different voltage range like 0-5v and not +/- 2.5 v or all the way to +/- 15 v.

  • @Galakyllz
    @Galakyllz 2 года назад +1

    What if the first and last bits are 1s? How does it know when to start reading the high bit and/or to stop reading the last high bit since it starts high?
    Thanks for the video.

  • @oncom81
    @oncom81 3 года назад

    Hi, how much time uart timeout in Rx buffer, in the loop. Is it available on whole time when no new data coming in?
    Thx for answering...

  • @chennakrishna6377
    @chennakrishna6377 6 лет назад +2

    Thanks. Really good explanation. Small question, How much time it takes to transmit the first bit after the start (falling edge)?

    • @continuousload3963
      @continuousload3963  6 лет назад +4

      Both a start condition and a stop condition last one "bit cycle." That means that to transmit 8 bits of data, it actually takes 10 bit cycles! Remember that the bit cycle is the inverse of the baud rate, so if I am running at 115200 buad, my bit cycle is 1/115200 or 8.7 microseconds. If you take a look at the oscilloscope at 10:13, you can see that the voltage stays at 0 after the falling edge for about ~9 microseconds (each grid block on the screen represents 20 microseconds) before going high for the first four data bits (which where all 1's). Does that make sense?

    • @chennakrishna6377
      @chennakrishna6377 6 лет назад +1

      Continuous Load . Yes. Thank you very much.

  • @yltfy
    @yltfy 5 лет назад

    Nice video.

  • @agustinothadeus
    @agustinothadeus 5 лет назад

    Thank you, very well explained and demonstrated video although the scribbling at the beginning was a bit irritating for me, how did you connect the oscilloscope to the pins....is it Tx and ground?

    • @continuousload3963
      @continuousload3963  5 лет назад

      Yes, it is Tx and ground. And yes, I could have used a better format than scribbling :) I think that it feels natural to teach electronics with pen and paper, but it is difficult to do correctly on film - I'll have to experiment with my approach. Thank you for the respectful comment. If I may ask, what improvements would you do with the format?

    • @travelimmortal
      @travelimmortal 5 лет назад

      Hi there , are you sure you have connected only TX & GND and not TX+RX & GND ?

  • @Thomas-bs2em
    @Thomas-bs2em 2 года назад

    Great explanation! Can you please publish the code that your Arduino is running for this demo? THX!

  • @connorfee9593
    @connorfee9593 4 года назад

    Thanks to Walt junior for the demo

  • @shamvibhute136
    @shamvibhute136 Год назад

    good

  • @mr_whyy
    @mr_whyy Год назад

    Ground wire is not always there or required, for example in a differencial bus where the digital values are obtained by checking the voltage between two wires

  • @meghanamegha281
    @meghanamegha281 4 года назад

    How did dat Arduino board sent dat o...which is the transmittere here?

  • @cessromer7078
    @cessromer7078 2 года назад

    I would like to know the source code you wrote in arduino IDE ?

  • @johnjoyce
    @johnjoyce 5 лет назад +1

    Really good overall. Better audio, better lighting and more practice would make this a great classroom lecture even.

    • @continuousload3963
      @continuousload3963  5 лет назад

      Appreciate the comment! And who knows, maybe it will be a classroom lecture someday :)
      You advice sounds like it comes from experience. Have you / do you teach classes?

    • @jvsnyc
      @jvsnyc 5 лет назад

      @@continuousload3963 The audio is already better than many other videos, but I will second the request to use a writing implement that doesn't make scratchy sounds over headphones or audio that is turned up.

  • @mrtmrf5007
    @mrtmrf5007 4 года назад +2

    i had a question if i send a long string "this is a demo", does it still sent binary from the end of sentence ?

    • @shadowhalo123
      @shadowhalo123 4 года назад

      the string is split into characters, that is 't' 'h' 'i' 's' ... and then each character is sent as binary, but you send the first character, that is 't' from "the end", so you send the first letter from LSB to MSB, then h LSB to MSB, and so on

  • @belleluze
    @belleluze 3 года назад +1

    9:16 4 cycles would be 1÷9600 = 104uS this would be one bit every 104uS? Is this correct?