See the minimum needed for a USB device to list in Device Manager

  Рет қаралды 576,000

TM

TM

Күн бұрын

Пікірлер: 494
@TM-zs7ko
@TM-zs7ko Жыл бұрын
I don't have a hackaday account. But, I just wanted to clear up some confusion a poster over there seems to have, just in case you got some ideas about what this video was going to show you based on what you read there. Or you found this video yourself and also came to the same conclusions they did. Or were about to to come to these conclusions. They seem to have gotten the point of this thing backwards. So, it's strangely easier to clarify things in reverse order. Starting from the end: "He runs through a few other potentially useful scenarios, but really, the best use of something like this is to educate yourself on the lowest levels of USB connection negotiation". *_The whole point_** and really **_only point_** of the board shown **_is_** to demonstrate the first (low level) thing a USB device does to signal for attachment, which in turn causes it to list in the mentioned utilities, in the way shown.* That is, the minimum thing that a USB device has to do right to cause that to happen, namely USB device pull-ups. The point _is to educate yourself on that topic and hopefully have that inform your debugging of USB device problems._ Or you can just find it mildly interesting. The board you see in the video was put together to help demonstrate the device pull-ups and nothing more. That "best use" was the _only intended use_ for it. *_"[TM] points out, you could use this circuit to test that the physical port on the host at least minimally works."_* You could use it that way. But that's not what I'm explaining at all. What I'm showing is what you can expect to see on your computer (in both Windows and Linux), if something successfully creates these signals alone. These signals are the minimum needed to list in same way in both Device Manager and dmesg. That's what I'm showing in the video. *_"as this extremely minimal but functional USB device illustrates."_* Well, the board is somewhat minimal. But, as many people pointed that you don't really need an actual linear regulator IC on it (more on that below). However, this is definitely not anything _I_ call a "functional USB device." It quite literally reports with failures to read the device descriptor and has nothing on it capable of sending USB messages, which are both things mentioned in the video. What it _is_ is a demonstration of the "minimum needed for a USB device to list in Device Manager", hence the video title. So far as I can tell, the author thought the material at the end of the video was intended to describe ways to use the board shown, as though it were made to be a tool you could build and not what it is, a demonstration board. What's being talked about at the end of the video are ways you can use "this understanding"... understanding of USB pull-up resistors. These are the "something useful" I mentioned at the beginning of the video, the "something useful to use in your thinking when troubleshooting USB problems." Ways to use the under "understanding". *Not* ways to use the board. I hope I'm not coming off as mean in the above. I'm glad someone was thoughtful enough to mention it on a site about electronics. It's crazy to me than anyone is watching this. I thought like maybe 5 people would watch it, maybe 50. But so long as people are watching it, I do want to make really clear about what is being said in the video and what is not. It is just demonstration and description of a basic thing that USB devices do and how you might use the knowledge of that which is demonstrated to help you in troubleshooting. Regarding regulators and dividers: Mostly I used a regulator to be more or less in analogy with what you actually find in USB devices. They're typically already 3.3V devices powered by a regulator. Or they're 5V devices that have an internal 3.3V regulator specifically for this purpose. And it's probably the least distracting thing to put there when you're explaining something not-that on the board. I'd also briefly considered using what the Digispark uses, which is essentially a zener regulator and because it features later in the video. And because I also happened to know where some of my zener diodes were. But, I also just had a regulator. And yeah, you could also probably just make a divider from VUSB to GND. I didn't try it. I expect it works. But also I simply had a regulator and cap at hand. Could you use a divider? Yeah probably. If you wanted to rely on the 15k internal pulldown you won't wind up with 1.5K on the top. You'll need something more like 8K, I think. Which is not what is called for. Would it work? Probably, I think. If it worked for me would it work for you? I don't know. Maybe. If you put 1.5K on the top with only 15K on the bottom you'll wind up above the 3.3V nominal signal range. Is that a problem? Maybe not. If it wasn't a problem (perhaps damaging something) for me would in not be a problem for you? I don't know. So, you'd need a resistor in parallel with the 15K internal one, which is quite large compared to what you'd need externally. So you can more or less ignore the 15K and you don't necessarily need to run the parallel resistor calculation and just think of it as simple two resistor network. If you put a 3K resistor on the bottom of the divider that should be about right. With 1.5K on the top it divides 5V to about 3.3V. Would that work? Probably. However, the USB host is going to act on that divider when it tries to set a device address and ask for a device descriptor. Is that a problem? I don't know. If it worked for me, would.... Or you could just use a regulator. And then it will work and immediately be recognized as something that will work if you were trying to explain it someone else, say in a video for example. =) If you want to play with voltage dividers or the Digispark/V-USB/bitbanged style zener setup, go for it. If you have TL431 kicking around, I'm sure you could get that to work. Or if you have a simple 3.3V fixed output linear regulator kicking around, maybe just use that. If you're not worried about the repeatability of your setup you have a lot more freedom. Try stuff way out of spec. I did and found at least on hubs that I tried it on it worked fine to get similar results. But, you can get a 3.3V regulator like for under 1USD, in quantity one, at least if you're in the US ordering anything from a US parts distributor. Original Message: I'm really surprised to find this sort of support. Especially on a video like this. Had a little more to say about it in a community post. But mostly I just want to say thanks for letting me know you're getting anything out of watching this. It's just good to see. kzbin.infoUgkxvMno3tHF9bHJ4N3BiNBrIeZPUuBtQZWF
@ddieder
@ddieder Жыл бұрын
Keep going, this is really great content!
@PoiSonSonic
@PoiSonSonic Жыл бұрын
This is something I have always wondered, but never could put into words to make a question
@gtvwill
@gtvwill Жыл бұрын
Rad video. Good to see this kind of slightly deeper/different content! Cheers!
@supermaster2012
@supermaster2012 Жыл бұрын
I just got randomly introduced to your channel by the algorithm, which is kinda weird tbh since I intentionally never watch any tech channels (I find the "geek as a way of life" philosophy of most tech channels very cringeworthy, but I digress). Regardless, for a channel with 1k subs and sub-100k views on a week old video the content is pretty good, definitely good enough for me to gamble my time giving it a sub which is more than 99% of KZbin channels can say. If I had to make a suggestion I'd say invest in a good microphone. Right now the voice track sounds crunchier than a a bag of Cheetos, to the point that for a while I thought you were using a voice modulator of some sort. Nowadays you can get amazing audio for less than $100 and such investment would improve the overall quality of the videos tremendously, specially because the other elements are already pretty good.
@alexportier97
@alexportier97 Жыл бұрын
I am glad I came across your channel. I hope to see more uploads from you soon. Great work!
@theothergameygamer
@theothergameygamer Жыл бұрын
The internet needs more videos like these that help to demystify what have become everyday technologies an help the folks trying to utilize it to develop some basic debugging \ troubleshooting skills.
@TheManWithTheFlan
@TheManWithTheFlan Жыл бұрын
Especially considering how much manufacturers and developers have been broadly trying to obfuscate the underlying parts of their products in the hope of being able to maintain planned obsolescence, keep their platforms as closed as possible, and squeeze a little extra money out of end users.
@theothergameygamer
@theothergameygamer Жыл бұрын
@@zg-it I used to watch it on a science cable channel back when I had a TV - great stuff!
@chrisakaschulbus4903
@chrisakaschulbus4903 Жыл бұрын
Well at some point in the past you had the whole schematic delivered with your pc. People drive cars without having the slightest clue about what a combustion is or how gears work. I wish this stuff was more common knowledge since a good percent of people are driving cars and are using computers.
@zg-it
@zg-it Жыл бұрын
@@theothergameygamer hey, turns out the host has a KZbin channel called The secret Life of components. Still making content now!
@jnharton
@jnharton 2 ай бұрын
@@TheManWithTheFlan Most of the time that's really about preventing someone else from cloning the product and selling it for less.
@LFTRnow
@LFTRnow Жыл бұрын
Next, grab the D+ and D- switches and manipulate them so they are on or off for roughly 570 ns with the following pattern...
@OldManBOMBIN
@OldManBOMBIN 2 ай бұрын
For God's sake, man, what's the pattern?? I can't hold much longer!
@HenryB6568
@HenryB6568 2 ай бұрын
@@OldManBOMBIN same, i need to know
@FracturedPixels
@FracturedPixels Ай бұрын
@@OldManBOMBIN up up down down left right left right B A Start
@OldManBOMBIN
@OldManBOMBIN Ай бұрын
@@FracturedPixels good ole Konami!
@der.Schtefan
@der.Schtefan Жыл бұрын
Plot twist: there was a tiny microcontroller hidden inside the electrolytic capacitor package.
@miigon9117
@miigon9117 Жыл бұрын
Plot twist: those jumpers on board are actually antennas and there's a strong radio emitter nearby to inject the signal wirelessly.
@CATech1138
@CATech1138 Жыл бұрын
an ATTiny10 would work with ease
@Xiefux
@Xiefux Жыл бұрын
its well known that chinese capacitors (which this probably was) have microcontrollers built in to send all your data to the CCP
@gustavgnoettgen
@gustavgnoettgen Жыл бұрын
It also has wifi
@IvanDorozhkin
@IvanDorozhkin Жыл бұрын
In the cable
@Jonaspatzl
@Jonaspatzl Жыл бұрын
This video is incredibly helpful to quickly narrow down on some USB problems, thanks for condensing all this information down!
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Did you find this while you were troubleshooting something?
@Graham_Wideman
@Graham_Wideman Жыл бұрын
@@laughing5559 I think you meant to post this reply on the "Plot twist" thread, not this one?
@laughing5559
@laughing5559 Жыл бұрын
@@Graham_Wideman To be honest I don't remember making the post or why so I will delete it.
@pascallj
@pascallj Жыл бұрын
Got this video recommended to me in my feed. I wasn't looking for this, nor do I have a particular use case for it at the moment. But watching these well explained videos of small creators always reminds of KZbin in it's early days where you got recommended all sorts of random videos because the algorithm wasn't that specific. Keep up the good work!
@calansmith655
@calansmith655 Ай бұрын
Same situation for me, although I love messing with electronics so I *may* use this one day. But for me I saw it and was like “ooooh, that would be interesting to learn! Lemme watch that.”
@hernancoronel
@hernancoronel Жыл бұрын
At around 7:00 when you say the “system sees the pull up resistor” I would change that to the “the USB controller sees the pull up resistor and reports to the system”. Minor semantic change but it would maintain the different layers appropriately separate. Thank you for the great video!
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Heh. I'll go nuts if tracked all of that down. I think I get what you're saying though. There's it can be helpful to have that extra specificity. Not much I can do about it now. I see stuff in it like effect glitches, I can hear myself pronouncing things like an idiot, but... yeah. It's done. I've had to transcribe my own unscripted speech before and it's painful listen to how incoherent I sound. So, I'm happy to be understood enough that anyone's getting anything useful out of it.
@thewhitefalcon8539
@thewhitefalcon8539 Жыл бұрын
Is the USB controller not part of the system?
@sixstringedthing
@sixstringedthing Жыл бұрын
@@TM-zs7ko You did a fine job here mate, an impressive lack of ums and ahs for unscripted speech regarding technical concepts. As a small-time youtuber myself, I always think I sound way more articulate in my head and then I cringe when I hear the actual unscripted audio track. :)
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Oh this is definitely scripted or effectively the same with a detailed outline and then speaking naturally as I can but only in short bursts. On good days when I'm awake and talking about something really familiar I can minimize them. But this video probably has a ridiculous number of cuts in it. Less in the parts where I'm switching. I made a somewhat stupid video about mounting single ws2811 leds on headers and that's less edited and I think unscripted, just like a bullet list. And there are lots on ums and ahs in that. The ble sense watchdog one probably is like that as well. I'm not sure how much cutting was done there. I think to the extent that I had a script it was the code itself. But that video is kind of discursive also. It's good if this one sounds natural. But that's not really because I speak like that. Not in general anyway.
@NorthLaker
@NorthLaker Жыл бұрын
@@thewhitefalcon8539 "System" is an arbitrary term, it can mean whatever you want. But I think in this case it might have been better to specifically separate the usb controller from the rest of the 'system' because if you're having problems with usb it might actually be the usb controller that's bugged or broken in some way, and not the device you're trying to connect.
@Graham_Wideman
@Graham_Wideman Жыл бұрын
TM -- I have to commend you on a meticulously conscientious lesson in basic USB. A great job on focusing on the essentials that implement the basic functionality. And lovely attention to details that help everyone keep up, like having all the connections on the Veroboard on one side, and pointing out the number code on the resistors. Well done!
@kinbolluck476
@kinbolluck476 Жыл бұрын
😢
@Destructificial
@Destructificial Жыл бұрын
Great video! One small thing I caught: at 4:20 you say that SuperSpeed also pull up D+ to initiate the connection, but this is not strictly necessary. A SuperSpeed connection solely uses the SuperSpeed wires, so it'll even work with D+/D- completely disconnected. This allows for fun stuff like attaching a SuperSpeed-only and a *different* Low/Full/High-Speed device to the *same* USB port!
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Interesting. I did have it in my head that the negotiation up to superspeed would require an initial enumerate and exchange of a few messages at full speed first. I'll have to look at that again when I'm back to reading about USB.
@kreuner11
@kreuner11 Жыл бұрын
That's weird they didn't use the extra wires for the connection
@АбракадабраКобра259
@АбракадабраКобра259 Жыл бұрын
@@TM-zs7ko I have a "fiber extender" device which, when opened up, doesn't have soldered D+ and D-, but only has the two pairs of "USB 3+" connections. Hence, it doesn't work for your average keyboards and mice. Which for me was a waste of 400 bucks(I mean, yeah, I can probably solder that in, if I had enough practice and time, because the chip would support it). Because, well, reasonably you don't expect something produced in 2020s to NOT be backwards-compatible. On the side note, what did you do to this video so that it came up on yt recommended? 190k views on this one, but almost none on your other videos? This is a good explanation for basic USB. Thank you.
@adamh1478
@adamh1478 Жыл бұрын
​@@kreuner11 I'm guessing that the synchronization overhead would be too large, and that it's more efficient to just leave the lower speed pins alone.
@ComDenox
@ComDenox Жыл бұрын
​​@@АбракадабраКобра259 the algorithm™ is weird. Sometimes random videos become popular for no reason. My theory is that for channels with low numbers the algorithm™ suggests it to only few people, then bases how "worthy" the video is based on that. Basically, it seems to think that it's not worth to show videos of channels with few subs to many people to try to "push" them. This means that if the first few people don't watch it, the video does bad. But every once in a while a video like that will be lucky and be suggested to people that actually watch it. This makes the algorithm™ think it's very good, and "worth" its time to show it to more people, which creates a snowball effect.
@octothorpian_nightmare
@octothorpian_nightmare Жыл бұрын
Good stuff all the way through. I'm really impressed with the illustration quality and thought that went into this video, I know that's a lot of work!
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Heh. It's surprising much time you can sink into this sort of thing. I'm glad you like it.
@ferna2294
@ferna2294 Жыл бұрын
Subscribed. You explain stuff flawlessly. Full of details, visual references and without overcomplicating it. I work as a technician and these type of videos are gold.
@narayanbandodker5482
@narayanbandodker5482 Жыл бұрын
USB C specs also support the “Audio Accessory Mode” so you can make a mic input and speaker output without even using adc or dac via USB
@savagesarethebest7251
@savagesarethebest7251 Жыл бұрын
This makes sense to why some USB-C to headphones adapters don't want to work on some phones then!? 🤔
@narayanbandodker5482
@narayanbandodker5482 Жыл бұрын
@@savagesarethebest7251 yeah your device needs to support it else it won’t even detect it. Many smartphones support it, but not all
@memediatek
@memediatek Жыл бұрын
@@savagesarethebest7251 you can thank Apple and Google for starting the trend of not supporting it
@jnharton
@jnharton 2 ай бұрын
Which wouldn't be all that useful without the computer providing an internal adc or dac or at least some sort of input/output that software can work with.
@cookiejarseattle
@cookiejarseattle Ай бұрын
Kinda similar to the alt-dp mode for transferring video signals.
@LiveOverflow
@LiveOverflow Жыл бұрын
This is such a great educational video! Love the idea, explanation and video style!
@jensschroder8214
@jensschroder8214 Жыл бұрын
11:31 instead of being pulled to 3.3 volts, it's pulled to 5V across a 1500Ω resistor. The whole 5V to 3.3V conversion is based on resistors and zener diodes. The necessary code for USB is controlled by bit bang software.
@TM-zs7ko
@TM-zs7ko Жыл бұрын
tinyurl.com/2ev6yq3y A reasonably simulated approximation of the Digispark-style bit-banging circuit if anyone wants to dig into it. I just tossed it together on seeing this. So, I may have done something wrong. Real Zeners are a bit more fiddly than the TL431 I think. But it captures the basic idea.
@gnif
@gnif Жыл бұрын
Extremely good content, I had no idea it was so simple to have the OS see the device. Subscribed!
@LuminousWatcher
@LuminousWatcher Жыл бұрын
Comprehensive, detailed, simple and informative. Thank you for taking time to explain this. It will undoubtedly help in troubleshooting USB related issues for me.
@metanim1
@metanim1 8 күн бұрын
I really appreciate this, this has helped me understand how USB handshakes start, without needing to read documentation
@DFX2KX
@DFX2KX Жыл бұрын
this seems like the makings of an utterly *infuriating* prank device, seeing as both of those data lines can be switched on and off in an IC at random intervals, but you still have power the whole time. Hook that up to a buddy's internal header and just wait for him to loose his mind at the random device connect jingles.
@obsurdhotdog8442
@obsurdhotdog8442 2 ай бұрын
use a 555 and a bjt hehe
@yeetyeet7070
@yeetyeet7070 Жыл бұрын
For screenrecording (preferably with OBS) you have to choose the option "indistinguishable quality (very large files)" to get crisp recordings. (the files arent _that_ big)
@Sestain
@Sestain Жыл бұрын
Why not just use advanced mode and then choose an encoder that supports hardware encoding like nvenc or quicksync? Hevc has pretty small file size but x264 (software) should be fine too if there isn't much happening.
@yeetyeet7070
@yeetyeet7070 Жыл бұрын
@@Sestain that sounds good. But too complicated for me. Tho nvenc (hardware) is the default encoder anyways
@lionkor98
@lionkor98 Жыл бұрын
No, you just turn the bitrate up, thats the same result
@dieSpinnt
@dieSpinnt Жыл бұрын
We need more than 3 totally distinct but "bulletproof" solutions, guys. Really! **facepalm**
@RobotsEverywhereVideos
@RobotsEverywhereVideos Жыл бұрын
This is an insanely well made video showcasing a clever thing. Kudos to you!
@kinbolluck476
@kinbolluck476 Жыл бұрын
EVETHING SHOULD BURN IN VLEANSING FIRE
@TeezyThaKidd
@TeezyThaKidd Жыл бұрын
TIL Wireshark can be used to monitor USB traffic. This is frickin cool. Thanks for sharing!
@calansmith655
@calansmith655 Ай бұрын
This video is amazing. I love the editing style, and the explanation is really crisp. You put a lot of thought into this! I especially love the way you explained each component and how it was connected. I understood perfectly without getting bogged down time-wise.
@neut1121
@neut1121 Жыл бұрын
thanks for this video! I didn't know the first level of USB detection was that simple.
@vicmac3513
@vicmac3513 Жыл бұрын
In my dreams you now start a video series, where you build any simple usb device on a breadboard level. It is not everyday when you love YT algorithm for showing a top notch of the top notch-quality video. I had to watch this 3 times to make sure I learnt every piece of details given in this video. The outcome was to find just one reason more to hate Windows, lol.
@elisha.schiff
@elisha.schiff 4 ай бұрын
Exist (optional)
@MrStevensarns
@MrStevensarns Жыл бұрын
Not only is the content very well presented, but the production quality is exceptional. Thank you TM.
@victorianomas89
@victorianomas89 Жыл бұрын
Glad this showed up in my recommended. As a computer nerd with 0 knowledge about electronics, this will come in handy when troubleshooting usb devices. That process can become frustrating very easily when stuff like this is perceived as "magic" by a noob like me. Great explanation :)
@abdultairu
@abdultairu 7 ай бұрын
This video helped me to have an idea what happened to my CH340C yesterday when I finish populating my board components and tried to plug it into Windows 11. Got exactly the message shown in this video. The message was not very helpful to me until I watched this video. I resolved the issue though and the serial chip was recognized but this was a eye opener. Thanks.
@TM-zs7ko
@TM-zs7ko 7 ай бұрын
Good deal. Yeah, the message itself doesn't tell you a lot. What did it end up being? A break in D-? No decoupling? Coincidentally I have a board with a CH340G that I broke that might show up in a video if anything good or at least interesting comes from me trying to fix it.
@abdultairu
@abdultairu 7 ай бұрын
@@TM-zs7ko , All I did was to simply resoldered all of the pins of the passive components that has anything to do with the CH340C, so I am guessing maybe one of the IC pin (D+ or D-) was not properly connected and when it got connected it started working. So, when I saw your video, it sure confirms this for me.
@TM-zs7ko
@TM-zs7ko 7 ай бұрын
@@abdultairu Hard to tell sometimes after the fact. I'm glad someone got some analytical use out of seeing the demo.
@we-are-electric1445
@we-are-electric1445 Ай бұрын
You learn something new every day - at least I didn't know this when I got up this morning !
@theninjascientist689
@theninjascientist689 Жыл бұрын
This was an amazingly explained concept and a joy to watch!
@yeetyeet7070
@yeetyeet7070 Жыл бұрын
The thumbnail + naming of the video are perfect
@HypherNet
@HypherNet Жыл бұрын
This video is very clear and answers some questions I've had while tinkering. Thanks so much, excellent work. I would watch anything else you put up that covers the basics of how USB and microcontrollers works. Or really any other low-level computer engineering topics that don't assume a BS in computer engineering :)
@smudgerdave1141
@smudgerdave1141 Жыл бұрын
Great video. I was holding my breath waiting for you to explain what happens if switch both the D+ and D- resistors into circuit...
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Somewhere in Alaska a railroad crossing signal turns on. =) In all seriousness, my understanding was just that you're not supposed to that. So, I wasn't particularly worried covering it. I didn't dig deeply for proscribed behaviour for that situation or warnings against it. However, I was curious enough to turn both switches on and plug the device in and I got inconsistent behaviour in dmesg. Often it seems to detect as low-speed. Sometimes after having detected as low speed if I pull the plug and reinsert it, it doesn't show anything in dmesg. And I'll that repeated and still nothing shows. So, I switch ports on the hub and it shows again as low-speed. Re-insert, nothing. And there seems to be some memory of this event per-port. I'm not sure how much time I want to put into characterizing it though. Because it's possible that it won't be repeatable by anyone not using the same setup. Some of the random element I think I'm seeing may come down to just how I'm physically connecting the cable, it may be matter of which pin touches first. And the weird memory exhibited may be down to something about how my particular hub handles a non-standard situation. And the reason for that might ultimately just come back to "yeah, you're not supposed to do that." But I may look again at the standard if I get bored. They're all PDFs that you can freely download. So, if you're curious you might have a look.
@smudgerdave1141
@smudgerdave1141 Жыл бұрын
@@TM-zs7ko Interesting you say that the PC remembers what is going on with USB ports. I have noticed this behaviour when I have been struggling with a dodgy USB cable. If you change the cable and it still doesn't work, try a different port. This is particularly noticable with printers. If you plug the same printer into a different USB port, often it assumes a different printer and creates an new instantiation of the driver. Anyhoo, thanks for your comprehensive reply. It was a genuine question - I've never read up on the USB protocol. And "Yeah, don't do that" seems like a good an answer as any. 😊
@melkiorwiseman5234
@melkiorwiseman5234 Жыл бұрын
Nice video. Something I found useful when I examined the USB specifications is that if you want to make your own USB power supply/charger, and the charger can supply the maximum current (at 5V) which any USB device will draw, you only need to connect D+ to D- inside the power supply in order to signal any connected USB device that this is a dedicated charger. Without that connection between the two data pins, the device will assume that the USB charger can only supply a maximum of 1A of current, but with it the device will attempt to take the maximum current which it can use. Or to put it another way, without the link between the two data lines, the device will charge slowly and with it the device will charge as fast as it's capable of doing. Care has to be taken not to connect the two data lines together when the charger cannot supply more than 1A, as doing so will allow any connected USB device to overload the charger, probably causing damage to the charger and possibly also to the device.
@naingtheawperc3817
@naingtheawperc3817 Жыл бұрын
What about other amps like 12A or 3A? Should you use resistors?
@melkiorwiseman5234
@melkiorwiseman5234 Жыл бұрын
@@naingtheawperc3817 I've never heard of a charger which can supply 12A. Unless I'm misinformed, something like 3A is the maximum under USB specifications, which the direct linkage between D+ and D- would cover. If 12A is actually allowed (which sounds sus due to the heating it would cause in thin wiring) then I don't know what would be used to signal that. Note: If you meant to say 12V instead of 12A, the link between D+ and D- conveys no information relating to voltage.
@degru4130
@degru4130 Жыл бұрын
Not linking them will actually limit charge to 500mA - USB3 spec of 900mA requires negotiating as a USB-3 device. Most USB ports these days can support enough in excess over 1A that you don't really need to worry about it. Think non-compliant devices like DVD drives, which only need USB-2 speed but can draw more than 500mA spinning up. The charging controller in your phone will also detect the voltage drop when trying to draw more current than the port can provide, and limit itself to what's available. I have some "USB condom" adapters which essentially just bridge the data pins while only providing power to the device, so I can charge my phone at a reasonable speed from normal USB ports (My old Thinkpad could even provide a full 2.4A without dropping voltage, according to my USB load tester)
@tttuberc
@tttuberc Жыл бұрын
Very nice demonstration of how the USB device detection works.
@supermaster2012
@supermaster2012 Жыл бұрын
The algorithm has blessed me in this sacred night with a gift from the internet gods. 1k subs? Sir, let me up that by 1 right now.
@supermaster2012
@supermaster2012 2 ай бұрын
One year later and OP has 5k subs more. My right ear still enjoys the video.
@TheCatherineCC
@TheCatherineCC Жыл бұрын
This rocks and helps remind us that sometimes we overthink things.
@oscarlupton
@oscarlupton Жыл бұрын
This is a wonderfully digestible video, yet also very comprehensive. Great job, and this is going to help a lot of people
@megacrab
@megacrab Жыл бұрын
This video has blown up - can't wait to see more! USB is still a black box to most of us Arduino developers. I learned something.
@paulfrischknecht3999
@paulfrischknecht3999 Жыл бұрын
Thanks for making this. I love it when people show how much magical/cargocult/misunderstanding in thinking there is in common online advice for computer problems...
@user-eq2fp6jw4g
@user-eq2fp6jw4g 2 ай бұрын
These type of videos are the reason why youtube exists.
@BerndSchmitt-Martinique
@BerndSchmitt-Martinique Жыл бұрын
Thanks. I appreciate people, who know,what they are talking about. I learned a lot from this video. Greetings from Germany.
@ergosteur
@ergosteur Жыл бұрын
I don’t do much work with microcontrollers but this video was very informative and easy to understand, definitely will be a bit more aware next time I have to troubleshoot.
@Mr-Electronist
@Mr-Electronist Жыл бұрын
The video is amazing, my mind is blown away. Maybe in the future i will make a usb sound card. I never knew how a usb is conected, now i do !
@KunjaBihariKrishna
@KunjaBihariKrishna Жыл бұрын
This kind of increased my respect for windows. The diagnostic message in the device manager is cool
@johnpenner5182
@johnpenner5182 2 ай бұрын
this is an excellent demonstration and description of the USB recognition protocol. thank you, and well done. 👾
@cyndicorinne
@cyndicorinne Жыл бұрын
This is helpful in so many ways: Linux & Windows device debugging, electronic circuit for USB connection, and more. Thanks 🙏
@raul_jocson_
@raul_jocson_ Жыл бұрын
What a great video! Thanks! Your explanation is clear, to the point, and well explained. Love to see it. Gonna check out your other vids.
@Suzuki_Hiakura
@Suzuki_Hiakura Жыл бұрын
Didn't have any reason to click on the video other than to learn, and I wasn't disappointed. I think it will come in handy if I ever get around to making my breadboard computer. Subscribed and look forward to learning more from you :)
@Ozzy3333333
@Ozzy3333333 Жыл бұрын
You could replace the regulator and cap with a pair of 9K (or 10K) resistors, this will divide the 5v down to ~3.3v, save money and space in your project.
@hrishivenkiteshm7659
@hrishivenkiteshm7659 Жыл бұрын
It's always better to use a capacitor to filter out noise and act as a decoupling capacitor. Sure, it might be coming from the USB port of the computer which is a well filtered source but it might pick up noise over the length of the USB cable coming from the USB port.
@Ozzy3333333
@Ozzy3333333 Жыл бұрын
@@hrishivenkiteshm7659 couple issues. There is zero switching, just a simple single transition low to high. Zero need for a large cap, a 0.1uF is standard decoupling for a switching ic, your large cap is for supplying current to many IC's, but we don't have a single ic in this circuit that your large cap feeds. The simple, smaller and lower cost voltage divider that I presented is a simple level translator from 5v to 3.3v, no need for the regulator and cap. Please try it.
@Ozzy3333333
@Ozzy3333333 Жыл бұрын
@@hrishivenkiteshm7659 I have used this simple voltage divider as a sensor level translator in many projects going from 5v to 3.3v. most times using a resistor divider of 1k on top and 1.5k on the bottom. 5v in, 3.3v out, super simple.
@Ozzy3333333
@Ozzy3333333 Жыл бұрын
@@hrishivenkiteshm7659 maybe you don't understand how the logic level works. Vol and Voh are threshold levels for low and high values, so once past this value if there is ripple or noise at that level it makes no difference. And beyond that this circuit is not transferring data, besides two high or low status bits. Again zero need for the regulator and capacitor.
@BigA1
@BigA1 Жыл бұрын
Thanks for this video on USB. You've helped to lift the lid on the 'Dark Arts' of USB. Looking forward to more interesting videos from you.
@TheRealPlato
@TheRealPlato Ай бұрын
Thanks for the clear demonstration and discussion
@fredbcruz
@fredbcruz Жыл бұрын
No idea how I landed here but thank you for the amazing content
@Darkshadows9776
@Darkshadows9776 Жыл бұрын
Just wanna let you know that I think this is super cool and I'm gonna finish it tomorrow, since it's late as heck. It's always nice to see some low level stuff like this, and without a formal education in all of it, it's hard to find good resources.
@Heeby-Jeebies
@Heeby-Jeebies Жыл бұрын
This is such a great demo! I absolutely have a better understanding of how USB works now. Thank you!
@LordDecapo
@LordDecapo Жыл бұрын
Love this kinda stuff. Learned so much, will help with my development in the future 1000% Thanks for making this!
@FinlayDaG33k
@FinlayDaG33k Жыл бұрын
This is at least a nifty little doohickey for when I need to know whether my USB port just died or something else is going on.
@AiMR
@AiMR Жыл бұрын
You somehow managed to explain in a way that my Aspy brain understands completely 👍
@ian_b
@ian_b Жыл бұрын
This video is excellent. Very clear. A video that paints a thousand words kind of thing.
@techrazor3280
@techrazor3280 Жыл бұрын
Very nice and to the point video. Really helpful. Thanks a lot.
@nutzeeer
@nutzeeer Жыл бұрын
Truly one of the divices of all time
@electrosssnake1036
@electrosssnake1036 Жыл бұрын
Very good video about the lowest-levels of usb connections.
@SteveJones172pilot
@SteveJones172pilot Жыл бұрын
Great video! I love to see how the low level stuff works. It always helps in obscure diagnostic scenarios.. Thanks!
@scarletevans4474
@scarletevans4474 Жыл бұрын
So amazingly explained and in a simple way! Especially 2:20 - 4:00 ! Thank you!
@CarthagoMike
@CarthagoMike Жыл бұрын
What an amazing in-dept explanation. Thank you!
@itskevscott
@itskevscott Жыл бұрын
Ah, never thought of that before, I always thought it was digital devices talking to each other - very useful and informative! And I did read your channel description by the way!
@GibsnRage
@GibsnRage Жыл бұрын
Yes, very useful information! I'm not in IT but everyone at my work knows I'm technical so... well, you get it.. This is new information for me and I am positive it will help me out on more than one occasion to come!
@Joshinken
@Joshinken Жыл бұрын
This is super interesting and really informative but its just thrown an old issue i had and that im still trying to solve up into the air and shot all the pieces of a solution i had assembled I have a microcontroller in two different versions with two different usb to serial chips inside. One will work on linux and is detected on windows but returns errors when trying to connect, the other will work on windows and does not show up AT ALL in linux. Not even an „unknown device“ error. I thought it had to be either driver issues or some weird esoteric problem with the linux usb stack, but this video proves that even if the device is completely dysfunctional it should still have showed _something_ , and the fact that it doesnt makes absolutely no sense
@rafa_br34
@rafa_br34 Жыл бұрын
That's interesting, perhaps you could make a video on how the USB protocol works?
@thextrmntr
@thextrmntr Жыл бұрын
look up ben eater usb
@stargazer7644
@stargazer7644 Жыл бұрын
It is ridiculously overcomplicated and works poorly.
@berndeckenfels
@berndeckenfels Жыл бұрын
Thanks, interesting that DM shows it that early, but I guess it makes sense to allow the diagnostics you have described.
@johnburgess2084
@johnburgess2084 Жыл бұрын
Thank you for this informative video. I've been wanting to learn some of the USB fundamentals, starting from the ground up. This definitely started at the ground! I'd love to see something similar to this that shows the minimum messaging needed to send a minimum Device Descriptor in order to clear the Unknown Device error.
@notarealname4741
@notarealname4741 Жыл бұрын
now this is quality content. thanks for making the internet a better place!
@estrusherd
@estrusherd Жыл бұрын
This video is a masterpiece of clear and cogent explanation. Thank-you.
@apaskiewicz
@apaskiewicz Жыл бұрын
Wow this is incredible! Thanks for taking the time to make this video!
@prenumenume7498
@prenumenume7498 15 күн бұрын
Thank you for sharing your knowledge with us. It was very interesting and informative :D
@erenoz2910
@erenoz2910 Жыл бұрын
I had a good laugh imagining you mashing the switches cartoonishly to send a device descriptor
@TheDaorti
@TheDaorti 3 ай бұрын
As someone living in Germany I experienced the smalltalk in a supermarket in France, it was in a small town in Provence though
@TradieTrev
@TradieTrev Жыл бұрын
This is an awesome video explaining it simple detail! Hat's off mate! I think I'd waffle on too much explaining the same thing.
@TM-zs7ko
@TM-zs7ko Жыл бұрын
Oh, I do. It's crazy unnatural for me to not use guarded language and not try to explain everything... and qualify my degree of confidence in it and... it's exhausting. I tend to just drop stuff or telegraph that I'm oversimplifying rather than listen to myself speaking in an overly assertive way about it. People have actually found this one and are asking about or saying all the stuff I'd left out. Just can't win. =)
@TradieTrev
@TradieTrev Жыл бұрын
@@TM-zs7ko I've been trying to get that sweet spot on my own vids. You can nerd out as one's desires; But most retro blokes are agnostic enough that I couldn't go free range fixing old dead chips.
@larssjodahl7660
@larssjodahl7660 Жыл бұрын
That restraint was worth the effort. I wish more creators would do the same, so many don't "kill their darlings" and stick to the point. That will distinguish you from the masses that say you left things out. Of COURSE you did. The difficult part was (and usually is, when you explain fundamentals) figuring out WHICH PARTS to leave out.
@BadyTheProgram
@BadyTheProgram Жыл бұрын
You could start a series about building something "simple" usb device. Make an overal view about how usb devices, and communication, drivers, etc. works(If you have the knowledge for it). Lot of people don't even bother getting information about this topic(Including me), thinking "This probably too complicated and difficult to learn for me", But this type of tutorial can open some peoples eyes. Even this video made me thinking about it. I would watch it and with it, you will win my lifetime subcribing :D.
@ZeddZeeee
@ZeddZeeee Жыл бұрын
great video explaining something i hardly thought about! excited to see what else you make! keep up the hard work ! :)
@dimitarnikolov3527
@dimitarnikolov3527 Жыл бұрын
So I need to drive low the data pins of my digispark attiny85's when I am not using ubs to preven them from clogging my device manager and system notifications? I am glad I watched the video till the end. This is a life changer. Thanks man!
@TM-zs7ko
@TM-zs7ko Жыл бұрын
I'm not completely sure I understand. Mostly what I'm getting at is the board's inherent behavior is to pull up on D-. So, if the processor is in reset, or removed, or just does not have any code on it at all to fiddle with D-, it will still try to attach. I'm probably over explaining here, but the only way it can become anything other than 3.3V with respect to whatever you're doing on the ATtiny85 itself is to set it OUTPUT and LOW. I think the normal behaviour in Windows 10 for a digispark that has an empty or blink sketch on it is that it enumerates as the micronucleus bootloader, it does the upload (if any) and then it transfers control to the sketch with the D+ and D- related GPIOs as input (I think), with D- being pulled high again, but already attached. And that is tends to leave it listed in Device Manager as though it's still properly connected even though it really isn't anymore; I mean nothing is expecting an inbound message. It seems to stay there that way indefinitely. Though, If anything were to try to send a USB message to it it would get an error. If Windows were to spontaneously ask it for a descriptor again (for whatever reason) or any other USB message it would time out, and then perhaps it would unlisted it from Device Manger and then relist as failure to read device descriptor. I'm not sure. But at least with my laptop with whatever few situations I've used it in it seems to stay listed indefinitely provided it's firmly seated in the USB port. With a PCB-trace plug often depending on which port is used as soon as I let go the connections are poor enough that it disconnects. And of course if your code is playing with D+ and D- you can probably cause all kinds of errors and connection/disconnection messages.
@dimitarnikolov3527
@dimitarnikolov3527 Жыл бұрын
@@TM-zs7ko Thanks for the clarification! In my experience too the device stays indefinitely in the Device Manager with an yellow warning (I can't remember the exact error). That's kinda annoying by itself but one time I was also getting multiple plug/unplug device notifications. I didn't know what caused it at the time but now I now at least I have some clue. Either it was the noise in the long cable that I was using or the switching of neighboring pin was coupled capacitively to the D-. Either way, writing D- pin low would probably solve all these problems.
@marsguyphil
@marsguyphil Ай бұрын
Learned a lot from this. Thanks.
@rambox11
@rambox11 Жыл бұрын
Please release your next one as soon as possible. This stuff is fascinating ! (and I'm not being sarcastic)
@ronin7771
@ronin7771 Жыл бұрын
Wow cool! When it comes to plugging a circuit that I've made into a modern machine, I would've thought it be much harder to get the OS to acknowledge its existence.
@TheEspikes
@TheEspikes 2 ай бұрын
Wow!, that was a wonderful insight. Thank you.
@robatoto
@robatoto Жыл бұрын
If the device is not working and is mentioned as a low speed device in dmesg (instead of full speed), you might have accidentally swapped the data lines in your design.
@sixstringedthing
@sixstringedthing Жыл бұрын
An impressively clear and concise explanation of some essential basic concepts, very interesting/useful content. Subscribed, and I'll definitely be saving this one to share with colleagues and fellow enthusiasts. Great job, thanks!
@wixic111
@wixic111 Жыл бұрын
This is very interesting stuff. Had no idea USB device detection was so simple.
@TM-zs7ko
@TM-zs7ko Жыл бұрын
The very first stage of it, the minimum to get to list somehow in these utilities. I find it odd to display that way in Device Manager because I would normally tend to think of what's in there as fully detected devices. Really this kind of more like "I've detected a USB attachment request, but I've failed to complete the entire device detection process." Where a full detection would include at least getting as far as reading a device descriptor containing those hardware ids I'd mentioned aren't there.
@Iogoslavia
@Iogoslavia Жыл бұрын
This is great! Really helps demistify USB a bit. Now I'm curisou of whats the minimum for the device to acknowledge its bus address, and maybe show up with a name 😄
@funkdefied1
@funkdefied1 Жыл бұрын
My wife and I often laugh together at the time I accidentally shoved my headphone cable into a USB port and got that USB-device tone.
@TM-zs7ko
@TM-zs7ko Жыл бұрын
LOL. Wonder what speed you got. I know someone that had much less satisfying results testing their car accessory usb charger with a mug full of coffee.
@theothercreare
@theothercreare Жыл бұрын
Wow thanks, I had no idea a connection could be that simple.
@PlaywithJunk
@PlaywithJunk Жыл бұрын
You should add a LED to show the power cycling
@supul32
@supul32 Жыл бұрын
This is absolutely helpful and great video! It would have taken days to google and learn these information by myself. You have just explained everything in minutes. Subscribed for more videos. Thank you!
@nunoalexandre6408
@nunoalexandre6408 Жыл бұрын
Love it!!!!!!!!!!!!!!!!!
@hendrikkokulinsky8531
@hendrikkokulinsky8531 Жыл бұрын
Sir, you got style! Realy good presentation. Thanks a lot for this video!
@stopmessingwithyt
@stopmessingwithyt 2 ай бұрын
Love the way your Linux terminal looks! How did you do it?
@octoturt
@octoturt Жыл бұрын
i'm not smart enough to have any practical use for this knowledge but i do think this is extremely funny
@hakkysnak7021
@hakkysnak7021 Жыл бұрын
Great video and great explanation of the USB signals
@davidflores909
@davidflores909 2 ай бұрын
Great video! I enjoyed learning something new. I would only suggest that maybe you run your audio through a low pass filter. Your recording has a slightly uncomfortable really high pitched buzz.
@GermanTutorials
@GermanTutorials Жыл бұрын
Awesome! Please do more USB hardware and software videos like that!
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3,1 МЛН
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 1,6 МЛН
Шок. Никокадо Авокадо похудел на 110 кг
00:44
Самое неинтересное видео
00:32
Miracle
Рет қаралды 2,9 МЛН
Ozoda - Lada (Official Music Video)
06:07
Ozoda
Рет қаралды 10 МЛН
The world's worst video card?
32:47
Ben Eater
Рет қаралды 6 МЛН
Things you can make from old, dead laptops
19:03
DIY Perks
Рет қаралды 12 МЛН
How a 555 Works as a Timer.
30:13
PKAE Electronics
Рет қаралды 177 М.
Speedrunning 30yrs of lithography technology
46:07
Breaking Taps
Рет қаралды 692 М.
Extracting Firmware from Embedded Devices (SPI NOR Flash) ⚡
18:41
Flashback Team
Рет қаралды 576 М.
Building a haptic input knob from scratch!
11:29
scottbez1
Рет қаралды 1,1 МЛН
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 1,6 МЛН