The RS-232 protocol

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 พ.ย. 2022
  • This video explores the electrical and timing characteristics of the RS-232 protocol.
    Support these videos on Patreon: / beneater or eater.net/support for other ways to support.
    ------------------
    Social media:
    Website: www.eater.net
    Twitter: / ben_eater
    Patreon: / beneater
    Reddit: / beneater
    Special thanks to these supporters for making this video possible:
    Adrien Friggeri, Aleksey Smolenchuk, Alex, Alex Black, Andrew Van Gerpen, anula, Ben, Ben Cochran, Ben Kamens, Ben Williams, Bill Cooksey, Binh Tran, Bradley Stach, Burt Humburg, Carl Fooks, Carsten Schwender, Chai, Chaitanya Bhatt, Chris Lajoie, Chris Sachs, criis, Daniel Jeppsson, Daniel Pink, Daniel Tang, Dave Burley, Dave Walter, David Clark, David Cox, David Dawkins, David House, David Sastre Medina, David Turner, Dean Bevan, Dean Winger, Deep Kalra, Dennis Schubert, Dilip Gowda, Dušan Dželebdžić, Dustin Campbell, Dzevad Trumic, Emilio Mendoza, Eric Dynowski, Erik Broeders, Erik Granlund, Ethan Sifferman, Eugene Bulkin, Evan Thayer, Eveli László, Florian Rian, fxshlein, George Miroshnykov, ghostdunk, GusGold, Humberto Bruni, Ingo Eble, Isaac Parker, Jacob Ford, James Capuder, Jared Dziedzic, Jason DeStefano, Jason Dew, JavaXP, Jaxon Ketterman, jemmons, Jeremy, Jeremy Cole, Jesse Miller, Jim Kelly, Jim Knowler, Joe Beda, Joe Pregracke, Joe Rork, Joel Miller, John Hamberger jn., John Meade, John Phelan, Jon Dugan, Jonn Miller, Joseph Portaro, Jurģis Brigmanis, Justin Graziani, Kai Wells, Kefen, Kenneth Christensen, Kyle Kellogg, Lambda GPU Workstations, Larry, László Bácsi, Leo K, Lukasz Pacholik, Marcos Fujisawa, Marcus Classon, Mark Day, Martin Noble, Mats Fredriksson, Matthäus Pawelczyk, melvin2001, MICHAEL SLASS, Michael Tedder, Michael Timbrook, Michael Weitman, Miguel Ríos, mikebad, Mikel Lindsaar, Miles Macchiaroli, Muqeet Mujahid, Nate Welch, Nicholas Counts, Nicholas Moresco, Nick Chapman, Oli Homer, Ori Shamir, Örn Arnarson, Paul Heller, Paul Pluzhnikov, Phil Dennis, Philip Hofstetter, Porus, ProgrammerDor, Ralph Irons, Randal Masutani, Randy True, raoulvp, real_huitz, ReJ aka Renaldas Zioma, Ric King, Rick Hennigan, Robert Diaz, Robey Pointer, Sagnik Bhattacharya, Scott Gorlick, Scott Holmes, Sean Patrick O’Brien, Sergey Kruk, solderspot, SonOfSofaman, Spencer Ruport, Splashtwist, Stefan Nesinger, Stefanus Du Toit, Stephen Kovalcik, Stephen Riley, Steve Jones, TheWebMachine, Thomas Eriksen, Tim Oriol, Tim Walkowski, Tim Wheeler, Tom, Tom Knowles, Tyler Latham, Vincent Bernat, Walter Montalvo, Warren Miller, Wim Coekaerts, Wraithan McCarroll, xisente, Yee Lam Wan

