I've been playing with circuits and microcontrollers for a couple decades at this point... but thanks to your videos, a lot of things which I had previously learned to do 'by rote' I now have a better fundamental understanding of. You importantly explain not only the 'how' but also the 'why' when you do something, and that 'why' is what really allows ME to engage my own creativity!
hey im doing my diploma in computer engineering but what job could i get if im really good at this circuits and microcontrollers, Im really interested in them
I2C helps keep your code simplified as well. I use several arduinos to run a watering program for each of 8 garden boxes and a separate arduino to display whats going on. That way, 1 arduino only controls the display and each of the other controllers control 2 garden boxes each. The display controller just sends a status request and gets what it needs from each of the controllers. I could do all of this with 1 arduino and no I2C but the coding would be much more complicated. Also, I use a push button on the display controller (master) to toggle through the status requests. That way it only sends a request when I require it. Thank you for your video(s). I've learned alot.
Thanks a billion, I have been using and loving the I2C for years now, but never really understood how it worked, I just knew it did and loved the way it did. Now I have a much better understanding of the history and actions capable using the bus, it all makes much more sense now.
This is the best video I found on the web! Thank you very much, exactly what I was looking for, because I am running out of pins on my arduino, with this master-slave via I2C I could "expand" my pins via another arduino! GREAT!
Top class video as usual. Thanks very much. I've just taken my box of Arduino bits'n'bobs out of retirement and following your vids from the start trying all the experiments that I have the modules for.
Fantastic Series. I am currently familiarizing myself with Arm Cortex M Microprocessors using a TI Launchpad. For the last several weeks I have been watching your Arduino videos to learn the concepts and then figure out how to implement them on the launchpad.
Very nice of you to do I2c tutorial. Cable length can be a problem as you mentioned. I tried 3meters, and that hangs the arduino. Then I tried with 2 meters and that is OK in my project. So if your projects hangs, it might be because of cable length. You mentioned pull up resistors for sda and scl, but you did not use any in the practical example here. It might work for some projects, but you might need pull up resistors between 2,2kOhm and 10kOhm.(trial and error). Keep in mind that most i2c sensors already have pull up resistors. And keep in mind that using many sensors on the same i2c bus might need to be complemented with higher pull up resistors. Example:2 mpu6050 gyro/acceloremeter with internal pull up resistors at 2,2kOhm will make the pull up resistors of a value of 1,1kOhm. That should be complemented with additional external pull up resistors, so that the total resistans lands on about 2,2kOhm and 10kOhm.
Hold on to your hat; you're in for a ride. This is a multi- part series so more is coming down the road. Plus if you're not a long time viewer, you can always go back and watch his previous I2C videos. Sadly I did not see a playlist, but he did say at the beginning of the videos which devices he has already covered that use I2C. You might be able to find them that way. Good luck, and have a great week waiting for the next video.
GREAT choice of topic(s)!!! This is a perfect match with what I'm fiddling with on my robot, and there's a lot to take into account and many choices to make, so I am very excited about you taking up I2C on your channel.
perfect ... i had a lot of examples passing by, but your clip gives a little hope. just think of the pinout of each esp32, that is droped on a pcb, but with different wireing .... have a good day ...
Thanks so much for this video, ots exactly what i wanted to learn. Im looking to build a home cockpit and one of my requirements is to use a single USB (or a max of 3) for the entire thing. This looks perfect to wire up all of thr switches and controls on micro pros and then run them all from just one or two masters. The coding for this is remarkably simple as well.
Thanks for all the hard work you do. Just wanted to let you know that the example code on the website for the LED slave example has some extra code included, there are two setup() code blocks.
Before I knew better, I was trying to figure out how to make 2 arduino units talk to each other so I'd have more scl/sda connections. At the time, I didn't know you could have more than one device on it. And I was asking the wrong question of forums because no one ever told me that you can have more than one I2C on the scl and sda pins. 🤦♂️ I finally figured it out, though, obviously.
Hi, yeah, it's me again... Another interesting subtopic of I2C is how to communicate numbers larger than one byte, e.g. 16 bit integers, floats, etc. I hope you will take up this topic as well.
Love your videos. Thank you. I use cheap Chinese Arduino UNO's. I had to put in the pull up resistors to 5V before communications could work. Thank you.
Thanks for the code and the tutorial which helped me solve a challenging problem. Your information is acknowledged in code and information I've posted on my own channel; most helpful!
Thanks a lot for this video (and for the futures) and thank you for the full article which is essential for those whose English is not the native language.😜
I2C; IsquaredC; TTL; TsquaredL - how you say it depends upon who taught it to you and preferences. It has hitherto been ItwoC to me when I worked in private enterprise but now I work for a University the preference there is IsquaredC ... and I'm thinking that maybe this is a pedagogical preference ... certainly sounds more scientific when you put a 'squared' into a sentence doesn't it? Anyhow I'm going with the flow and either moniker will do for me.
@@frankcole3196 Personally, I don't know what the gain is from using 2 instead of a second I, as in IIC? And I'v only used TTL as Transistor-Transistor Logic ... maybe a bit as Time To Live ... never seen it as T2L with or with a superscript but there are so many possible phrases abbreviated to TTL that I may have missed a ton ;)
very good video idneed I have used i2c using two times a 10ft cable without any issue. I am using now several devices all connected via in total 6x 1 FT cable
I realize I am seeing this video long after it was produced, but nonetheless, an excellent video! You cover the essentials and calmly explain why things are done the way they are - very good style for passing along information :-)
In my upcoming episodes am working on a DIY sailboat autopilot system utilizing a network of Arduinos and a Android tablet with an app i created using the MIT app inventor. Your videos have been a big help in helping me troubleshoot my issues and giving me ideas on how to better build my system! GREAT CONTENT THANKS!!!!!
Great intro video. I did think the pull-up resistors were glossed over (or I missed it) other than the initial diagram. I assume the Arduino library applies internal pull-ups, but to use other micros the clock and data lines need to be pulled up externally. Loosing one of the pull-ups can quickly make the bus less reliable and should have been stressed a little more - such as the pull-up resistor size. That said this was video has your typically excellent production values.
Very good video! I am just getting in to the I2C buss usage, and I have a few questions, you MAY already have a video on Now, I am somewhat a beginner, so pardon my ignorance. My question is, I want to use a longer distance between masters, and slaves. What chip set(LINE DRIVERS), to facilitate this? Many thanks, and I look forward to your answer! Taz...
Congratulations ! It is a very useful video for me. I would like to communicate 4 Arduinos by I2C. One master, e three slaves. The master will send 4 bytes(the same bytes), for all 3 slaves, and then, it will request 2 bytes form each slave. They will be at 50cm longer at the maximum distance. I would like to use I2C @ 400Hz, if it is possible. I heard about a way to broadcast those 4 bytes for all 3 slaves at once time. I loved this video. It is my first step on that direction. Thank you !
Thank you for the great videos. Everything explained in great detail but nice and simply. Can I ask what software do you use for drawing your diagrams with the nice animation of the lines representing connection being drawn. Thanks again.
If my shop was this clean, I'd never get any work done... I'd just sit there and stare at how beautiful it is! Nice video too...
Very professional, perfect pace, top quality presentation.
I've been playing with circuits and microcontrollers for a couple decades at this point... but thanks to your videos, a lot of things which I had previously learned to do 'by rote' I now have a better fundamental understanding of. You importantly explain not only the 'how' but also the 'why' when you do something, and that 'why' is what really allows ME to engage my own creativity!
hey im doing my diploma in computer engineering but what job could i get if im really good at this circuits and microcontrollers, Im really interested in them
Excellent video as always. The quality of your production is unsurpassed. I am really looking forward the follow up videos. Bob
as much as i agree with you, GreatScott is better
Just started with Arduino recently and this channel is a godsend! Clear, concise and really well produced. Thank you for making these!
I have no idea who you are, but I would like you to know that you have saved my life
Thank you. It’s evident you have put a lot of effort to document your presentation and present it very well. Bravo sir!
I2C helps keep your code simplified as well. I use several arduinos to run a watering program for each of 8 garden boxes and a separate arduino to display whats going on. That way, 1 arduino only controls the display and each of the other controllers control 2 garden boxes each. The display controller just sends a status request and gets what it needs from each of the controllers. I could do all of this with 1 arduino and no I2C but the coding would be much more complicated. Also, I use a push button on the display controller (master) to toggle through the status requests. That way it only sends a request when I require it. Thank you for your video(s). I've learned alot.
Can I ask what method do you use to do the status requests? Your setup sounds very well-organized!
Thanks a billion, I have been using and loving the I2C for years now, but never really understood how it worked, I just knew it did and loved the way it did. Now I have a much better understanding of the history and actions capable using the bus, it all makes much more sense now.
This is the best video I found on the web! Thank you very much, exactly what I was looking for, because I am running out of pins on my arduino, with this master-slave via I2C I could "expand" my pins via another arduino! GREAT!
People like you make the world a better place
Top class video as usual. Thanks very much. I've just taken my box of Arduino bits'n'bobs out of retirement and following your vids from the start trying all the experiments that I have the modules for.
That was the best description & explanation of I2C I've found. Excellent work, and thanks for the video!
It is one of the best videos I have seen when it comes to explaining anything related to electronics. EXCELLENT WORK!!
Very excellent video, calm voice and pace, as it's easy to follow - keep up the god work.
Thats blasphemy
Fantastic Series. I am currently familiarizing myself with Arm Cortex M Microprocessors using a TI Launchpad. For the last several weeks I have been watching your Arduino videos to learn the concepts and then figure out how to implement them on the launchpad.
Good example, good editing and a clean and organized lab!
Very nice of you to do I2c tutorial.
Cable length can be a problem as you mentioned. I tried 3meters, and that hangs the arduino. Then I tried with 2 meters and that is OK in my project. So if your projects hangs, it might be because of cable length.
You mentioned pull up resistors for sda and scl, but you did not use any in the practical example here.
It might work for some projects, but you might need pull up resistors between 2,2kOhm and 10kOhm.(trial and error).
Keep in mind that most i2c sensors already have pull up resistors.
And keep in mind that using many sensors on the same i2c bus might need to be complemented with higher pull up resistors.
Example:2 mpu6050 gyro/acceloremeter with internal pull up resistors at 2,2kOhm will make the pull up resistors of a value of 1,1kOhm. That should be complemented with additional external pull up resistors, so that the total resistans lands on about 2,2kOhm and 10kOhm.
I2c isnt made for use with wires, its intended for using it in a pcb.
Wonderful video. Thank you so much!
I've never heard the clock line referred to as "SDC", only "SCL".
Thanks for the video, I'm learning
I²C so great timing. I bought a
I²CDriver monitor board to help understand signaling and commands.
Wow, This is an eye opener for me. Thanks for this clear presentation. Appreciation to your work ! Many Thanks !
Thank you so much . You truly have the gift of teaching. Respect. 🙏🏻
You are the best teacher I have ever seen. Fantastic job. Love it
wait is over.... i was waiting for this topic since a couple of months
Hold on to your hat; you're in for a ride. This is a multi- part series so more is coming down the road. Plus if you're not a long time viewer, you can always go back and watch his previous I2C videos. Sadly I did not see a playlist, but he did say at the beginning of the videos which devices he has already covered that use I2C. You might be able to find them that way. Good luck, and have a great week waiting for the next video.
@@vonries thanks. I've seen every video of dronebot workshop. i remember first video was IR sensor
GREAT choice of topic(s)!!!
This is a perfect match with what I'm fiddling with on my robot, and there's a lot to take into account and many choices to make, so I am very excited about you taking up I2C on your channel.
You make learning about i2c simple. Love it.
Loved the video, cant wait for the video where you explain the integration of i2c with a normal sensor
This was a fantastic video and explanation. Def looking forward to part 2!!
perfect ... i had a lot of examples passing by, but your clip gives a little hope. just think of the pinout of each esp32, that is droped on a pcb, but with different wireing .... have a good day ...
a very great video, i learned a lot of this, but i still wonder, how i can let the master send commands to make some ports of the slave high or low
Thanks so much for this video, ots exactly what i wanted to learn. Im looking to build a home cockpit and one of my requirements is to use a single USB (or a max of 3) for the entire thing.
This looks perfect to wire up all of thr switches and controls on micro pros and then run them all from just one or two masters. The coding for this is remarkably simple as well.
Thanks for all the hard work you do. Just wanted to let you know that the example code on the website for the LED slave example has some extra code included, there are two setup() code blocks.
best teacher of the universum, thanx sir
I literally JUST started a project where I wanted to use this! Perfect timing, thanks! :)
What a coincidence, me as well
Great job and Excellent explanations as usual. Can’t be more clear...
This guy! He explains things just perfect for my brain.
Excellent demo of using I2c, exactly what I was looking for
Very informative and clear explanation. Can’t wait for the up coming videos!
Thank you, professional and clear explanations! EXCELLENT!!!
Before I knew better, I was trying to figure out how to make 2 arduino units talk to each other so I'd have more scl/sda connections. At the time, I didn't know you could have more than one device on it. And I was asking the wrong question of forums because no one ever told me that you can have more than one I2C on the scl and sda pins. 🤦♂️ I finally figured it out, though, obviously.
Another time against, it's excellent. We need someone like you. Thanks
Hi, yeah, it's me again...
Another interesting subtopic of I2C is how to communicate numbers larger than one byte, e.g. 16 bit integers, floats, etc.
I hope you will take up this topic as well.
Did you ever figure this problem out?
As always, another great video. Thank you!
Love your videos. Thank you. I use cheap Chinese Arduino UNO's. I had to put in the pull up resistors to 5V before communications could work. Thank you.
Thanks for the code and the tutorial which helped me solve a challenging problem. Your information is acknowledged in code and information I've posted on my own channel; most helpful!
Díky!
Thank You!
I enjoyed this lesson and found it very helpful, thank you.
excellent tutorial. I now get how to do both sides of the Wire protocol.
Thanks Bill. Very thorough introduction.
Excellent video and crystal clear explained ! Well done !
Great teaching skills & content quality! 👍👍 jus a tiny detail: NXP, Philips has a single L...
Thank you sir!
Very clear to the point video! Thanks for uploading
Excellent tutorials sir, became a fan!
Great Vid. I tried to slave an esp8266 hazzuh no luck as a slave will only work as the master. Keep up the good work.
Great Series!!! Please continue the great work!!
Thanks a lot for this video (and for the futures) and thank you for the full article which is essential for those whose English is not the native language.😜
Bonjour,
Excellent vidéo, langage clair et agréable. Merci pour tes video.
bonne journée
Please keep making these excellent videos.
Thank you so much for this tutorial. Very excellent video.
Another great video.thanks again
Waiting for the next one
Great video. Really helped me with my arduino adventure
Never heard anyone refer to I²C as "I two C" - to me it was always an "I squared C" - and "I too C" that you've mentioned it in your video ;)
I2C; IsquaredC; TTL; TsquaredL - how you say it depends upon who taught it to you and preferences. It has hitherto been ItwoC to me when I worked in private enterprise but now I work for a University the preference there is IsquaredC ... and I'm thinking that maybe this is a pedagogical preference ... certainly sounds more scientific when you put a 'squared' into a sentence doesn't it? Anyhow I'm going with the flow and either moniker will do for me.
@@frankcole3196 Personally, I don't know what the gain is from using 2 instead of a second I, as in IIC?
And I'v only used TTL as Transistor-Transistor Logic ... maybe a bit as Time To Live ... never seen it as T2L with or with a superscript but there are so many possible phrases abbreviated to TTL that I may have missed a ton ;)
I am from Holland and I injoy all what I see here Thank you Smile2U
wow. amazing. the best video on i2C. sir please make a video on SPI. waiting for your new videos
very good video idneed
I have used i2c using two times a 10ft cable without any issue.
I am using now several devices all connected via in total 6x 1 FT cable
Why do people do that?
Good video, quality and thoroughness
Can you please make a video on RS485 communication, it would be great topic and also not much videos about it out there.
I realize I am seeing this video long after it was produced, but nonetheless, an excellent video! You cover the essentials and calmly explain why things are done the way they are - very good style for passing along information :-)
Good pacing and great introduction into I2C. Thanks!
In my upcoming episodes am working on a DIY sailboat autopilot system utilizing a network of Arduinos and a Android tablet with an app i created using the MIT app inventor. Your videos have been a big help in helping me troubleshoot my issues and giving me ideas on how to better build my system! GREAT CONTENT THANKS!!!!!
Great work! Thank you for the beautiful video.
Your just such a good teacher!
Great intro video. I did think the pull-up resistors were glossed over (or I missed it) other than the initial diagram. I assume the Arduino library applies internal pull-ups, but to use other micros the clock and data lines need to be pulled up externally. Loosing one of the pull-ups can quickly make the bus less reliable and should have been stressed a little more - such as the pull-up resistor size.
That said this was video has your typically excellent production values.
your videos are really interesting and well explain, thanks !
Great video. I hope you be covering the use of the TCA9548A multiplexer with two or more identical I2C sensors (like the BME280) on one Arduino Uno.
Very good video! I am just getting in to the I2C buss usage, and I have a few questions, you MAY already have a video on Now, I am somewhat a beginner, so pardon my ignorance. My question is, I want to use a longer distance between masters, and slaves. What chip set(LINE DRIVERS), to facilitate this?
Many thanks, and I look forward to your answer!
Taz...
Best videos ever sir keep that awosm work❣💓
Many thanks for sharing your expirience with us!
Well presented again , cool video.
Congratulations ! It is a very useful video for me. I would like to communicate 4 Arduinos by I2C. One master, e three slaves. The master will send 4 bytes(the same bytes), for all 3 slaves, and then, it will request 2 bytes form each slave. They will be at 50cm longer at the maximum distance. I would like to use I2C @ 400Hz, if it is possible. I heard about a way to broadcast those 4 bytes for all 3 slaves at once time. I loved this video. It is my first step on that direction. Thank you !
Great one! Clearified some questions I had on using wire. Thanks.
Hi. Great video, Well explained. Thank you. Should there be pullup resistors for stability of the I2C? i.e 4k7 to +5V?
I love your videos!! Keep making such great videos. They are very helpfull, too. :)
Niice Video again, very good work DroneBot
Thanks, it's very clear and easy to understand.
Wielkie dzięki za konkretną informację . Pozdrawiam.
Excellent explanation
very good video; looking forward to the next one :)
Very cool and excellently demonstrated.
Best tutor online!
Excellent explanation.
Nice video. Exactly what I was looking for. Thanks!!!
Really excellent video! Great job and thank you so much!
nice one. always wanted to know more about I2C
thank you for your effort , It is a wonderful video
Hope all is well, thanks, as always!
Excellent video! Thank you so much for making this tutorial, it really helped me!
Thank you for the great videos. Everything explained in great detail but nice and simply. Can I ask what software do you use for drawing your diagrams with the nice animation of the lines representing connection being drawn. Thanks again.
thank you very much your Videos are the best.
nice work! very easy to understand