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...
    --
  • Наука та технологія

КОМЕНТАРІ • 34

  • @chriscollins3717
    @chriscollins3717 Місяць тому +2

    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

  • @Carhill
    @Carhill Рік тому +8

    This channel is criminally underrated.

  • @patrickjeromeobaldo2450
    @patrickjeromeobaldo2450 Рік тому +3

    I really love it when people explain complicated things like it was meant for kindergarden. Thanks for this

  • @benwilson5546
    @benwilson5546 7 місяців тому +1

    This is amazing! I will probably spend 20-30 hours following this incredible guide

    • @SineLab
      @SineLab  6 місяців тому

      Thank you! It'll be a 20 hours well spent. :)

  • @xzddakfdmiug5832
    @xzddakfdmiug5832 Рік тому +3

    Thanks for shedding light on the HID protocol.

    • @SineLab
      @SineLab  Рік тому

      I'm glad you found it useful.

  • @dgo85
    @dgo85 Рік тому +20

    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.

    • @PainterVierax
      @PainterVierax Рік тому +4

      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.

    • @devrim-oguz
      @devrim-oguz 4 місяці тому

      @@PainterVierax With the Microchip buying Atmel, one would expect USB support on the Atmega chips, but this doesn’t happen for some reason…

  • @irkedoff
    @irkedoff 6 місяців тому

    Thanks for the video.

  • @joshieeee20
    @joshieeee20 8 місяців тому

    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.

  • @redcollard3586
    @redcollard3586 11 місяців тому

    Props for leaving "a kew fee inputs" in hahaha

  • @nu77byte49
    @nu77byte49 9 місяців тому

    Sweet channel got my sub ;)

  • @fungyup
    @fungyup 11 місяців тому

    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!!❤❤

  • @matzer8846
    @matzer8846 Рік тому

    Great detailed description & demo ... Thank you very much 👍

  • @rockeybhaskar5834
    @rockeybhaskar5834 7 місяців тому

    what are the fuse values for 12 MHz?

  • @gabrielphilips6980
    @gabrielphilips6980 Рік тому +2

    You're talented

  • @robertchauncey3270
    @robertchauncey3270 6 місяців тому

    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😌

    • @SineLab
      @SineLab  6 місяців тому

      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.

  • @chaos.corner
    @chaos.corner 9 місяців тому

    Good stuff. I tried diving in from the standards docs but they're very opaque and difficult to get a handle on.

    • @SineLab
      @SineLab  9 місяців тому

      I agree. It's hard to wrap your head around at first.

  • @ReyDominicano
    @ReyDominicano 11 місяців тому

    could you do a step by step tutorial ?

  • @erickalexander8534
    @erickalexander8534 5 днів тому

    @Sine Lab, pls if you could answer me this, does your computer recognize the microcontroller on the device manager settings????

    • @SineLab
      @SineLab  3 дні тому

      Yes, as an HID keyboard.

  • @UKsystems
    @UKsystems 2 місяці тому

    what ide are you using

  • @etmax1
    @etmax1 Рік тому

    Great job on the video, but might I suggest you turn off auto focus on your camera once you've set up your scene.

  • @ivolol
    @ivolol 11 місяців тому

    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

  • @untrust2033
    @untrust2033 11 місяців тому +1

    The complexity of VUSB really put me off. None of the examples really showed anything imo