how does UART work??? (explained clearly)

  Рет қаралды 302,018

Continuous Load

Continuous Load

7 жыл бұрын

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!

Пікірлер: 220
@xtremejennbase
@xtremejennbase 2 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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! 🇬🇧
@phillipbartlett1819
@phillipbartlett1819 4 жыл бұрын
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 Жыл бұрын
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
@johnjacobsen802
@johnjacobsen802 3 жыл бұрын
Thanks a bunch for this clear explanation! Makes perfect sense. Your drawings helped to visualize what is happening.
@marklee1209
@marklee1209 2 жыл бұрын
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!
@execration_texts
@execration_texts 4 жыл бұрын
That's about the clearest I've ever had anything explained to me. You've earned a subscriber.
@VincentRiquer
@VincentRiquer 4 жыл бұрын
Great video, I wonder why KZbin 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.
@strauss334
@strauss334 6 жыл бұрын
Thanks a lot! That's what I call "clear explanation".
@danyjoe7741
@danyjoe7741 2 жыл бұрын
Watched this today for my exam, helped a lot in understanding how UART actually works, thanks a bunch
@burlapjack8345
@burlapjack8345 5 жыл бұрын
Thank you for making this video. Dummies like me usually have a hard time with concepts like this. I appreciate your thorough explanation.
@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!
@alpyldrm8448
@alpyldrm8448 4 жыл бұрын
Thanks for that. It was pretty smooth way to explain UART.
@jimivie
@jimivie 3 жыл бұрын
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
@JStation3
@JStation3 6 жыл бұрын
Cool presentation man, I totally get it now. Well done!
@leonjones7120
@leonjones7120 4 жыл бұрын
great, simple to grasp, well done!
@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
@playharder1435
@playharder1435 4 ай бұрын
bit-by-bit, this video adds to my understanding of UARTS... thanks
@ahmadmu6503
@ahmadmu6503 6 жыл бұрын
Thanks, Great explanation.
@grzesiek1x
@grzesiek1x 2 жыл бұрын
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 ;)
@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.
@Middlemen101
@Middlemen101 6 жыл бұрын
Thank you for the education!
@kortt
@kortt 5 жыл бұрын
Great explanation, thanks!
@piethelderop8085
@piethelderop8085 3 жыл бұрын
super well explanation of this , clear and easy to understand. please continue with this :-)
@fatty-it-man
@fatty-it-man 5 ай бұрын
Great!! Simple and clear, without not unnecessary details!
@ahoorabagheri6857
@ahoorabagheri6857 4 жыл бұрын
WOW!!! It was amazing! Thank you so much
@mmustho7740
@mmustho7740 4 жыл бұрын
Very clear explanation. Thanks.
@TheReegus
@TheReegus 3 ай бұрын
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.
@kbcbala
@kbcbala 3 жыл бұрын
Mate Awesome. Well done. Wonderful explanation for beginners.
@kumar_kiran
@kumar_kiran 5 жыл бұрын
Can you also make similar video explaining SPI, I2C as well?
@darkseiddoom
@darkseiddoom 3 жыл бұрын
Great explanation sir!
@rkgki
@rkgki 4 жыл бұрын
Thanks! Very well explained.
@varghesecherian4491
@varghesecherian4491 6 жыл бұрын
very clear explanations.....
@haksgayashan6264
@haksgayashan6264 5 жыл бұрын
Would you plz tell me how did you give the message to the arduino..? I'll be more helpful to understand that clearly..
@williamgraham8761
@williamgraham8761 4 жыл бұрын
Thanks, nice clear explanation. 😁
@Balasubramanian-dy5fp
@Balasubramanian-dy5fp 2 жыл бұрын
Awesome explanation!
@NightmareCrab
@NightmareCrab 4 жыл бұрын
I learned something, thanks.
@DeoMachina
@DeoMachina 4 жыл бұрын
aka L I L B R O O M S T I K
@azwara.9821
@azwara.9821 5 жыл бұрын
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?
@josegonzalez-ro3se
@josegonzalez-ro3se 4 жыл бұрын
Thanks man, it was very clear.
@bassome3000ify
@bassome3000ify 6 жыл бұрын
Thank you very much! Subscribed for clear explanations :DD
@Bianchi77
@Bianchi77 Жыл бұрын
Nice info, well done, thanks for sharing it:)
@user-mv2bw7lg8z
@user-mv2bw7lg8z 2 ай бұрын
Excellent intro. Thank you!
@paramhansnabar7848
@paramhansnabar7848 2 жыл бұрын
O wow 😂😂. No seriously this is the best explanation about data transmission. Thanks for making this video
@HasithaSameeraNova
@HasithaSameeraNova 3 ай бұрын
Thank you for this clear explanation ❤💯
@cemsarl5746
@cemsarl5746 3 жыл бұрын
Amazing explanation
@digihz_data
@digihz_data 4 жыл бұрын
Very well explained.
@Chris-on5bt
@Chris-on5bt 2 жыл бұрын
Great video, Thank you!
@everybodyisdyingaminext5675
@everybodyisdyingaminext5675 5 жыл бұрын
very good...keep going
@hslimsteven1
@hslimsteven1 4 жыл бұрын
Very good tutorial video.
@PieterDaarth
@PieterDaarth 4 жыл бұрын
Good Job! Many Thanks.
@chelsea028
@chelsea028 2 жыл бұрын
very clearly explained with example
@mirmos
@mirmos 7 ай бұрын
thanks a lot! this is a clear explanation ^^
@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.
@KWESKOJ
@KWESKOJ Ай бұрын
Great job 🎉
@louisparisi1
@louisparisi1 2 жыл бұрын
Great vid, thanks
@felixgspandl
@felixgspandl Жыл бұрын
Thx man you really helped me with my school presentation
@muhammed5402
@muhammed5402 Жыл бұрын
Perfect explanation. thx
@alexnoggle1874
@alexnoggle1874 Жыл бұрын
loved this video
@juststupid
@juststupid 6 жыл бұрын
Helpful
@Galakyllz
@Galakyllz 3 жыл бұрын
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.
@TT-ud5gf
@TT-ud5gf 3 жыл бұрын
super clear!
@jcpartri
@jcpartri 3 жыл бұрын
I learned something today! :-)
@adampaech2469
@adampaech2469 Жыл бұрын
Very good video, thanks
@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.
@wesamsalih9020
@wesamsalih9020 5 жыл бұрын
very nice thanks
@ceilingwalker1
@ceilingwalker1 5 ай бұрын
Very Nice!!!!! Thank you
@paulkarkarin466
@paulkarkarin466 2 жыл бұрын
Спасибо. Понятно, интересно.
@abhijith1605
@abhijith1605 6 жыл бұрын
thanks a lot !
@continuousload3963
@continuousload3963 6 жыл бұрын
+P Abhijith Glad I could help.
@lozD83
@lozD83 3 жыл бұрын
Meanwhile on The Discovery Channel: "How to know when it's time to blow your nose" 😉
@tjnguyen746
@tjnguyen746 3 жыл бұрын
Thanks. Please for good explaination !
@jimhinkle7245
@jimhinkle7245 3 жыл бұрын
Thank you!
@iamshivaramakrishna
@iamshivaramakrishna Жыл бұрын
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.
@johnjoyce
@johnjoyce 6 жыл бұрын
Really good overall. Better audio, better lighting and more practice would make this a great classroom lecture even.
@continuousload3963
@continuousload3963 6 жыл бұрын
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.
@agustinothadeus
@agustinothadeus 6 жыл бұрын
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 6 жыл бұрын
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 ?
@ycombinator765
@ycombinator765 Жыл бұрын
exceptionally simple
@chennakrishna6377
@chennakrishna6377 6 жыл бұрын
Thanks. Really good explanation. Small question, How much time it takes to transmit the first bit after the start (falling edge)?
@continuousload3963
@continuousload3963 6 жыл бұрын
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 жыл бұрын
Continuous Load . Yes. Thank you very much.
@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...
@Eduard_Kolesnikov
@Eduard_Kolesnikov 11 ай бұрын
Thank you man
@Slipping_thru_the_Seams
@Slipping_thru_the_Seams Жыл бұрын
thank you!
@mrtmrf5007
@mrtmrf5007 4 жыл бұрын
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
@Thomas-bs2em
@Thomas-bs2em 2 жыл бұрын
Great explanation! Can you please publish the code that your Arduino is running for this demo? THX!
@tonypitsacota2513
@tonypitsacota2513 11 ай бұрын
Can you recommend your 1102? I am shopping for scopes now and it seems to be popular.
@WistrelChianti
@WistrelChianti 3 жыл бұрын
What happens if there is a 1 on the far left? How to tell the difference between that and the usual "no data" state?
@taghreedkhb7
@taghreedkhb7 2 жыл бұрын
thank you so much
@yltfy
@yltfy 5 жыл бұрын
Nice video.
@mayandiraja3862
@mayandiraja3862 3 жыл бұрын
Really nice vide
@chelsea028
@chelsea028 2 жыл бұрын
beautiful
@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
@belleluze
@belleluze 3 жыл бұрын
<a href="#" class="seekto" data-time="556">9:16</a> 4 cycles would be 1÷9600 = 104uS this would be one bit every 104uS? Is this correct?
@ameiliaw8191
@ameiliaw8191 2 жыл бұрын
Thank You
@meghanamegha281
@meghanamegha281 4 жыл бұрын
How did dat Arduino board sent dat o...which is the transmittere here?
@justinc2633
@justinc2633 6 ай бұрын
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?
@jacobgarby199
@jacobgarby199 5 жыл бұрын
How does the receiver know that the end condition is the end condition, instead of a whole load of 1's?
@erblinas4423
@erblinas4423 5 жыл бұрын
Because you (the master/slave) know in prehand what the baud-rate and total number of X data bits (where X is 5-9 bits) are, also the optional parity bit. So it knows that the stop bit should be after the X bit.
@4wheeldrifting
@4wheeldrifting 4 жыл бұрын
@@erblinas4423 If everything is based off of timing there must be an initial sync right? When and how does that happen? Also, how long does the UART wait between bytes to send the next byte?
@mohamadwahba420
@mohamadwahba420 4 жыл бұрын
@@4wheeldrifting the start bit is the intial sync and the end bit is responsible for the delay between bytes
@madeforeverything_2701
@madeforeverything_2701 3 жыл бұрын
@@4wheeldrifting it is because the Rx and Tx are already configured to the same baud rate before the transmission of data occurs..so when the bits are transmitted from Tx to Rx a stop bit is generated to tell Rx that transmission is completed and thus the Rx prepares itself for the next transmission in the meanwhile...
@ShivamKumar-ky6vm
@ShivamKumar-ky6vm 2 жыл бұрын
AWEOME LECTURE
@AaronWerner
@AaronWerner 2 ай бұрын
Is there a way to identify a UART signal coming from a mobile app via bluetooth, being sent to a Bluetooth dongle attached to a device receiving the signal? How could I identify or replicate the signal?
@ranellabjata5170
@ranellabjata5170 2 жыл бұрын
Thanks sir
@darieh4909
@darieh4909 2 жыл бұрын
thanks !
@scimad
@scimad 5 жыл бұрын
Play at 1.25x speed and no thanks needed.
@sagar8964
@sagar8964 5 жыл бұрын
thanks
@masterlares2671
@masterlares2671 5 жыл бұрын
Thats Great! thanks
@taejunchang396
@taejunchang396 5 жыл бұрын
Madhav Humagain thnz
@still-dreaming
@still-dreaming 5 жыл бұрын
its even better at 2x speed :)
@mario2872
@mario2872 5 жыл бұрын
hahahahaha, I didnt expected result so perfect like this xD
@amarachukwuobi8602
@amarachukwuobi8602 3 жыл бұрын
Great!
PROTOCOLS: UART - I2C - SPI - Serial communications #001
11:58
Electronoobs
Рет қаралды 1,4 МЛН
Hacker's Guide to UART Root Shells
17:40
Flashback Team
Рет қаралды 471 М.
Самый Молодой Актёр Без Оскара 😂
00:13
Глеб Рандалайнен
Рет қаралды 12 МЛН
ПРОВЕРИЛ АРБУЗЫ #shorts
00:34
Паша Осадчий
Рет қаралды 7 МЛН
Understanding I2C
10:58
Rohde Schwarz
Рет қаралды 73 М.
Mechanical circuits: electronics without electricity
19:22
Steve Mould
Рет қаралды 7 МЛН
How does a USB keyboard work?
34:15
Ben Eater
Рет қаралды 3,2 МЛН
CAN Bus: Serial Communication - How It Works?
11:25
Electronoobs
Рет қаралды 213 М.
The RS-232 protocol
26:10
Ben Eater
Рет қаралды 828 М.
Electronic Basics #36: SPI and how to use it
10:31
GreatScott!
Рет қаралды 334 М.
Understanding SPI
11:50
Rohde Schwarz
Рет қаралды 76 М.
UART Protocol Tutorial
7:38
TechVedas .learn
Рет қаралды 171 М.
Самый Молодой Актёр Без Оскара 😂
00:13
Глеб Рандалайнен
Рет қаралды 12 МЛН