ความคิดเห็น • 1.5K

  • @paradox9551
    @paradox9551 ปีที่แล้ว +4195

    I'm so glad the Bob Ross of Computer Engineering is back.

    • @marred2277
      @marred2277 ปีที่แล้ว +66

      Perfect description

    • @markgreco1962
      @markgreco1962 ปีที่แล้ว +14

      Second that

    • @wmjowls
      @wmjowls ปีที่แล้ว +190

      It’s taken this long because he’s been uploading the video with a serial port, one byte at a time

    • @grillpig3860
      @grillpig3860 ปีที่แล้ว +2

      Same. :D

    • @DW-indeed
      @DW-indeed ปีที่แล้ว +12

      "there's nothing wrong with having a port as a friend"
      ...officer.

  • @tiesetsomatsipa5402
    @tiesetsomatsipa5402 ปีที่แล้ว +743

    Thank you for coming back sir, it really means a lot for us your viewers. 🙏

    • @lucasrem
      @lucasrem ปีที่แล้ว

      RS 232, nobody needs crap, old people understand it, noobs need it too ?????

    • @NobodyYouKnow98
      @NobodyYouKnow98 ปีที่แล้ว +1

      @@lucasrem
      Rest assured, people like you don't need RS232.
      Go back to Minecraft.

    • @Hugh_I
      @Hugh_I ปีที่แล้ว +3

      @@lucasrem Well I doubt your assertion that young people don't understand RS 232. Probably some just learned about it by watching this video. And luckily so, because "nobody needs crap" is just wrong. RS-232 is still widely in use. For example for serial consoles in servers or appliances, or just hobbyists toying with microcontrollers. But if you prefer to not know anything, nobody forced you to watch this video.

  • @DavesGarage
    @DavesGarage ปีที่แล้ว +51

    I just wrote a bunch of 6502 serial code for our "C64 Spectrum Analyzer" video and I still learned stuff from this :-)

    • @TR3A
      @TR3A ปีที่แล้ว +5

      Dave, your videos are great. Really nice to see you watching and appreciating Ben’s videos.

  • @bardofhighrenown
    @bardofhighrenown ปีที่แล้ว +9

    Leaving in the bit with the error made this video so much more interesting rather than skipping over it and doing it all correctly, I feel like I learned a lot more about how the system functions than if it had be a straight shot to it functioning properly

  • @Ed_Stuckey
    @Ed_Stuckey ปีที่แล้ว +367

    As a former employee of Teletype Corporation, the description of the signal (mark, space, start, stop, bits, etc.) brought a smile.

    • @rty1955
      @rty1955 ปีที่แล้ว +30

      Agreed. Peoole forget that it was a synchronous motor with a wiper that would engage a clutch to make the wiper rotate around a plate with pads on it. The start bit would engage the clutch and begin the rotor spinning that was in sync with the line voltage. Each bit would land on a pad and either current or no current on a 20ma current loop line (remember those days?) The stop bit would release the clutch and the char. Would be printed. Ever wonder why you HAD to send a carriage return BEFORE the line feed character? Its because the print drum would be traveling back to the beginning of the line WHILE the platen advanced with the LF character which would arrive DURING the CR.
      I still have a ASR-33 with repair manuals & spare parts.
      Amazing mechanical device!!

    • @rogervanbommel1086
      @rogervanbommel1086 ปีที่แล้ว +5

      I also recognize them, because I use RTTY a lot(RadioTeleTypE)

    • @michaeldavison9808
      @michaeldavison9808 ปีที่แล้ว +10

      Mark, space, start and stop, parity ..... the days when my 1983 Computer Science degree meant more than just 'software engineering'.

    • @rty1955
      @rty1955 ปีที่แล้ว +5

      @@michaeldavison9808 back in 1983 I was doing lots of RS232, SLDC, BISYNC. I still have my breakout boxes and protocol analyzers. That came in handy for BISYNC & SDLC

    • @jslcom
      @jslcom ปีที่แล้ว +4

      My first job (late 70's) was at a company that sold printers based on the Teletype Model 40. My first experience with RS-232 was with the EIA/current loop interface on the Model 40. Teletype built great hardware.

  • @zorinlynx
    @zorinlynx ปีที่แล้ว +361

    Seriously, I've been using RS232 my entire life and I figure I knew more or less how it worked, but your video just raised my understanding of it to a whole new level. Thank you for this.

    • @haraberu
      @haraberu ปีที่แล้ว +22

      It's amazing. Even on microcontrollers, we've gotten used to writing UART.init(9600, 8, None, 1) and having the hardware take care of the timing.
      How does it work? It works just fine, thanks for asking.

    • @iancrone2906
      @iancrone2906 ปีที่แล้ว +4

      Can't think of a good reply, something about protogens?

    • @phyphor
      @phyphor ปีที่แล้ว +6

      I've always known "9600, eight, none, one" as the mantra to make things work without knowing *what* each thing was for so I, too, have enjoyed this video.

    • @davidconner-shover51
      @davidconner-shover51 ปีที่แล้ว +1

      @@phyphor these days, 115200 is pretty common, though not absolute
      9600 always seemed to run in that happy, Bob Ross range, from really old dayz when the processors couldn't handle it, quite, to the modern times, 96-- doesn't seem to want to die

    • @KurtisRader
      @KurtisRader ปีที่แล้ว

      Same here. I'm a grey beard who started programming in 1976 (more than four decades ago) and one of my first college classes was programming a Motorola 6800 computer in assembly language much like this series of videos. I'm fairly certain I had to write similar code for that course but thank dog those days are long past.

  • @IceMetalPunk
    @IceMetalPunk ปีที่แล้ว +360

    You're alive! I'm so happy, not only that you're alive, but that you're continuing this series. It's one of the best computer science series on TH-cam, and I come away from each video both more educated and more fascinated than I started. Thank you, Ben, for all you do!
    Seeing you do all the summation to create a delay makes me glad for higher-level modern functions like usleep() 😁

    • @ZeroPlayerGame
      @ZeroPlayerGame ปีที่แล้ว +11

      I think the I/O interface he uses actually has programmable timers, it's just easier for such a small example to make a little loop. In a more real application, you'd probably set up proper interrupts so you can do other stuff while the data is coming in.

    • @xboxbrocko
      @xboxbrocko ปีที่แล้ว +2

      im also glad hes alive

    • @TS6815
      @TS6815 ปีที่แล้ว +1

      seeing the 'funny meme username' from that years-old Computerphile AI generated comments video in the replies here gives me a warm fuzzy feeling .. this little community of tech-y people is a bit smaller than I thought

    • @IceMetalPunk
      @IceMetalPunk ปีที่แล้ว +1

      @@TS6815 The world is a small place when we can all share ideas with each other :)

    • @debbiebernhardt5406
      @debbiebernhardt5406 ปีที่แล้ว

      The serial port/parallel port was used for cars obd 2 for programming/complex Dtc record check for cars

  • @shabybarel7666
    @shabybarel7666 ปีที่แล้ว +114

    Ben is one of the best teachers i have ever seen on the topics of computer and hardware engineering. He always starts by explaining fundamentals at the perfect pace and builds the complexity step by step. I have both BSc and MSc EE degrees and i still wait for his videos to learn something new every time. Ben, you deserve to lead your own hardware engineering lab in one of the top universities. Keep making more fantastic content, people are waiting for this.

    • @lucasrem
      @lucasrem ปีที่แล้ว

      Shaby Barel
      therapy you need?
      understand bidirectional serial communication ?
      Webb, who need to understand it here, or is this just nerdy entertainment ? To lazy to be willing to understand it, eyeballing and wonder.....

    • @EmersonCapuano
      @EmersonCapuano ปีที่แล้ว +2

      I agree.

    • @berntolovhellstrom8891
      @berntolovhellstrom8891 ปีที่แล้ว +2

      @@lucasrem I wonder who needs therapy? Why are you watching and derogatory commenting things yourself are "fully" understanding? It it just to drop BS comments because you got 63 subscribers and Ben got 1 Million?
      Ben brings an extraordinary educational value to the whole world - Do you?

  • @BlackHoleForge
    @BlackHoleForge ปีที่แล้ว +267

    I can't believe I went my whole life without realizing that RS stood for recommended standard.

    • @ohasis8331
      @ohasis8331 ปีที่แล้ว +5

      You're not Robinson Crusoe.

    • @BlackHoleForge
      @BlackHoleForge ปีที่แล้ว +4

      @@ohasis8331 I don't know what that means, but we used to make up random words for those standards when we were kids. And the sillier the better. My favorite one was RS 232 which I thought stood for robot servicing. I even went to school later for networking, and that never came up.

    • @ohasis8331
      @ohasis8331 ปีที่แล้ว +6

      @@BlackHoleForge Robinson Crusoe from classic literature, lost on a deserted island, means all on your own, by yourself, the only one etc. though from ancient memory, he may have had a manservant at some time. Or maybe I am mixing stories but you should get the drift :)

    • @mariojoia1337
      @mariojoia1337 ปีที่แล้ว +6

      "The best time to learn something was 10 years ago, the next best time is now."
      I remember hearing this somewhere, but can't remember where.

    • @jgharston
      @jgharston ปีที่แล้ว +2

      We have RS Components in the UK, and initially thought is must have been something related to them.

  • @Wazzaps
    @Wazzaps ปีที่แล้ว +26

    Welcome back!

    • @briankimathi5033
      @briankimathi5033 ปีที่แล้ว

      Wait, this video was uploaded 5 minutes back. How did you comment on it 2 hours prior??

    • @NoobHuman
      @NoobHuman ปีที่แล้ว

      @@briankimathi5033 prob patreon

  • @kmonyt
    @kmonyt ปีที่แล้ว +67

    While admittedly less used on consumer grade equipment, the full 25 pin connector was certainly popular for network equipment in the 1990s and 2000s. Routers w synchronous serial connections would come off as DB25, and connect to CSU/DSUs that would then connect to 64K or T1 circuits to go over a WAN. Often to a remote office or ISP. The flow control signals aren't optional or unused, quite the contrary, they were essential to a proper setup. Console ports are much simpler, but the full interface was used regularly for certain applications.

    • @benjaminkeebler4218
      @benjaminkeebler4218 ปีที่แล้ว +7

      This brings back memories of conference calls with network vendor support while on-site with a telco rep, trying to figure out why the *insert nsfw-language here* circuit wouldn't come up.

    • @chrishartley1210
      @chrishartley1210 ปีที่แล้ว +7

      And well before the 1990's too. Clock speeds in the 70's were not sufficiently reliable to allow asynchronous transmission at anything above about 300 bits/s (and 75 bits/s reverse). That was enough for a teletype console and keyboard since that was considered faster than the teletype could print or anyone could type, but for serious communication speeds synchronous comms was a requirement. I never saw any equipment that used the secondary channels though.

    • @devMashcom
      @devMashcom ปีที่แล้ว +3

      All my 80's retro gear uses 25 pin connectors too. I never really saw 9 pin connectors on anything except joysticks before the 90's!

    • @loudej
      @loudej ปีที่แล้ว +1

      @@chrishartley1210 fascinating! I've never heard of slower than 300 baud before, but esp if flow control was optional on those devices it would make sense.
      At 7-10 characters per second were those teletype physical printers?

    • @chrishartley1210
      @chrishartley1210 ปีที่แล้ว +3

      @@loudej There were a lot of different styles of teleprinter, Teletype was probably the most successful and was a division of AT&T.
      10cps was typical so they were slow and quite noisy, but they were a fraction of the cost of the early video terminals.
      I remember using one of the early graphics terminals (a Tektronix 4010 if I remember correctly) around 1974. The university only had one, it probably cost a small fortune but paper costs for the Teletype 33 terminals would not have been insignificant.

  • @luqdude
    @luqdude ปีที่แล้ว +21

    The production quality of these vids is amazing, glad that you're back

    • @lucasrem
      @lucasrem ปีที่แล้ว

      just a home job, web cam, final cut skills !
      your channel ? play games ...? need quality channel, stop playing !!!!

    • @luqdude
      @luqdude ปีที่แล้ว

      @@lucasrem huh?

  • @markm0000
    @markm0000 ปีที่แล้ว +10

    Bro you got to keep regular updates on the community tab because I was genuinely concerned for a while.

  • @lynch-mob
    @lynch-mob ปีที่แล้ว +51

    We've missed you Ben! Glad to have you back!

    • @marcel151
      @marcel151 ปีที่แล้ว +8

      The Spambots are also back. 😅

    • @lynch-mob
      @lynch-mob ปีที่แล้ว +1

      @@marcel151 Of course - it wouldn't be TH-cam without SpamBots!

    • @ohasis8331
      @ohasis8331 ปีที่แล้ว +2

      @@marcel151 Just keep reporting them, yt gets something done when they get flooded with reports.

  • @bDub779
    @bDub779 ปีที่แล้ว +4

    Never knew RS stood for recommended standard. Those little knowledge nuggets just add value to these videos. Thanks!

  • @andrewwmitchell
    @andrewwmitchell ปีที่แล้ว +29

    Great to have you back, Ben. I used to use RS-232 all the time in the 80s and 90s but I never needed to learn it at this level; so this was fascinating for me. Looking forward to the next ep.

  • @Gunbudder
    @Gunbudder ปีที่แล้ว +90

    The negative voltage requirement of RS-232 is why some ATX power supplies still provide a negative voltage reference on one of the pins. The power supply manufacturers want to provide it in case the end user has a motherboard that uses on board RS-232 (some industrial motherboards still use it). usually the available current for the negative voltage reference is pretty small though (around 1 amp or less).

    • @stevedonkers9087
      @stevedonkers9087 ปีที่แล้ว +17

      Yes, most of the power supplies I have seen have -12v at around 300 milliamps. For a comparison I don't think I've seen a +12v rail lower than 10amps.

    • @eDoc2020
      @eDoc2020 ปีที่แล้ว +3

      @@stevedonkers9087 +12v capable of less than 10 amps is pretty common on older power supplies before the 24-pin connector. Even my old P4 system with the 4-pin CPU connector only does 8.5 amps.

    • @petevenuti7355
      @petevenuti7355 ปีที่แล้ว +1

      Is this why USB to rs232 adapters don't work?

    • @eDoc2020
      @eDoc2020 ปีที่แล้ว +11

      @@petevenuti7355 USB to RS232 adapters use a chip like the MAX232. This chip uses a charge pump to create positive and negative from a single 5 volt input. It only generates around +-7 volts instead of the 12 volts RS232 devices are supposed to output but it still works fine with most devices.

    • @MattOGormanSmith
      @MattOGormanSmith ปีที่แล้ว +3

      Some old sound cards used it too, for proper op-amp IO without DC offset. Old BIOS EPROMS also used the -5V IIRC

  • @munzeralseed
    @munzeralseed ปีที่แล้ว +14

    "A while ago I built this breadboard computer..." This is like your father who went out to get milk, but he is back after 23 years with a carton of milk in his hand, asking why the breakfast isn't ready yet.

    • @Ozhull
      @Ozhull ปีที่แล้ว +1

      How is it like that in any way, even remotely?

  • @Rukkus333
    @Rukkus333 ปีที่แล้ว +12

    Thanks Ben. These videos have immense value to the world.

  • @Zhixalom
    @Zhixalom ปีที่แล้ว +13

    Ever since I encountered my first DB25 RS-232 serial port back in the '80s, I have wondered about this... Just brilliant! ❤

  • @smellysam
    @smellysam ปีที่แล้ว +72

    In the Subsea sector, RS 232 and 485 are still relevant on ROVs. They work very well in high noise environments (shielding can only go so far with multiple 3000V AC motors in close proximity). The systems are usually 3 pin...

    • @squelchedotter
      @squelchedotter ปีที่แล้ว +27

      They're relevant for almost anything industrial. Lots of things like Modbus (used to control basically anything industrial, including probably your buildings AC) run over RS 485.

    • @brianmiller1077
      @brianmiller1077 ปีที่แล้ว +8

      Card access controllers talk to subpanels via 485.

    • @Elitekross
      @Elitekross ปีที่แล้ว +5

      Aircraft too!

    • @johannesgaida3137
      @johannesgaida3137 ปีที่แล้ว +5

      With the NMEA standard? Because we use NMEA 0183 a lot with glider avionics.

    • @Elitekross
      @Elitekross ปีที่แล้ว +4

      @@johannesgaida3137 it depends on the simulation

  • @iMentox
    @iMentox ปีที่แล้ว +6

    Thank god you're alive, I was worried. Great to see you back!

  • @Eclipsed_Archon
    @Eclipsed_Archon ปีที่แล้ว +28

    It's so very satisfying to see all that work translate into actual text transmission and show on the screen! Reminds me why I started to learn programming 15 or so years ago, and really has me wanting to do more work with physical parts like this again. I really love this channel

    • @lucasrem
      @lucasrem ปีที่แล้ว

      Nothing changed the last 15 years, we still use the same code here as in 2005, not needing to update the systems.
      non secure bidirectional communications, the old days was crap! anyone can get in !

    • @Hugh_I
      @Hugh_I ปีที่แล้ว +3

      @@lucasrem What do you mean "same code as 2005 here"? Ben just wrote his assembly code in 2022 for this educational example, not to deploy a control interface for a nuclear reactor. This has nothing to do with whether people update outdated insecure infrastructure or not.
      But if you're really concerned about someone hooking up a listening device to your serial cable, you can always send encrypted data. That is a question of whatever "protocol" you make up in software on top of your serial communication, not a question of how old your physical transport layer is. USB, Thunderbold, Ethernet or whatever you think is not "old days crap" is by itself "non secure bidirectional communication" as well.

  • @gustavogushiken4256
    @gustavogushiken4256 ปีที่แล้ว

    This is insane! One of the greatest videos on the internet about this theme. Thank you very much for sharing so much knowledge...

  • @Aurora12488
    @Aurora12488 ปีที่แล้ว +164

    Thank goodness you're back!! We've missed you and your incredible computer engineering videos. :)

  • @Eddy0042
    @Eddy0042 ปีที่แล้ว +3

    Saturday afternoon - raining outside, wait - get me a fresh cup of tea, I'm about to learn how the RS232 interface works! Feels like sunshine...

  • @glitchy_weasel
    @glitchy_weasel ปีที่แล้ว

    Glad to have you back! Not only did I learned about the 232 serial protocol, but also about transistors and real time programming too. Fantastic video!

  • @SirKenchalot
    @SirKenchalot ปีที่แล้ว +7

    So glad you're back as your videos are fantastic. I still think your series on building your own 8 bit computer Is one of the best on TH-cam.

  • @mashrien
    @mashrien ปีที่แล้ว +53

    Holy crap. I thought the rona got him. Glad to know you're still alive man.
    Thank you for coming back and uploading the content we all love- My kit's been sitting on the shelf gathering dust ; ;

  • @xmcblxck
    @xmcblxck ปีที่แล้ว +3

    Ben you are a genius! Seriously, I love your videos they are very informative and I am learning a lot. I think we are all happy when a new video from you comes online 👍

  • @Controllerhead
    @Controllerhead ปีที่แล้ว +4

    Incredible video quality and technical explanation! So glad you're back!

  • @scrimpysquare1485
    @scrimpysquare1485 ปีที่แล้ว +4

    the legend has returned

  • @somilamaloyi7544
    @somilamaloyi7544 ปีที่แล้ว +5

    i’ve beeen waiting for a new Ben Eater video😭😭❤️‍🔥 keep up the hard work Ben 💪🏽💪🏽

  • @moshesakajo
    @moshesakajo ปีที่แล้ว +1

    as always, it is a great pleasure to watch your tutorials. It is good to have you back in business

  • @theoneandonlymeshe9174
    @theoneandonlymeshe9174 ปีที่แล้ว +1

    One of the few channels I have the bell turned on for and stop whatever I’m doing when a new video comes out.
    Thank you Ben 💞

  • @DoctorMikeReddy
    @DoctorMikeReddy ปีที่แล้ว +14

    It’s been too long! Glad you’re back. Please don’t make us wait so long again

  • @thegerbus
    @thegerbus ปีที่แล้ว +3

    The legend is back!

  • @milk-it
    @milk-it ปีที่แล้ว +10

    Assembly programming interacting with hardware. Love it! More, please! Very well explained!

  • @renjunathp6376
    @renjunathp6376 ปีที่แล้ว +1

    Welcome back Ben. So happy to see you back in action.

  • @AsmodeusMictian
    @AsmodeusMictian ปีที่แล้ว +11

    Fantastic to see a new video posted from you, sir! Thank you, as always, for educating me a bit more. It's always something interesting :)

  • @draggonhedd
    @draggonhedd ปีที่แล้ว +17

    You always do such a good job of explaining these concepts in a clear and understandable way. I feel like I understand this in a way I haven't before.

  • @ludovicfrochot5774
    @ludovicfrochot5774 ปีที่แล้ว +1

    Hi Ben, glad to find a new video from you! Very clear and inspiring as usual. Thank you!

  • @MangoJones139
    @MangoJones139 ปีที่แล้ว

    Great to have you back! Very interesting video as always. Worth the wait.

  • @-UPH-KRISHNAM
    @-UPH-KRISHNAM ปีที่แล้ว +5

    Great to see you again Ben 😍

  • @sonovoxx
    @sonovoxx ปีที่แล้ว +7

    Whaaaattt!!! He's alive! Sooo good to see you back! Literally trawled the web occasionally for mention of your name in the hope to hear you were ok. Delighted to see a video! 💪👏👏👏

  • @maksudulhaque3227
    @maksudulhaque3227 ปีที่แล้ว +1

    I am glad I subscribed to this channel. This is the most informative channel and the time and energy put on to these videos are amazing. The quality is beyond best. I love it.

  • @phlosen7854
    @phlosen7854 ปีที่แล้ว +1

    You show every step of your Process in detail. I fully understand what you are doing and why you are doing it. It still is magical and impressiv when it just works. You are great!

  • @Mr_ToR
    @Mr_ToR ปีที่แล้ว +10

    haven't watched it yet, just got the notification for the new video. so anxious to go home and watch. we're so lucky to have you on youtube ben eater! you're the best teacher!

  • @75slaine
    @75slaine ปีที่แล้ว +4

    Welcome back Ben, great to see you making videos again.

  • @gregorymccoy6797
    @gregorymccoy6797 ปีที่แล้ว +1

    Always impressed at the quality and information density of your videos.

  • @tiger12506
    @tiger12506 ปีที่แล้ว +8

    Had to do a lab in college using a similar architecture to create a musical tuner. So had to precisely measure freq, ex: 440hz. Your clock cycle counting and nop to balance both sides of a branch brought a smile to my face. Someday I'll go back to playing with those types of things again.

  • @ThirdInLine
    @ThirdInLine ปีที่แล้ว +9

    I was just thinking how it had been a long time since is seen anything from you! Thank you for all your amazing content!

  • @khoda81
    @khoda81 ปีที่แล้ว +3

    Yay, Ben Eater is back!

  • @GrantMcLean
    @GrantMcLean ปีที่แล้ว +9

    Great video as usual Ben. It took me back to my days as a data communications technician. When you talk about the clock pins not being widely used, remember that RS232 supports two different modes of operation. Asynchronous communication works as you described and was commonly used with terminals and printers. Synchronous mode used the clock signal and was more efficient because it didn't need a start and stop bit for every character. Synchronous mode was commonly used on higher speed lines which used multiplexers, data concentrators or protocol converters. For example X.25 packet switched data links or SDLC communications to an IBM mainframe used synchronous mode, and the modem would supply a clock signal.

    • @lucasrem
      @lucasrem ปีที่แล้ว

      What did you do in the market ?
      sentimental reasons, why you watched it ?

    • @GrantMcLean
      @GrantMcLean ปีที่แล้ว +1

      @@lucasrem Heh, yeah maybe sentimental reasons 😄. I always enjoy Bens explanations of things I'm not too familiar with. I thought it would be interesting to see his take on a topic I was familiar with.

  • @andrewbarnard3229
    @andrewbarnard3229 ปีที่แล้ว

    love and have enjoyed all your uploads for years, thank you for continuing to provide content for our entertainment

  • @GiveAcademy
    @GiveAcademy ปีที่แล้ว +3

    Glad to see more content, I hope all is well! This was a fantastic video!

  • @Hiphopasaurus
    @Hiphopasaurus ปีที่แล้ว +143

    Nice tight loop, gone are the days (at least in PCs) that you have a known fixed clock rate and execution time, but so awesome to see that in action!
    Have you ever thought about getting a ZIF socket adapter for that EEPROM on the breadboard? I always get so nervous watching you pry out and insert the chip with all those wires around it! :)
    Fantastic video as always!

    • @CraigBrideau
      @CraigBrideau ปีที่แล้ว +10

      I thought the same thing about the ZIF socket. So many bent DIP pins doing this over the years...

    • @WolfePaws
      @WolfePaws ปีที่แล้ว +3

      Hah, yes, absolutely - I've been thinking this since the start of the project. Alternatively there has to be a way to program it in place.

    • @CraigBrideau
      @CraigBrideau ปีที่แล้ว +5

      @@WolfePaws PIC and AVR have ICSP (In-circuit serial programming) where you just leave a pin header attached to the programming lines on the chip. A cable connects from your programmer to the header and you can program whenever you want without having to move the chip.

    • @richardbanks2669
      @richardbanks2669 ปีที่แล้ว +9

      I tried this once, but typically ZIF sockets themselves have legs which are too fat to fit into standard solderless breadboard :(

    • @Hiphopasaurus
      @Hiphopasaurus ปีที่แล้ว +3

      @@richardbanks2669 Very good point. The ZIF sockets I have do have very stubby leads too and I don't recall ever trying to put them on a breadboard.
      Though I think the reason he doesn't is just because of the way he explains things so clearly and non-distracting way, like only using what you actually need to do this. Just like he shows the assembly and EEPROM writing steps each time, so it's absolutely clear what is happening.

  • @christianm6052
    @christianm6052 ปีที่แล้ว

    I recently started using MODbus and RS485 for my job and the first thing I did was check your channel for a video since yours have been the easiest to digest. Great work!

  • @MohammadAlmeqdadi
    @MohammadAlmeqdadi ปีที่แล้ว +6

    This video made this day so much better! You're a great teacher, and I enjoy your videos, and learn so much even though I know I would likely never be this capable, but brings a smile to know that at least I understand how things work. I always had those questions as a kid and it feels good to finally 'get it'. All the support :)

  • @danielhermanus6909
    @danielhermanus6909 ปีที่แล้ว +5

    Been waiting for this!

  • @sunipmukherjee2130
    @sunipmukherjee2130 ปีที่แล้ว +11

    Hey glad to see you back man! Hope everything is alright with you. Great content as always.

  • @alexandermaasland3494
    @alexandermaasland3494 ปีที่แล้ว

    So nice to see you back with a new video Ben! Thanks a lot :)

  • @benjaminkeebler4218
    @benjaminkeebler4218 ปีที่แล้ว

    I had just the other day checked to see if you had released anything that YT decided not to show me. Welcome back! Love the content.

  • @MRgrouponline
    @MRgrouponline ปีที่แล้ว +3

    Great to see you back man

  • @hh-yz8nw
    @hh-yz8nw ปีที่แล้ว +6

    Great Ben thanks to have you are back after this "pandemic" period. Wish I could have learned all this from you in my early days. Best Regards from Hans in the Netherlands.

  • @bharadwaj297
    @bharadwaj297 ปีที่แล้ว

    Fanstastic !!! I am very glad that there is channel which is doing fundamentals so eloquently.

  • @rogrevs
    @rogrevs ปีที่แล้ว

    I was only looking at my 6502 build a couple of weeks ago and thinking that I needed to figure out how to get it hooked up to a terminal, so the return of your series is very timely!!!!

  • @volodimirkun
    @volodimirkun ปีที่แล้ว +3

    WOW~~~!!! Here we go, Sir~~~!! THanx for coming back with a video!!

  • @soundspark
    @soundspark ปีที่แล้ว +9

    I had a lab in community college where we scoped out RS-232 protocol, bit-banging the UART with ASM.
    We didn't have digital storage oscilloscopes and as such we wrote a simple program to repeatedly send a single character. When the PC was on Windows 98 the timing was all over the place, much more stable when booted to plain DOS.

  • @GuildOfCalamity
    @GuildOfCalamity ปีที่แล้ว +2

    It was nice to see you address the rising edge/falling edge timing. It's wonderful when you don't have enough ICs to be concerned with fan-out and de-bounce.
    Would love to see a follow up on flow control or half vs full duplex.

  • @ohaya1
    @ohaya1 ปีที่แล้ว

    Such a relief to see that you're back Ben!

  • @alec1575
    @alec1575 ปีที่แล้ว

    Your knowledge on this is amazing.

  • @supergreatlifewithgames1080
    @supergreatlifewithgames1080 ปีที่แล้ว +15

    I learned more from him in a day than my entirety of schooling years.

  • @oneeyefpv
    @oneeyefpv ปีที่แล้ว +7

    Great video. Also great to see someone programming in assembly so fluidly!

    • @rty1955
      @rty1955 ปีที่แล้ว +2

      Ive been programming in assembly for over 50 yrs
      Best Language ever

    • @ivarnordlkken8082
      @ivarnordlkken8082 ปีที่แล้ว

      @@rty1955 Me too. Both 6800 and Z80.

    • @rty1955
      @rty1955 ปีที่แล้ว

      @@ivarnordlkken8082 I had began my work on IBM unit record equipment like the 407 using plugboard wiring then the IBM 1401 and then the IBM 360/30 ans on up. I played with the Intel 4004, and found it to be a toy. I built my own processor built around 7400 chips that mimicked the IBM mainframe instruction set. When the 8080 came out, I used it for an S-100 bus microcomputer. Coming from a mainframe environment, I found the instruction set to be VERY limiting. And could not grasp a SP register, as mainframes don't use that. I wrote major applications in assembly lang on mainframes with only 48k of memory. I was always amazed on what i can do with such limited memory. I would watch a tape sort on a mainframe (which was way faster than using disk) and was in awe. After it read alp the input data, it would print out how many passes of the data it would have to make before final output. You could even tell it which tape drive you wanted the output on even though it used that drive as a work drive! The instruction set was VERY powerful in mainframes and I missed that when I wrote for the Intel platform. For example I could clear 16meg of memory with just ONE instruction. Also the absence of 16 general purpose registers boggled my mind! Who would design such a limited processor! To me, the processors in a PC will always be a toy. They never matured. I now code on TI processors like the MSP430 and PIC type decixes8

  • @noureddinebenakrim5458
    @noureddinebenakrim5458 ปีที่แล้ว

    Welcome back, so happy to hear you again

  • @tylerbunnell8714
    @tylerbunnell8714 ปีที่แล้ว +1

    New Ben Eater video?! Just what I needed after a brutal week! Haven’t even watched it yet and already know it’s gonna be fantastic!

  • @LogansBench
    @LogansBench ปีที่แล้ว +3

    We literally started serial comms in my embedded systems course yesterday, this is perfect timing

    • @markm0000
      @markm0000 ปีที่แล้ว

      Do good in school. Always remember where you are and where you’re going. Build a portfolio of your own projects and every small thing you do in class that’s difficult to figure out. I strongly recommend a basic personal website to make it easier for people to find you. Never let it slide always update it even when you’re several years into the field. You might get near retirement and an incredible opportunity comes along to make a massive improvement in this tech world.

    • @marc_frank
      @marc_frank ปีที่แล้ว +1

      @@markm0000 did you do so?

    • @Hiphopasaurus
      @Hiphopasaurus ปีที่แล้ว +1

      Perfect timing. I see what you did there.

    • @markm0000
      @markm0000 ปีที่แล้ว

      @@marc_frank I learned all I should have known years after being frustrated from the College_Degree™ fantasy. They make it seem so incredibly easy to just pass each course, get the fancy slip of paper, and land a six figure IT job for the rest of your life. I drank the Kool-Aid from a young age and believed all of it. I was quickly faced with reality and it didn’t work out. Thankfully I went to go work with my dad as a blue collar. I since switched careers again and now I’m doing alright as a mechanic with tech knowledge in my back pocket. There’s a whole lot more wires in equipment than nuts and bolts nowadays and I see a good future for myself. I’m thankful that I have good parents to fall back on, while I figured out what I was doing wrong during those years. Life goes on. Stay hungry, stay foolish.

  • @pa1855
    @pa1855 ปีที่แล้ว +3

    Finally a new video!

  • @xoeriphenburg4413
    @xoeriphenburg4413 ปีที่แล้ว +1

    I just dropped out of my classic mechanics course (first step in the 4 levels of physics required for a CS/CE bachelor's) and you've given me a lot of inspiration to keep going... this was so engaging, and I was able to follow all of it - even being someone who never took high school physics and have not gotten past my first level of physics or calc 2. This is lovely. Thank you so much.

  • @vdubjunkie
    @vdubjunkie ปีที่แล้ว

    I have to say again how much I appreciate the way you explain these things. It really works for me.
    I’ve been using RS232 for years, console access to various networking devices, and now I understand it on a completely different level!

  • @GrenYT
    @GrenYT ปีที่แล้ว +4

    Great video! Few improvements that could be possible:
    1. Use a conditional jump subroutine to get a 3 cycle delay instead of 2 NOPs for 4 cycle delay, to allow getting the more exact 104us delay
    2. Half bit time routine wasn't exactly half a bit time. Would be closer to 69-70us when half bit time is 52us. But not super important here.
    3. Could be cool to parameterize your delay subroutine so you have the same sub routine for 1 cycle and half cycle, but that's just for overachieving:)

    • @leong108
      @leong108 ปีที่แล้ว

      He is just doing bitwise ttl receive for this video ? I think it will fail when he has a longer cable .. more capacitance... he will show you then show how a UART handles it still.

    • @Zarazaize
      @Zarazaize 4 หลายเดือนก่อน

      I was also concerned about half bit timer :)

  • @clooskey
    @clooskey ปีที่แล้ว +7

    Okay, I have to let it out.
    I missed your videos so much that I started looking for another places where you might have had been doing... anything 😂 Also made sure that there is no rumours anywhere saying that something bad happened. I was thrilled to discover the Ben Ben and Blue podcast, oh, that was a great listen! The 'origins of Ben Eater' are so inspiring. I love your story and keep learning so much from your videos. I'm glad they're back 😀
    Actually I'm using a lot of industrial RS-232 speaking devices (barcode scanners, measuring equipment) at work and still learned new things from this video 😀

  • @bufferboy3437
    @bufferboy3437 ปีที่แล้ว

    Welcome back Ben. So happy to see you again.

  • @shaunclarke94
    @shaunclarke94 ปีที่แล้ว

    Glad you're back! Love your videos.
    I've learned so much from them.

  • @austinscott4695
    @austinscott4695 ปีที่แล้ว +3

    Welcome back ❤❤

  • @lithou4689
    @lithou4689 ปีที่แล้ว +3

    Glad to see you back making videos. As someone who works troubleshooting both old and new tech, your videos have helped me gain a huge insight into how things work. We infact still put RS232 on new products we make for backwards compatibility with older equipment.

  • @solcloud
    @solcloud ปีที่แล้ว

    Super awesome! Glad to see you are back!

  • @elamperti
    @elamperti ปีที่แล้ว

    I used these cables for years when I was a kid and all those config options (bauds? parity?) were just magic numbers. It's amazing to finally understand what they mean and how the protocol works. Thank you very much!

  • @sylpisophia5612
    @sylpisophia5612 ปีที่แล้ว +2

    i used to be so patient and diligent in doing stuff like these. now, my attention got diluted by so much stuff. I'm glad to see videos like this. I could at least feel the excitement without needing to commit to another project 🤣

  • @the1spyderryder
    @the1spyderryder ปีที่แล้ว +6

    It has bee. A while since i wrote assembler and it was mostly Z80 and 8051 code. But i have done 6502 a very long time ago on the VIC 20 and the C64...lol it was a joy watching someone else coding in assemler! Great Video.

  • @teaselbay7235
    @teaselbay7235 ปีที่แล้ว

    Hurray, glad to see you are back Ben. Missed your videos of late!

  • @MotoRideswJohn
    @MotoRideswJohn ปีที่แล้ว

    You had us worried, Ben! So glad to have you back with us!

  • @EdgeGaming
    @EdgeGaming ปีที่แล้ว +35

    This is so interesting. Out of my depth and you lost me at times but still fascinating. I've never seen bits on an oscilloscope like that!

    • @chicken_punk_pie
      @chicken_punk_pie ปีที่แล้ว +13

      If this interests you enough you can go back and watch his older videos and learn exactly what all of it means. This channel is amazing.

    • @leong108
      @leong108 ปีที่แล้ว +1

      Just watch for RTS and CTS ... and cross over (DTE to DTE , or DCE to DCE ) connections.

    • @ohasis8331
      @ohasis8331 ปีที่แล้ว

      @@chicken_punk_pie And it is well worth doing, you can do it at leisure rather than force it. I took months but got the whole lot.

  • @SuperMurrayb
    @SuperMurrayb ปีที่แล้ว +6

    Interesting video. Thanks for posting it. For the IBM PC there was a LAN that used the 25-pin RS-232 connectors joined in a ring configuration. The LAN did not require a network card only a 25-pin serial port on each machine. Zero-slot LANs were fairly popular until affordable Ethernet cards became available.

    • @Chris-ib8lw
      @Chris-ib8lw ปีที่แล้ว

      These were the original token-ring protocol networks correct? I remember reading about this many, many years ago in a MCSE class I took.

    • @SuperMurrayb
      @SuperMurrayb ปีที่แล้ว +1

      @@Chris-ib8lw Token Ring was IBM's system with real expensive cards connected using heavy coaxial cable we called "frozen yellow garden hose". It used an expansion slot. All I recall was there was a zero slot LAN for up to seven workstations that used a 25-pin RS-232 connector for each machine. For each connector there was one cable connected to one transmit and receive pair of pins and another cable to the other pair. One cable went back to the previous machine and the the other went on to the next machine. A small TSR (Terminate and Stay Resident) program in each station would receive each packet and use it or forward it to the next machine. I do not remember anything else because I never worked on any zero-slot LANs. They were quite slow at 115 Kbaud, or so, and were only used for tiny networks.

  • @colonelbarker
    @colonelbarker ปีที่แล้ว +2

    So happy to see you're alive and well. We've missed you greatly.

  • @DocT476
    @DocT476 ปีที่แล้ว

    Thanks. Good to see you back.

  • @gandalfgrey91
    @gandalfgrey91 ปีที่แล้ว +6

    Ten years from now: “The breadboard has become sentient.”

  • @joeglens
    @joeglens ปีที่แล้ว +6

    This reminds me of my days doing assembly programming on a PIC16F84. I had implemented a bit-bang UART driver that drives an rs232 interface.
    Also a 232 interface using a simplified ttl level voltages is prevalent in embedded programming for debug purposes

    • @saitamapreetsingh3057
      @saitamapreetsingh3057 ปีที่แล้ว

      git ?

    • @TheWeepingCorpse
      @TheWeepingCorpse ปีที่แล้ว +1

      I also used the PIC16F84. The program memory was so small that I had to write a single bit bang routine to handle rs232, i2c and rs485 for an amusement arcade machine monitoring system, I remember using an interrupt pin for the rx line, causing the start bit to trigger an ISR . Now we have atmega328 its a different world. LOL.

  • @kepamurray1845
    @kepamurray1845 ปีที่แล้ว

    Once again a great video. On something I have been using for 25+ years and thought I knew a fair bit about. You have provided more useful information. Thanks.

  • @hashtagPoundsign
    @hashtagPoundsign ปีที่แล้ว +1

    Very satisfying to watch.