V-USB on an ATmega328! - V-USB and HID Explained
Вставка
- Опубліковано 22 лют 2023
- Sometimes, we only have access to microcontrollers without all of the peripherals that we need. Several cases like in the AVR line of microcontrollers involving USB support. Luckily there is a library called V-USB that allows us to bit-bang USB support into our projects.
-- Links --
My Website: sinelab.net
Buy me a coffee: www.buymeacoffee.com/thesinelab
Bitcoin Address: bc1qwlfr2ml9km4r5vhpfh7f3m60k80whhcq3ysths
Ethereum Address: 0x7e8B8Ff8D6bD8DfB48b4A139694BB343f040Bb3f
V-USB Download: www.obdev.at/products/vusb/in...
Code and Schematic: sinelab.net/code/vusb-keyboar...
USB Datasheet: sinelab.net/pdf/usb-20-specif...
HID Datasheet: sinelab.net/pdf/hid_spec.pdf
Usage Tables: sinelab.net/pdf/hid_usage_tab...
Report Descriptor Checker: eleccelerator.com/usbdescreqpa...
-- - Наука та технологія
This is a very good video by an obviously very knowledgeable engineer. I have an issue though and this isn't the only video by any means. Being trained in electronics for many years I was warned of the risk to components of Electro Static Discharge or ESD. Microchips which have circuitry that is CMOS based may be especially vulnerable to ESD as the inputs may be very high impedance and therefore prone to damage by static. The static may be generated in the human body by simply walking across carpets or wearing insulated shoes. The damage caused by ESD may not be immediately obvious but may lead to premature failure later in the components life. I therefore cringe when I see unnecesary handling of devices, especially with the absence of an antistatic wristband. Devices are shipped in antistatic materials for a reason
This channel is criminally underrated.
Thank you :)
I really love it when people explain complicated things like it was meant for kindergarden. Thanks for this
This is amazing! I will probably spend 20-30 hours following this incredible guide
Thank you! It'll be a 20 hours well spent. :)
Thanks for shedding light on the HID protocol.
I'm glad you found it useful.
One thing to consider is the "Speed grades" "Maximum Frequency (versus Vcc)" curves, most of the "classic" atmegas are not designed to operate at full frequency while at voltages below 4.5V, and operating on those conditions might result in unexpected problems.
yep, on Atmega chips, only a max of 8MHz is safe under 4.5V so the full operation at 3.3V suggested in the video is not viable and a bidirectional logic level shifter on D+ and D- must be used instead. v-usb users generally use some cheap zener or blue leds to clamp the voltage but it's still a dirty hack with dubious reliability.
Newer AVR mcus don't have this issue. The most recent AVR Dx series can even set some of the i/o ports at 3.3V logic or lower independently of Vcc. This compensate the lack of modern AVR with native USB.
@@PainterVierax With the Microchip buying Atmel, one would expect USB support on the Atmega chips, but this doesn’t happen for some reason…
Thanks for the video.
For me, using terminal in both videos made it a bit confusing when I don't know the commands because I don't use it lol, honestly I just closed my eyes and listened again and found it easier to understand without visual aid. At no fault on your part of course.
Props for leaving "a kew fee inputs" in hahaha
Sweet channel got my sub ;)
i am wondering how many people on the planet know about this thing? The HIP usb data structure is nothing new but encapsulated in modern IC. If you are not going to reinvent the protocol so what is the point to study it and compile a video to explain all of this low level tech. It is too awesome!!❤❤
Great detailed description & demo ... Thank you very much 👍
Glad it was helpful!
ja... demo..., thank you
@@aburab
what are the fuse values for 12 MHz?
You're talented
Thank you
This video is invaluable to me as I need to convert USB joystick and throttle control to an esp32-s3 that will control several actuators. You definitely pointed me in the right direction here but it is daunting with hundreds of pages in resources. Is there any sections I should pay attention to, or am I in for the full meal 1500 pages of everything you listed?😮💨 And no I am not going down to the bottom of the atlantic, quite the opposite actually, i'm building a ground effects vehicle using virpil controls😌
The most important document you'll need is the 'HID Usages and Descriptions' document. You don't need all of it, just find the right section in the table of contents. I'd imagine that the 'Game Controls Page' might work for your project. The hardest part will probably be making your own HID descriptor, and that's what the document will help you with.
Good stuff. I tried diving in from the standards docs but they're very opaque and difficult to get a handle on.
I agree. It's hard to wrap your head around at first.
could you do a step by step tutorial ?
@Sine Lab, pls if you could answer me this, does your computer recognize the microcontroller on the device manager settings????
Yes, as an HID keyboard.
what ide are you using
Great job on the video, but might I suggest you turn off auto focus on your camera once you've set up your scene.
Demonstrates devices without the necessary hardware to communicate [over USB]... throws in a ATmega32U4 pro micro board, with the hardware to communicate over USB xD
The complexity of VUSB really put me off. None of the examples really showed anything imo