Channels like this are untapped youtube gold, you could stick quite a few zeros on the end of the views and subscribers and its still far less than this guy deserves, keep up the great work!
Seems daft that SPI requires separate chip select lines fed from the master device. Could you not implement it with log2(n) lines and a decoder to save on the IO? In your example with two slave devices, that would mean that you could have just one enable output which is inverted to choose between the two. Is this a choice that you've made or one that the implementation libraries of the ICs you're using have made?
Ben, do you still have the iCade case? If so, can I grab that from you? I don't even want the controller pieces, I just want the MDF that came with it. I know, crazy. But I want to make a mini penny drop and that would be perfect! :D
I don't fully understand why the I2C interface is slow. When Ben said that you needed to use a lot of calls to get data from a device, is he referring to the complicated code that you must write to interpret the information sent back to the master device? Or is he saying that the speed of communication (addressing a device, acknowledgement, commands etc...) slow?
(From memory) it’s largely by design as I2C originated from uses that didn’t require high speed, thus reducing costs (which is important in mass produced electronics). There are newer I2C standards that can go much faster than the original.
Is it better practice to use pull-up resistors as opposed to pull-down and letting the default state be 0? Is it just more common or are there practical reasons to have your default state 1?
Ben what happened to the old times when we would always see gaming console projects? Now it's always things built from scratch, which I enjoy but I wish you did some of the old projects.
Actually about the CS line, you can do all sorts of nifty stuff to reduce it to 1 or 2 pins tops, no matter how many slaves, like say a Johnson counter or a shift register, perhaps some decoders or something. It's not a showstopper, quite the opposite. You can move the logic to bare metal and leave you cpu ticks to do other stuff.
Could you give an idea of the relative speeds other than "slower," or "faster?" is i2c generally slower than rs-232? also is there a general rule of thumb approximation for the speeds of the three interfaces (in terms of frequency)? what would the exact frequency be dependent upon in each of the three cases?
I always use recommended standard 232 because it is the standard and it is recommended. The same reason that I always edit my text file with ed, the standard editor.
you are really great!! love you....keep make these types of videos I was just stuck in find different types of communication from last few days...and ever don't understand this thing.... but after your video...i have became a master over this...
Thanks for a great demonstrations of interfaces! I am new to this kind of things and I have a task to send multichannel audio (24 or 16 bit PCM) from a fpga to a MUC. I think SPI may do the trick but all examples I found have a data width of 8, 16 or 32 bits. Can I simply modify the code and set a number of data bits to 24?
@about 5:35 you start talking about SPI interface and you mention that we need 3 connections MISO and MOSI and a clock but what if we had only one slave do we really need a Slave Select connection and if not how can we initiate the start of its work? I have an idea of interfacing a PIC microcontroller with an RFID card writer/reader (for Arduino) (bacause they are available and cheap)!? ##
Great video. Simply and clearly explained. Love the facial expression when explaining that I2C means inter......integrated circuit, lol. My sentiments exactly: C'mon information processing nerds, let's get a little less *simple* (in the drool department) with naming conventions.
You brushed over RS232. Your example used TTL but on some older equipment it needs the +/- voltages in order to work correctly. You completely ignored the charge pump topology to the Max3232 chips that help to bridge this gap. I don't think this is very thorough treatment of this interface.
Hello Ben Heck's, i have a doubt. I have an arduino uno, and i need add 2 shields to my project. One is an wifi shield and the other is an datalogger shield. When i put the 3, the wifi shield does not work, but if i remove datalogger shield, then wifi shield works fine. I need use SPI protocol? I think yes, but i don't know how. Any ideas? Thank you so much!
Using the I2C interface, how does the Master Device identify the Slave Device that it wants to communicate with, since there is only one dataline leading to all devices? Do you serially shift in the ID bits and then the Slave Device "wakes up" when the correct ID has been shifted in and starts communicating? Or would you use a multiplexing chip hooked up in between the Master and the Slave? Also, am I correct in assuming that if this is the case, the I2C is half-duplex only?
Lebanese Edgyist I2C has an actual protocol: at an early point in time it even had a variant that was effectively a low-speed USB. The functionality is as you describe, being only half-duplex (if you really want full-duplex with I2C, then investigate super-heterodyne radios: a software version could do the job).
Lebanese Edgyist In the I2C communication protocol, the master sends on the bus the chip address that it wants to communicate to. All the slaves listens the same data but only one of them acknowledge and the master continue to communicate sending commands ad data to that slave.
I'd like to add some clarity if I may. An interface in this context relates to physical aspects of a device. And, within that physical context there are 2 primary aspects: 1. mechanical attachment, and 2. physical signal characteristics Protocol, on-the-other-hand, is purely logical and defines the rules for how signals will be interpreted.
I have a project that reading data periodically, and I have 2 options either SPI or UART. Is this right: "We should SPI and not use UART because there's no clock (Asynchronous) and at certain time I'll lose some coming data" ? Or losing data will never happen in RS-232? Thanks
Mazen Omar SPI does have a synchronising clock; but you can lose data regardless because there's no recovery mechanism by default over either types of serial.
Mazen Omar I'm an almost complete noob. 1 year ago electronics i would have believed the magic smoke theory. I found SPI to be the most pleasant and speedy protocol both when it comes to sending data and the post processing that occurs. I mean you have MISO, MOSI, CLK and CS. Enable the thing, put a bit, wank the clock and that's it. Same goes for reading. All you need is the sheet that tells you what the device says (the chart with the timeline thing). If dealing with say a microcontroller and some high level language like Arduino, then it's just a matter of knowing your bitwise operators and you're all set. Of course there is the tedious crap of MSB/LSB, rising edge, falling edge etc. but most things work MSB and rising edge and even the lamest chip can do 4mbps easy. It usually takes me 15 minutes tops to hook up an SPI thing at the first glance (perhaps more if the datasheet is rubbish). If you fear you might be loosing data (not working with a microcontroller or a real mode CPU), add something in between to buffer messages (just a suggestion. I've never had to do it). Also the recovery thing is done further up the food chain. I suggest you read on the OSI layer thing. Me being a programmer for a living, I figured out quite quickly that serious error control and data recovery/resending is done further up in software. Like for instance in TCP/IP, the TCP part is layer 4 (on top of 3) and it means Transport Control Protocol as it deals with ensuring what you get is what you've been sent (by using checksum validations and if needed, retransmitting the darn packet). You also have UDP over IP which does not care if the data is sane or not and most of it is porn anyway. It's used for streaming and stuff like that where people's faces might be ugly so UDP will at most times improve the quality of the signal by distorting it. So down to the bare metal you need no data checking, you need raw speed.
hi, can you please post a video on UART type interface in reference to arduino or beaglebone Black or on Raspberrypi. I am in great need of this....or please tell me where I can learn this??? please reply....
Hi Ben... Just a minor request, please try to talk a more defined words (clear phonetic/pronounce) especially in the more technical mnemonics/numbers words... You are not talking only to English speaking people... (Well it's your fault for putting such a good show... now you are followed around the world) If you can, please provide the transcript in english to your videos so we can activate captions and understand some more technical parts. Thanks for the excelent videos...
Well, while he's not exactly a voice actor, he does sound like a mechanic that knows what he's doing, and I'd say that's enough. Besides, so long as you can understand what he says it shouldn't really matter that much what he sounds like.
Hey Ben, Love your show! Could you possibly do a video on Basic Programming. Like tips, basics of programming? Some of the people who are new don't really understand where all of it is documented! (I.E how the heck someone would use a Xbee with their code. What code would be used to send it over that specific medium) Thanks!
I challenge you to build a slot machine ''one armed bandit''' that has a jackpot that you can change and you have to pay to use it, also I want you to make it possible for cheap production in a factorie . Think of the 4 main thing size, price, game, design.
it is acceptable and sometimes preferred to use their when talking about a single person whose gender is unknown according to some style guides. xnamkor is correct.
Self-taught people are always better at explaining complex electronic concepts to dummies/newbies (like me :) ... there's a different mindset involved in self exploration as opposed to book smart, progressive course learning - not that I'm dissing the latter.
Actually, the default gender in English is "he". It becomes "he", "him" or "his" when the gender is unknown. But for some reason objects are female. e.g. "She's a fine boat". In either case, I'm sure it makes feminists angry :)
Channels like this are untapped youtube gold, you could stick quite a few zeros on the end of the views and subscribers and its still far less than this guy deserves, keep up the great work!
Interfaces introduction 1:08
I2C 2:57
SPI 5:38
RS-232 11:53
2:22 you didn't use CAN for the can cooler? ;)
Dude,he never took electronic classes but he knows so much! I wish I could self teach without getting off topic.
"we have Spephen Hawkin as a guest" oooh Ben, I lol'd for sure
Decided to take a break from studying for my microprocessing final and I find this video. That's a useful coincidence.
Seems daft that SPI requires separate chip select lines fed from the master device. Could you not implement it with log2(n) lines and a decoder to save on the IO? In your example with two slave devices, that would mean that you could have just one enable output which is inverted to choose between the two. Is this a choice that you've made or one that the implementation libraries of the ICs you're using have made?
Ben, do you still have the iCade case? If so, can I grab that from you? I don't even want the controller pieces, I just want the MDF that came with it. I know, crazy. But I want to make a mini penny drop and that would be perfect! :D
you have an error at 9:25 "A line over the ce (chip enable) text means active low. No line=active low. :)
The most important part 1:25, that is what I have been looking for: thanks
to transmit data, the USB also puts together data with clock, such as RS-232
I don't fully understand why the I2C interface is slow. When Ben said that you needed to use a lot of calls to get data from a device, is he referring to the complicated code that you must write to interpret the information sent back to the master device? Or is he saying that the speed of communication (addressing a device, acknowledgement, commands etc...) slow?
***** I2C specification says the datatransfer must be less than 400KHz, but due to the protocol, the real amount of information transfert is lower
(From memory) it’s largely by design as I2C originated from uses that didn’t require high speed, thus reducing costs (which is important in mass produced electronics). There are newer I2C standards that can go much faster than the original.
Is it better practice to use pull-up resistors as opposed to pull-down and letting the default state be 0? Is it just more common or are there practical reasons to have your default state 1?
Ben what happened to the old times when we would always see gaming console projects? Now it's always things built from scratch, which I enjoy but I wish you did some of the old projects.
Where can I get that text to speech chip? I love it!
there is a mistake at 9:26, if no line over CS = active high
Actually about the CS line, you can do all sorts of nifty stuff to reduce it to 1 or 2 pins tops, no matter how many slaves, like say a Johnson counter or a shift register, perhaps some decoders or something. It's not a showstopper, quite the opposite. You can move the logic to bare metal and leave you cpu ticks to do other stuff.
This is helpful for understanding my project using rs232 bluetooth and arduino. Thanks ben
Ben, what is on your monitor at 8:23?
I was always told the RS stands for radio standard 232 40 years ago every standard was writing from Radio Standard like RS-485
Ben have you seen the oculus rift vr goggles yet they have a dev kit available at oculusvr.com you should make some mods to it
Does anyone else notice the background of that model on the computer screen to the left at 8:29
Can you explain how communication takes place between Master and Slave by using RS232 which signal enable first and which signal enable last
Is there anyway to use a sata optical discs
Could you give an idea of the relative speeds other than "slower," or "faster?"
is i2c generally slower than rs-232?
also is there a general rule of thumb approximation for the speeds of the three interfaces (in terms of frequency)?
what would the exact frequency be dependent upon in each of the three cases?
I always use recommended standard 232 because it is the standard and it is recommended. The same reason that I always edit my text file with ed, the standard editor.
you are really great!! love you....keep make these types of videos
I was just stuck in find different types of communication from last few days...and ever don't understand this thing....
but after your video...i have became a master over this...
Thanks for a great demonstrations of interfaces! I am new to this kind of things and I have a task to send multichannel audio (24 or 16 bit PCM) from a fpga to a MUC. I think SPI may do the trick but all examples I found have a data width of 8, 16 or 32 bits. Can I simply modify the code and set a number of data bits to 24?
So glad I found this channel, love the show!
@about 5:35 you start talking about SPI interface and you mention that we need 3 connections MISO and MOSI and a clock but what if we had only one slave do we really need a Slave Select connection and if not how can we initiate the start of its work?
I have an idea of interfacing a PIC microcontroller with an RFID card writer/reader (for Arduino) (bacause they are available and cheap)!? ##
Great video. Simply and clearly explained. Love the facial expression when explaining that I2C means inter......integrated circuit, lol.
My sentiments exactly: C'mon information processing nerds, let's get a little less *simple* (in the drool department) with naming conventions.
If it was possible, I would like your video infinite times
When will you use CAN interface?? Hopefully you do a video about
Thanks for all
can you do a video on ENC28j60
For some reason Ben reminds me sooooo much of Data from StarTrek the next generation!!
You brushed over RS232. Your example used TTL but on some older equipment it needs the +/- voltages in order to work correctly. You completely ignored the charge pump topology to the Max3232 chips that help to bridge this gap. I don't think this is very thorough treatment of this interface.
Hence why the title features the word "Introduction." If you think you can make a better video, then do it.
Why do you need a license for High Speed mode with SD Card?
Can you make a video about putting a new GPU in a 13" mac book pro?
Hello Ben Heck's,
i have a doubt. I have an arduino uno, and i need add 2 shields to my project. One is an wifi shield and the other is an datalogger shield. When i put the 3, the wifi shield does not work, but if i remove datalogger shield, then wifi shield works fine. I need use SPI protocol? I think yes, but i don't know how. Any ideas?
Thank you so much!
Using the I2C interface, how does the Master Device identify the Slave Device that it wants to communicate with, since there is only one dataline leading to all devices? Do you serially shift in the ID bits and then the Slave Device "wakes up" when the correct ID has been shifted in and starts communicating? Or would you use a multiplexing chip hooked up in between the Master and the Slave? Also, am I correct in assuming that if this is the case, the I2C is half-duplex only?
Lebanese Edgyist I2C has an actual protocol: at an early point in time it even had a variant that was effectively a low-speed USB. The functionality is as you describe, being only half-duplex (if you really want full-duplex with I2C, then investigate super-heterodyne radios: a software version could do the job).
Lebanese Edgyist In the I2C communication protocol, the master sends on the bus the chip address that it wants to communicate to. All the slaves listens the same data but only one of them acknowledge and the master continue to communicate sending commands ad data to that slave.
Each slave device has it's own read address and write address
can you build a portable projector that has a 1080p and has it own battery life
could you do a toriatul on picaxe micro
I'd like to add some clarity if I may.
An interface in this context relates to physical aspects of a device. And, within that physical context there are 2 primary aspects:
1. mechanical attachment, and
2. physical signal characteristics
Protocol, on-the-other-hand, is purely logical and defines the rules for how signals will be interpreted.
I have a project that reading data periodically, and I have 2 options either SPI or UART.
Is this right: "We should SPI and not use UART because there's no clock (Asynchronous) and at certain time I'll lose some coming data" ?
Or losing data will never happen in RS-232?
Thanks
Mazen Omar SPI does have a synchronising clock; but you can lose data regardless because there's no recovery mechanism by default over either types of serial.
The Ben Heck Show
I see.. Thank you very much
I'm really enjoying of your channel and how you explain topics in easy way :)
Keep going ^_^
Mazen Omar I'm an almost complete noob. 1 year ago electronics i would have believed the magic smoke theory. I found SPI to be the most pleasant and speedy protocol both when it comes to sending data and the post processing that occurs. I mean you have MISO, MOSI, CLK and CS. Enable the thing, put a bit, wank the clock and that's it. Same goes for reading. All you need is the sheet that tells you what the device says (the chart with the timeline thing). If dealing with say a microcontroller and some high level language like Arduino, then it's just a matter of knowing your bitwise operators and you're all set. Of course there is the tedious crap of MSB/LSB, rising edge, falling edge etc. but most things work MSB and rising edge and even the lamest chip can do 4mbps easy. It usually takes me 15 minutes tops to hook up an SPI thing at the first glance (perhaps more if the datasheet is rubbish).
If you fear you might be loosing data (not working with a microcontroller or a real mode CPU), add something in between to buffer messages (just a suggestion. I've never had to do it).
Also the recovery thing is done further up the food chain. I suggest you read on the OSI layer thing. Me being a programmer for a living, I figured out quite quickly that serious error control and data recovery/resending is done further up in software. Like for instance in TCP/IP, the TCP part is layer 4 (on top of 3) and it means Transport Control Protocol as it deals with ensuring what you get is what you've been sent (by using checksum validations and if needed, retransmitting the darn packet). You also have UDP over IP which does not care if the data is sane or not and most of it is porn anyway. It's used for streaming and stuff like that where people's faces might be ugly so UDP will at most times improve the quality of the signal by distorting it. So down to the bare metal you need no data checking, you need raw speed.
SPI....isnt that was IDE controllers and hard drives use?
Great Tut, Finally I got "The Key of Electronics". ^_^
hey guys , just a simple question from a hobbyist ,can i connect many devices with spi protocol like it's done under the i2c protocol ?
thank you :)
Thanks for noticing that!
I would have liked to see UART.
hi, can you please post a video on UART type interface in reference to arduino or beaglebone Black or on Raspberrypi.
I am in great need of this....or please tell me where I can learn this???
please reply....
Thank you so much. Great explanation. Great channel.
i noticed that it's easier to be taught by someone than *selftaught mode*...
but it's more interesting to learn things all by yourself
This was really helpful thank you!!
How it is helpful if I want connect a gas sensor like MQ-135 with rasbery pi
Element 13 would you remove the graphic at the bottom real annoying.
Hi Ben...
Just a minor request, please try to talk a more defined words (clear phonetic/pronounce) especially in the more technical mnemonics/numbers words...
You are not talking only to English speaking people... (Well it's your fault for putting such a good show... now you are followed around the world)
If you can, please provide the transcript in english to your videos so we can activate captions and understand some more technical parts.
Thanks for the excelent videos...
Finally understood interfaces. Thanks to you !! :)
Well, while he's not exactly a voice actor, he does sound like a mechanic that knows what he's doing, and I'd say that's enough. Besides, so long as you can understand what he says it shouldn't really matter that much what he sounds like.
Hey Ben, Love your show! Could you possibly do a video on Basic Programming. Like tips, basics of programming? Some of the people who are new don't really understand where all of it is documented! (I.E how the heck someone would use a Xbee with their code. What code would be used to send it over that specific medium) Thanks!
Also a list of recommended programs for engineers and hobbyists :)
Mr Heck I've seen every episode and this one i am sure your talking Klingon. I'll watch it again in hopes something sinks in
UART ??? Used in gps and somethings like that
How about a cooler Master Evo on a PS4 because it's really toasty
WE love you Ben, whoooooo!!
Thanks for the video!
do more . like programing tuotrials
thank you ! its helps me a lot
Great video, except that the the name and chip animation is very distracting
Thank you! I learned a lot!
I challenge you to build a slot machine ''one armed bandit''' that has a jackpot that you can change and you have to pay to use it, also I want you to make it possible for cheap production in a factorie . Think of the 4 main thing size, price, game, design.
great engineering video, thanks for make its so much cooler ;D
Sometimes the lack of gold and the blonde hair kinda kill it :D
Very helpful.
So just watch the older episodes again ;-)
it is acceptable and sometimes preferred to use their when talking about a single person whose gender is unknown according to some style guides. xnamkor is correct.
Ads end at 8:15
Aww... No longer compliant with RoHS.
Do you really have to have annoying background music playing constantly?
Especially when explaining tech details on white board.
Self-taught people are always better at explaining complex electronic concepts to dummies/newbies (like me :) ... there's a different mindset involved in self exploration as opposed to book smart, progressive course learning - not that I'm dissing the latter.
Nice
5:40 new word 'perephrial'
We have Stephen Hawking as a guest star lol
Dude you should try to upgrade a PS3 or Xbox 360
Element14 advertisement that are put right in the middle of this video...
Gotta love them ;) /s
i dont know a Fuck !, whats his talking :), butt a i love how he knows everything and makes it easy way to understand :D
You are awesome.
hey ben can you make a raspberry pi laptop
I learned stuff!
Jane Fonda, "Feel the burn!"
genial, con eso se podría hacer un robot :3
Why? Why are you so awsome?
thats what she said
Take another console apart and stick it in something else, for a quarter of a million views.
Actually, the default gender in English is "he". It becomes "he", "him" or "his" when the gender is unknown. But for some reason objects are female. e.g. "She's a fine boat". In either case, I'm sure it makes feminists angry :)
the most vague video I've seen about interfaces.
Hell yeah :)
"then we convert to Fahrenheit..."
How embarrassing!
build me a portable n64
Yay viewer 299 finally in the first 300
Arduino computer for a car is much cheaper Dan Thousand dollar Silver box
thats SATA