Electronic Basics #19: I2C and how to use it

Поделиться
HTML-код
  • Опубликовано: 25 дек 2024

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

  • @KennethTanFotografie
    @KennethTanFotografie 8 лет назад +249

    For me you moved away to quickly from the I2C theory and got to involved in the radio module. I'd rather have seen you explain how the bus works with single and multiple devices. Although I could follow what you were explaining, I believe it's going to be to complex for a lot of viewers.
    I compliment you anyway on doing an excellent video. Presentation and detail were precise and professional.

    • @rickyarinugraha
      @rickyarinugraha 8 лет назад +12

      +Kenneth Tan Agree with you on that, sir.
      I was completely lost when you explain about those bit ordering.

    • @RobertShaverOfAustin
      @RobertShaverOfAustin 8 лет назад +9

      +Kenneth Tan I think that explaining very technical subjects such as the detailed bit order used in I2C is not easy in a video. I learned electronics before I went to university and became an engineer mainly by reading the manufactures specification documents. This was in the '60s and '70 so no Internet, RUclips or Facebook. I would write to the manufacturers and ask them for data sheets and catalogs. When they came I would read them over and over and over trying to understand the meaning of all those words and numbers.
      Now you don't have to write to the manufacturers but, if you want to really understand what these parts do, you should use the Internet to find the data sheets, catalogs and application notes.
      For example, here's the I2C web site with very detailed explanations of how it works. (i2c.info/i2c-bus-specification) It can be a bit overwhelming but if you keep at it *AND* watch videos like this one, you will figure it out. For me, someone tells me how a thing works is not as powerful if I struggle through the process of figuring it out myself.
      Good luck. I admire you all for taking such a keen interest. For me it has been a 40 year process of solving puzzles and getting paid to do what I would have done for free.

    • @KennethTanFotografie
      @KennethTanFotografie 8 лет назад +8

      +Robert Shaver Actually Robert, GreatScott does an excellent job explaining technical stuff, but my opinion about this video is, that he should have sticked with more detailed I2C subject matter. Still it remains a very good video

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

      Robert Shaver yes I agree with you. It is much more valuable to learn it by self teaching and imagine how awesome it will feel to finally get it! I’m on that journey myself to learn synchronous data communication such as SPI and studying a lot of resources.

    • @BikesBlades
      @BikesBlades 4 года назад +1

      A good description of I2C would take an hour.

  • @alexkepa12
    @alexkepa12 8 лет назад +74

    Well, I'm still confused... I guess I have to do things myself to actually understand

  • @Lordofrimgs
    @Lordofrimgs 4 года назад +3

    This is such a great channel. What ever technical stuff you search in RUclips, you can just find the most in this channel and with precise explanations.. woah..

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

    Best left-hander writing I have ever seen. Great job. Thanks.

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

    I remember watching this 5 years ago and I understood nothing. I got to learn Assembly in university and now it seems so intuitive.

  • @BillySugger1965
    @BillySugger1965 8 лет назад +37

    Great video Scott. Just one comment though, the oscilloscope traces show that the rise times are rather long, 10k pull-up resistors are rather lazy. Most device data sheets recommend smaller values, like 3k3 or 4k7. I use the Arduino processor's bigger brother, the ATxmega which runs much faster. Even with a software i2c driver I can run at full speed of 400kbits per second. At this speed I need 1k5 pull-ups to avoid data corruption. If you're worried about supply current, remember that current only flows through these pull-ups when the line is driven low and they float high when the bus is idle. So if you have only occasional message traffic the duty cycle is incredibly low, meaning the supply current increase is negligible.

    • @djquestionthis
      @djquestionthis 8 лет назад +1

      Great points!!

    • @Les-electroniciens
      @Les-electroniciens 6 лет назад +6

      Your comment is interesting, but the capacitance of his oscilloscope's probes creates an RC that is most likely the reason of this lazy rising time IMO. As you can see the falling time is much shorter because the current doesn't flow through the resistor but thru the MOSFET instead. If he changes the pull-up resistors from 10k to 4.7k or even 3.3k, it won't make the rising edge much sharper. The only way for him to make sharper edges is to disconnect the probes and significantly reduce the parasitic capacitance.

    • @f.a3202
      @f.a3202 4 года назад +1

      @@Les-electroniciens yes it is the scopes fault but not because of the RC but because the scope has only 1mb of memory and can not display accurate information

  • @p1nesap
    @p1nesap 8 лет назад +1

    Excellent, you're getting smarter all the time.

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

    All this technology and it always comes down to sticking two crudely torn bits of paper to label the channels on the scope. Love it. :)

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

    Thank you so much, been self learning radio theory and building basic transmitters for a while. This is by far the most helpful series of videos I've found to date.

  • @d.g.s.7572
    @d.g.s.7572 3 года назад

    Thanks!

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

    Thanks for the real life example! This is by far the best explanation I've seen.

  • @pablo_costas
    @pablo_costas 8 лет назад

    its always nice to watch your vídeos, really love them !

  • @cwbh10
    @cwbh10 8 лет назад +11

    ahah you write your "1"'s just like my german physics professor, gets me every time! "why's he writing a hat?" :p

  • @charldonvanderwaltsleben6055
    @charldonvanderwaltsleben6055 8 лет назад +1

    love from south africa

  • @czarcorey1220
    @czarcorey1220 8 лет назад +3

    As always great video! I was just asking for an I2C video from another electronics youtube page and 30 minutes later you uploaded one XD

  • @valentinocolaon6060
    @valentinocolaon6060 8 лет назад +1

    I love your handwriting!

  • @Diamonddrake
    @Diamonddrake 8 лет назад

    Best video in a while, Thanks for the break down

  • @rklauco
    @rklauco 8 лет назад +2

    Nice handwriting. And nice video. I would suggest to lower the 10k resistor to like 4k7 - the scope signal clearly shows the rising of voltage is quite slow.

  • @prytamkev954
    @prytamkev954 8 лет назад

    Love your each and every videos

  • @vidanatural_oficial
    @vidanatural_oficial 8 лет назад +1

    This german guy speek nice english, I can follow everyting from Brazil.

  • @id104335409
    @id104335409 8 лет назад +28

    Wow, I lost you right at "If you've ever implemented...."

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

    Your first Video that is hard to understand for me, but excellent

  • @eldadyamin
    @eldadyamin 7 лет назад

    Looking forward for the 2nd part of this video!

  • @MegaJanyjan
    @MegaJanyjan 8 лет назад

    awesome as always

  • @shivanshpuri3065
    @shivanshpuri3065 8 лет назад

    great job great scott

  • @mattiachie
    @mattiachie 8 лет назад

    you are a genius, congratulations! in the future I hope to see you over youtube, merits much more!
    Good project, as always

  • @sortsvane
    @sortsvane 8 лет назад

    Love your videos ! FM IC Was a great way of explaining I2C Interface .

  • @thomasalexander1563
    @thomasalexander1563 8 лет назад +3

    Nice tutorial,,
    Make more I2C and arduino..
    Thank you.

  • @renechristmann2607
    @renechristmann2607 8 лет назад

    This bass in the intro is awsome

  • @id513128
    @id513128 8 лет назад

    Another awesome video. I can't wait for next video!
    I always use I2C but never how it work before. Thanks. ;)

  • @x10iman
    @x10iman 8 лет назад

    As always great video. Thank you for the useful information.

  • @santiagoestevez623
    @santiagoestevez623 8 лет назад +1

    Jut what I need it
    thanks men I was about to start working on i2c protocol

  • @mihtibby
    @mihtibby 8 лет назад

    I love your content keep up the good work

  • @GamerBat3112
    @GamerBat3112 8 лет назад

    I just love ur videos! very well explained

  • @tw7522
    @tw7522 8 лет назад

    Regarding FM & PLLs. Sanyo's CCB (Computer control bus) seems to be very popular to talk to these kind of chips as well.

  • @patrickyoon3461
    @patrickyoon3461 8 лет назад +75

    lol I don't understand anything :/

    • @vidrogic1499
      @vidrogic1499 8 лет назад +6

      You are not the only one.

    • @DREMajed
      @DREMajed 8 лет назад +10

      Oh " i don't understand anything" club
      I'm a new recruit. Can i join you guys?

  • @Teukkaniikka
    @Teukkaniikka 8 лет назад +1

    Perfect tutorial! I hope that you would make more I2C or one wire tutorials!

  • @notionSunday
    @notionSunday 8 лет назад

    Enjoyed it. Thanks for posting.

  • @MrMuniez
    @MrMuniez 8 лет назад

    Waiting for something abot rs232 and next generation (especialy rs485). You are good teacher :-)

  • @donaldfilbert4832
    @donaldfilbert4832 8 лет назад

    Excellent video !!! Thanks !!

  • @maxximumb
    @maxximumb 8 лет назад

    Nicely explained. Thanks.

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

    thank you GreatScott!

  • @JohnStraussmusic
    @JohnStraussmusic 8 лет назад

    Love your videos. so interesting

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

    That LED display showing letters was so bad ass omg

  • @Jackym266
    @Jackym266 8 лет назад

    Awesome vid!

  • @rikilshah
    @rikilshah 7 лет назад

    I am currently using RTC clock with Arduino UNO and It doesn't need any external pull up as Mega328 has internal pullup.

  • @nick1p.x226
    @nick1p.x226 8 лет назад

    Yes!!!!!!!!!!!!!!!!!! I love the electronics basics! Can you make more how current works and stuff?

  • @E-eeblogBlogspot
    @E-eeblogBlogspot 8 лет назад +1

    can you make a video about cheap diy 3d printer kits and how well it works?

  • @luizz1997
    @luizz1997 7 лет назад

    Is the pullup resistors really needed on arduino? i aways used the i2c protocol without and works like a charm...

    • @greatscottlab
      @greatscottlab  7 лет назад +1

      The Arduino has integrated pull ups.

  • @its.eldric
    @its.eldric 8 лет назад

    Kannst Du erklären, wie das mit dem Erweitern der I/O funktioniert, also wie ich damit komplexere Bauteile ansteuere, wie ein LCD, TFT oder Sensoren? Oder geht das nicht?

  • @fredchang5626
    @fredchang5626 8 лет назад

    @GreatScott You have great videos! I study for electronics enegineering and this year I'm doing something like "final exam project" (don't know how ot translate it :D ), and I have learned a lot of from your videos! Just like this I'm using 4 I2C devices and this video helped a lot :) Thank you very much Scott :)

  • @IsaacMorton
    @IsaacMorton 8 лет назад

    You should totally do a video on spi and/or o e wire. that would be so great!

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

    home made stickers on the oscilloscope priceless :)

  • @CodeAsm
    @CodeAsm 8 лет назад +1

    Why ... why does it look so much fun :D I now gonna buy me some more I2C devices.
    I do have a few already but your video made me wanna get a FM reciever. Great videos like always and your outro sounds alott like: "Daithi De Nogla"... But yours are alott more informative, and equal if not more fun to watch :D
    (comparing a gaming channel with Electronics? why not both! one day, Ill build a gameboy, with blackjack and i2c)

  • @TheOgi22
    @TheOgi22 4 года назад +1

    Do you have video about 1wire?

  • @Veso266
    @Veso266 8 лет назад +2

    can you decode stereo and RDS using this device or output complete MPX Signal to external RDS Decoder?

    • @RupertHandford
      @RupertHandford 8 лет назад

      There is max output on the chip. Have a look at the datasheet.

  • @BobtheBuilder-jc4xm
    @BobtheBuilder-jc4xm 8 лет назад

    Nice video again!! keep going

  • @JoseDiaz-xt7fn
    @JoseDiaz-xt7fn 8 лет назад

    Hey Great Scott! Do you think the $20 oscilloscope you reviewed its relialable to analize the I2C protocol?

    • @greatscottlab
      @greatscottlab  8 лет назад

      +José Leónidas Díaz Medrano It does not have a problem with the frequency but since you got only one input it is difficult.

  • @Aperson-sv2hc
    @Aperson-sv2hc 8 лет назад

    You should do another pain test comparison of different frequencies this time.

  • @xenolithhh
    @xenolithhh 8 лет назад

    200 000 subscribers!!

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

    dear Scott, this particular video i did not understand It was like too much knowledge packed in a very small video. Could you please make another video on this?

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

    Hi mr. Scott, could you please tell me which book should i read in order to understand as u understand the arduino language.. Please...

  • @KoenigNord
    @KoenigNord 8 лет назад

    Having an exam on Embedded Systems tomorrow. Communication Interfaces are on part of that. Thanks for the short explanation on I2C

  • @Blue-Maned_Hawk
    @Blue-Maned_Hawk 5 лет назад

    Why do you use stripboard? It seems like a hassle to use, and only looks useful for "gumstick" modules (which do, admittedly, have their niche.) I think that something like perfboard seems like a more flexible alternative.

  • @ThomasHaberkorn
    @ThomasHaberkorn 8 лет назад +1

    Could you do an add-on video on LIN-Bus communication between 2 Arduinos?

  • @emptyheadideas
    @emptyheadideas 8 лет назад

    great video. Can you make one about a "shower water meter" to keep track of your consumption or a "power watt meter" to plug in between your devices and power socket?

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

    Great vid thanks.

  • @zaidhussain5206
    @zaidhussain5206 8 лет назад

    Thank you for the info , very useful , Can we add the additional board of the sam module on I2C bus , for example adding two FM modules instead of one ?

  • @agonymobile
    @agonymobile 8 лет назад +1

    Do you have an idea about connecting Arduino with Laptop battries and reading its information?
    there is I2C address finder ready arduino code for example to help as a start to find which address first then communicate with the controller device if it was I2C ?

    • @greatscottlab
      @greatscottlab  8 лет назад

      +Sam Just search for the datasheet of your batterie control IC. That should solve many questions.

    • @agonymobile
      @agonymobile 8 лет назад

      +GreatScott! Thanks 👍

  • @ethanrowlette9912
    @ethanrowlette9912 8 лет назад +2

    Can you make any good book recommendations that would help fortify the knowledge obtainable on your channel in regards to electricity/electronics?

  • @RaymondBarakat
    @RaymondBarakat 8 лет назад

    I'm working on a project that requires multiple i2c devices. I was wondering what your recommendation would be for the values of the pull up resistors. Thanks!

    • @greatscottlab
      @greatscottlab  8 лет назад

      +Raymond Barakat If it's a 100kHz communication 10k works just fine. If you use a faster frequency you might need to use something like 1-2k to get the required rise and fall time. The datasheet of your ICs also often mention a recommended value.

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

    Hello greatScott, can you please make a video about the MCP23016. I tried to use this IC but it didn't work . Thanks

  • @OranCollins
    @OranCollins 8 лет назад

    have you messed around with teensy 3.2? I'm working on a micro mouse project and was wondering if there are any tricks to uses it

    • @greatscottlab
      @greatscottlab  8 лет назад

      +wise monkey Not yet.

    • @OranCollins
      @OranCollins 8 лет назад

      +GreatScott! it's got a lot of cool features for a small form factor.. but I have yet to try one out.

  • @nagarajs5228
    @nagarajs5228 7 лет назад +1

    can you explain other type of communication like spi ,uart....like this?

  • @TomasNovak_oriven
    @TomasNovak_oriven 8 лет назад

    what is maximum distance for i2c communication.
    ie. i'd like to have multiple devices (mostly relays and sensors) across house, garage, workshop, well, etc .. where distance can be up to 130 meters.
    is it possible ? or there's need for other solution ?

  • @itsvoodoo7050
    @itsvoodoo7050 8 лет назад

    Can you add How to make a fume extractor? To your list, because all the ones I see only pick up fumes from 4-6 inches.

    • @greatscottlab
      @greatscottlab  8 лет назад +2

      +Its Voodoo I already did a fume extractor.

    • @itsvoodoo7050
      @itsvoodoo7050 8 лет назад

      GreatScott! Okay I'll loo it up

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

    Can this fm module also transmite FM ?

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

    Hi, I need to make an I2C communication between an Esp 32 and Esp8266, where can I find info about?

  • @rainervetter5165
    @rainervetter5165 8 лет назад

    great scott how do you keap your elektonic components?

  • @JTIngenieria
    @JTIngenieria 8 лет назад

    Awesome! I'll use it when my package from china arrives!

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

    Can you please describe pull up and pull down resistance

  • @The-Nil-By-Mouth
    @The-Nil-By-Mouth 8 лет назад

    Like the new intro video, but prefer the old music :)

    • @b10s
      @b10s 8 лет назад

      +Malcolm Hunter This has been the intro for the whole Electronics Basics series since it has started... just sayin'

    • @The-Nil-By-Mouth
      @The-Nil-By-Mouth 8 лет назад

      +B10S Okay, I've not watched any of those. In that case - Correction: I prefer the music in the red LED display build intro.

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

    I have seen many cards in industry which have RS-485, Can-bus communication.
    Eathernet communication and Can-bus, how single controller can do two different communication protocol

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

    I find adding pull up resistors in my project to stop working. Wire.h seams to use internal pull resistors.

  • @floriandaler5327
    @floriandaler5327 8 лет назад +2

    Why you used MDR info as your test radio station and not for Example, Radio PSR?

    • @JoJoModding
      @JoJoModding 8 лет назад

      Maybe because he wanted to avoid including copyrighted music

  • @onjofilms
    @onjofilms 8 лет назад

    Nice job.

  • @Pirate_
    @Pirate_ 8 лет назад

    Hey Scott! Could you make a Bluetooth Volume controller dial for PC using arduino? I have been looking to buy some for a while but there are none out there.

  • @ajayvora4127
    @ajayvora4127 8 лет назад

    please please please make a video about using xbee digital and analog outputs...
    Thank YOU!! YOU are Awesome!

  • @majdinj
    @majdinj 8 лет назад

    Can you do a basic tutorial on SMPS.The one from wall AC socket converted to DC to power small gadgets "not DC to DC one" :)
    A simple fundamental principle will be more convenient. Like simple SMPS that only uses AC input --> diode bridge rectifier --> Capacitor --> MOSFET --> Switching transformer --> schottky rectifier --> Capacitor --> DC output.

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

    What is the cheapest controller in your estimation I can use to build a diy i2c circuit?

  • @amulawarman
    @amulawarman 8 лет назад

    hi GreatScott, can the diy oscilloscope you reviewed be used to monitor i2c communication?

    • @greatscottlab
      @greatscottlab  8 лет назад +1

      +Adi Mulawarman Yes. But it only has one input so it can be a bit difficult.

  • @AlexLesTests
    @AlexLesTests 8 лет назад

    How do you connect multiple identical slaves ? For example 2 or more fm receivers ?

  • @waaaazzzzzaaaa
    @waaaazzzzzaaaa 8 лет назад

    Can you make a video about how to use a CAN-bus controller with arduino?

  • @MYNICEEV
    @MYNICEEV 8 лет назад

    Awesome.

  • @mifo1133
    @mifo1133 8 лет назад

    if i can suggest video. I would love to see you measure some cheap china power amplifiers for distortion or even well know amplifier IOs like LM3885 or TDA7250. thanks for videos very informative!

  • @buttegowda
    @buttegowda 7 лет назад

    Cool and thanks !!!

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

    Dear sir,
    Please make a vedio on calculator I2C Bitrate
    This more useful for this continues video for aspirants ..

  • @Project-DDE
    @Project-DDE 8 лет назад

    Can you make a video about the one wire interface please?

  • @enriquecastrejon13
    @enriquecastrejon13 8 лет назад

    pretty nice video

  • @kalervo35
    @kalervo35 8 лет назад

    Is the possibility to do do a one way circuit that the current can only flow one direction if there is plz answer this i need you help