Это видео недоступно.
Сожалеем об этом.

How To Turn An Arduino Into A USB Keyboard Or Mouse! | ATMega32U4

Поделиться
HTML-код
  • Опубликовано: 24 июн 2022
  • Just a quick video showing you the possibilities of the venerable ATMega32U4 - found in the Arduino Pro Micro, Leonardo and the relevant clones.
    Check out Sparkfun's guide here, but please remember to include the Keyboard.h and Mouse.h libraries:
    www.sparkfun.c...
    and here is the code I used:
    github.com/Sim...
    Do you need some Arduinos? Get there here:
    Pro Micro clone:
    s.click.aliexp...
    Canada: amzn.to/3NYNHRl
    USA & World: amzn.to/3HDR9i9
    Leonardo clone:
    s.click.aliexp...
    Canada: amzn.to/3aVBpKR
    USA & World: amzn.to/3mQym9I
    Thanks for watching!
    Check out my website: www.simpleelec...
    If you feel like supporting the channel, please consider supporting on Patreon:
    / simpleelectronics
    or get some cool merch!
    teespring.com/...
    or buy anything from USA Amazon using my affiliate link:
    amzn.to/3Iki6q7
    or buy anything from Canadian Amazon using my affiliate link:
    amzn.to/3FNxPfI
    or buy anything on Banggood's site using my affiliate link:
    www.banggood.c...
    or buy anything using my Aliexpress affiliate link:
    s.click.aliexp...
    and if you feel so inclined, here is my Amazon wish list!
    www.amazon.ca/...

Комментарии • 101

  • @TheJcrist
    @TheJcrist Год назад +24

    This is not only a keyboard but also any imaginable HID device, including UPS and 3D joystick.

  • @leonclose7823
    @leonclose7823 2 года назад +10

    So simple! This looks like the start of a project for my Year 9 class. A handful of mechanical keyboard switches and some 3D printing could make a cool little macro pad. Thanks for the video.

  • @Dilshad-gu7je
    @Dilshad-gu7je 2 года назад +5

    These projects where they help us with our daily stuff are really powerful.

  • @kjur18
    @kjur18 2 года назад +4

    I had one of these for some time, with 12 button keyboard that uses only one analog pin, worked great, but those buttons were a bit noisy (12mm tact switches) and a bit bulky. So my next step was to make this thinner and silent. So I used one of these MPR121 12 touch pad boards, works like a charm, and it's really thin compared to my previous one

  • @Mulakulu
    @Mulakulu 4 месяца назад +2

    This is awesome. Gonna use some parallel in to serial out chips to get many many inputs and make a number pad. I do not like the decision of adding the 500ms delay there though, due to not being able to press any buttons for 500ms. I think I'll just not have a hold function, and rather only send inputs when they are pulled high, and ignore that button until it's pulled low again

    • @Mulakulu
      @Mulakulu 4 месяца назад

      or I'll just do Keyboard.press and Keyboard.release. That seems better maybe

  • @chriss3154
    @chriss3154 9 месяцев назад +4

    Made my foot pedal project a breeze! Quick and simple! Great thanks!👍🤘

  • @TBL_stevennelson
    @TBL_stevennelson 2 года назад +3

    Yes I do want you to build a project and maybe try one without the delay. Thanks

  • @BrightBlueJim
    @BrightBlueJim 5 месяцев назад

    I was looking for how to create a combined USB mouse and keyboard using an ATmega32U4 (Arduino Micro), but had read things implying that in order to combine two devices in one micrcontroller, you had to also implement a USB Composite device. And of course, most example programs only do mouse or keyboard, but not both. However, clearly this is not the case, since your example does exactly this! Maybe it's because they're both HID class devices? Whatever, now I know how to do what I need to do. Thanks!

  • @jlr3636
    @jlr3636 5 месяцев назад

    Nice, so I’m left handed, now I can build a Number Keypad which I can place on the left side of my keyboard so I don’t have to reach across to operate my keypad. Using programs such as Blender, I mouse with my right hand and type with my left hand, this will speed up the work-flow. Purchasing a dedicated left hand keyboard cost hundreds,

  • @NREYTERYREYTY5fddffsfdf
    @NREYTERYREYTY5fddffsfdf Год назад +1

    dude this is great I'm gonna use this to make a flight panel for Microsoft flight simulator

  • @hassanbo8200
    @hassanbo8200 7 месяцев назад +2

    does it have to strictly be the MEGA32U4 or is there any other chip that can be used like this? if there is, plz list the modules that can replace this

  • @rudy5360
    @rudy5360 2 года назад +3

    Could you turn it into a USB gamepad? A driving simulator controller would be a good project. Or RC model controller, reading servo PWM from an rc receiver, and sending this as a gamepad to a pc

  • @dsdailylife1126
    @dsdailylife1126 Месяц назад

    Can i copy the existing program already in it i have bought something like this that already have a program but i want to copy what's in it

  • @lordfly88
    @lordfly88 Год назад

    Exactly what I was looking for, thanks!

  • @Chaga1314
    @Chaga1314 Год назад +1

    pretty neat tutorial man. Cheers

  • @xskodemedia746
    @xskodemedia746 6 месяцев назад

    yo somebody with great Arduino tuts. are you still making videos about such or do you have a series of tutorials!!? I just came by your channel now and i am subscribing!

  • @3xAudio
    @3xAudio 2 месяца назад

    Is it straight forward to use one keyboard button to control 2 Arduinos simultaneously?

  • @objection_your_honor
    @objection_your_honor Год назад +2

    I'm new to your channel and was wondering how I would be able to send a string of characters like "Left Shift + Right Ctrl + Pause" keys in one key press?
    Would Keyboard.print.(string), where string is an array of characters work?

  • @elektron2kim666
    @elektron2kim666 5 месяцев назад

    With a touch keyboard on the micro's display this would make sense.

  • @georgef7754
    @georgef7754 2 года назад +1

    A keyboard project will be very interesting.

  • @Kwistenbiebel100-ns5ko
    @Kwistenbiebel100-ns5ko 2 месяца назад

    Does this behave like a real keyboard if you hold a key down? Multiple characters are being put out?

  • @electroniquepassion
    @electroniquepassion 2 года назад +2

    Merci pour l’info 👋👋

  • @williamfraser
    @williamfraser 5 месяцев назад

    If you had eight buttons, could it combine the inputs and decode the "binary" string? For example, pressing buttons two and eight (counting from left) gives 01000001 and translates to "A".

    • @BrightBlueJim
      @BrightBlueJim 5 месяцев назад

      Or you could use a single button, and make the user enter the characters in Morse code.

  • @os-channel
    @os-channel Год назад +1

    Great thing, thank you!

  • @saileshagarwal
    @saileshagarwal 3 месяца назад

    Hey, Do you think we can use place keyboard module inside a smart digital tape measure, which copies the measurement from the tape directly to the excel sheet via bluetooth?
    Thanks!

  • @kyleallred984
    @kyleallred984 2 года назад +1

    I'm sure a fellow streamer could use a macropad for scene translation and other effects?

  • @evdokimovm
    @evdokimovm 6 месяцев назад +1

    That's the kind of "firmware", not the HID driver, am I right? I mean, when someone has soldered a custom keyboard, let's say, using an Arduino Nano, there is already a universal HID driver in the OS, but to make the output of the buttons correspond to symbols, you need to write a kind of "firmware", as shown in the video?

  • @054-manikandabharathi.t5
    @054-manikandabharathi.t5 Год назад +2

    Is it possible with esp32

  • @shawnmichaelis1609
    @shawnmichaelis1609 7 месяцев назад

    how to i decrease the delay speed in-between button presses? i want to be able to press as fast as possible like a normal keyboard

  • @xsm5525
    @xsm5525 Год назад +2

    I have two questions, (the 2nd one maybe being a bit weird)
    1, is it possible to send things like the Function keys (F1-F12 etc) and the left up down right arrow keys?
    2. is it possible to have 2 x arduino 32u4's on one board, and have all 5 microswitches (like your own setup here) Y-lead off to both arduino 32u4's? I want to control 2 PC's at the exact same time (don't ask!)

    • @romeolz
      @romeolz Год назад +1

      i don't see anything preventing question #2 from working, u just gotta steal the signal going from the buttons to arduino #1 and connect it to the pins of arduino #2 (NOTE: i am an electronics and arduino noob, please keep that in mind)

    • @adriansfx
      @adriansfx 11 месяцев назад +1

      as for #1 you can, a lot of the custom keyboards out there are based on this little board, and as a matter of fact you can even send up to F24 even tho traditional keebs go just up to F12

  • @hans-dieterjung4026
    @hans-dieterjung4026 2 месяца назад

    Thank for your work and nice explanation. my question: if i want to used an Uno 4, what type of Hardware i need to communicat like an HID ?

  • @drakelazerus
    @drakelazerus 3 месяца назад

    Thanks so much! Built a 4 key and using your code I can enter stored passwords with the click of a button. I am curious if you would know how to have it enter a string then do a tab and then enter another string and then have it do an enter? I want to have this enter a username then do a tab and then enter a password and then do an enter? All of this programmed on one button press.

  • @Bianchi77
    @Bianchi77 11 месяцев назад

    Nice video, well done, thanks for sharing :)

  • @allnewgames6221
    @allnewgames6221 7 дней назад +1

    Does this work with arduino uno or esp 32

    • @RobertDMercado
      @RobertDMercado 7 дней назад +1

      No, they use a entirely different microcontroller

  • @user-ji7kq9wf2z
    @user-ji7kq9wf2z Месяц назад +1

    Can the uno do it?

  • @mahirdaiyan6898
    @mahirdaiyan6898 3 месяца назад

    Can we do it with a Arduino Uno?

  • @OfflineEz
    @OfflineEz Год назад

    Do I need diodes or resistors in this or could I just plug a keyswitch directly too my digital input and ground? im assuming the arduino I wanna buy has resistors built in it

  • @jokerzbp9545
    @jokerzbp9545 Год назад

    But what I'm seeing from this code is that you cannot hold down a key. I could be wrong but if I wanted to walk using WASD I probably couldn't. I bought a metal DDR pad and the control box isn't working so i wanted to make my own JoyToKey after seeing how the pad worked.

  • @jeremy6384
    @jeremy6384 7 месяцев назад

    can the 32u4 handle multi press? ie can I do any combination of keyboard characters simultaneously?

  • @bratban919
    @bratban919 Год назад

    I have been trying to get my pro micro to work but I get "averdude" messages and cant get my board to work. Any tips?

  • @muhammadaniqzakwan2d416
    @muhammadaniqzakwan2d416 5 месяцев назад

    Question, can the board be swap with a standard breadboard?

  • @liamjoseph992
    @liamjoseph992 9 месяцев назад

    Can this be made into a wireless/Bluetooth device. And battery powered?

  • @selectnull4459
    @selectnull4459 Год назад

    I just knew you will press the E switch for Subscribe many many times :) - hope its an odd number of times :)

  • @duppressor8164
    @duppressor8164 7 месяцев назад

    Can you use this code for a RP2040? 1:34 - 5:31

  • @electroniquepassion
    @electroniquepassion 2 года назад +1

    Salut, il n’est pas recommandé de mettre un filtre devant les leds ? Car je crois que cette lumière n’est pas bonne pour les yeux ! Sinon beau projet 👍 à bientôt 👋

    • @SimpleElectronics
      @SimpleElectronics  2 года назад +1

      Je crois qu'ils sont correcte - ils n'ont pas beaucoup de lumière infrarouge ou ultraviolette!

    • @electroniquepassion
      @electroniquepassion 2 года назад

      @@SimpleElectronics
      Ok d’accord 👍 bonne continuation

  • @edsonferraz1
    @edsonferraz1 Год назад

    Very good your video, congratulation!! Is possible make a codigo to press FN + F6 how example

  • @onecircuit-as
    @onecircuit-as 2 года назад +1

    Nice vid! 😀👍

  • @GaryGrimtooth
    @GaryGrimtooth Год назад

    Does it trigger a LLHKF_INJECTED flag from windows when you send mouse clicks?

  • @ashfaqjuna
    @ashfaqjuna Год назад

    05:29.. ok ok I have subscribed! :)
    Great video. Thanks 👍

  • @Moneybitch000
    @Moneybitch000 11 месяцев назад

    can you explain more the code that you wrote

  • @whocares1433
    @whocares1433 Год назад +1

    Cool, there is a way to manipulate the arrows of the keyboard?

  • @tsumplays4185
    @tsumplays4185 Год назад

    Not sure if this comment will be seen but, can I ask if you had to download any drivers for your pro micro? Mine seems to have a 'unknown USB device' error, and it seems like I don't have a driver installed for it

  • @edran4449
    @edran4449 Месяц назад

    i tried this kept having problems with library, spent a good hour trying to troubleshoot code to look for any mistakes, searched it turns out arduino uno does support this library, sadly it doesn't have that chip, welp that was sadly painful guess ill need to buy an arduino with that chip, lmao i thought all arduino was the same just different sizes. guess its back to aliexpress for that chip arduino hahahaha.

  • @NoOne.--_.--..._--_..l--l
    @NoOne.--_.--..._--_..l--l Год назад

    Can we use every digital and analog pins?

  • @frankowalker4662
    @frankowalker4662 2 года назад +1

    That's nifty.

  • @AvitoBot
    @AvitoBot Год назад +1

    Вопрос: можно ли применить это к другим микроконтроллерам?

    • @SimpleElectronics
      @SimpleElectronics  Год назад

      Only those that have HID capability - the RP2040 for example has it but the ATMega328p does not

    • @AvitoBot
      @AvitoBot Год назад

      @@SimpleElectronics извиняюсь, а на esp32 не получится?

  • @DNF07
    @DNF07 Год назад

    Bro can i use ot for games instead of
    W
    A. S D

  • @FPChris
    @FPChris 6 месяцев назад

    Can you send Ctrl+Key or Middle Mouse Button + Key?

    • @BrightBlueJim
      @BrightBlueJim 5 месяцев назад

      Yes! Since there are functions to call for all keyboard and mouse activities, you can certainly send codes that combine mouse and keyboard actions. The SparkFun tutorial that he based this project on (see the link in the description) gives more information about things like separate press and key actions for the keyboard, which lets you simulate holding down the Ctrl key and clicking the mouse center button, then releasing the Ctrl key.

  • @AlexandreNOliveira
    @AlexandreNOliveira 5 месяцев назад +1

    Hi, thank you for this content. Straight to the point. A quick question: After see your video and others about using ATMega32U4 as a keyboard, still not clear to me if it need to be the one of 3.3V or the one of 5V. Could you kindly let me know the correct voltage?
    Thanks in advance!

    • @SimpleElectronics
      @SimpleElectronics  5 месяцев назад +2

      If you are going to plug it into usb, best to use the 5v version, simplifies a lot of stuff

    • @AlexandreNOliveira
      @AlexandreNOliveira 5 месяцев назад

      @@SimpleElectronics Thank very much for your comment!

  • @paddyh4272
    @paddyh4272 Год назад

    I need something like this but I need it to use 18 keys from a keyboard for a custom panel. Which is best Arduino board to use?

    • @CobraFat2000
      @CobraFat2000 7 месяцев назад

      I think you can probably use the same one as in video, but you'd need to explore making a grid- like with 12 digital inputs - wire them 6 horizontal and 6 vertical and check against pairs of pulled pins for inputs and you'd have 36 - maybe even 4x4x4 for 64 or 3x3x3x3 is a possibility for a full blown 81 inputs, but it will probably limit how many keys can be pressed at the same time - depends on application of the product you're working on.

  • @g1expert102
    @g1expert102 Год назад

    I want to use this for a control panel for games... Ill be using in for stormworks
    It will have your basic push button but i also want to use circuit breakers

    • @loukxo
      @loukxo Год назад

      Hi, you didn't have any problems with the inclusion of the keyboard library? I did a little, that's why I'm asking, since it's only been a month since you posted this message ...

    • @g1expert102
      @g1expert102 Год назад

      @@loukxo if you use the arduino leonardo then you don't need to struggle with it. You simply just type include keyboard.h

  • @YigalBZ
    @YigalBZ 9 месяцев назад

    Great video. Would it work with other Arduinos? ESP32?

    • @mak.6516
      @mak.6516 22 дня назад

      ESP32 support HID via bluetooth

  • @koolkidthergamer800
    @koolkidthergamer800 8 месяцев назад

    Thanks for the tutorial now i can make a password keyboard

  • @DNF07
    @DNF07 Год назад

    Hello bro can any one tell me how to make joystick for keyboard with this plz help

    • @BrightBlueJim
      @BrightBlueJim 5 месяцев назад

      If you look at the SparkFun tutorial linked in the description, which is what this project was based on, it gives an example of using an analog joystick to act as a mouse. That should be helpful.

  • @SFoX-On-Air
    @SFoX-On-Air 10 месяцев назад

    thats basically the way to make a rubber ducky ^^

  • @vanchien5874
    @vanchien5874 Год назад

    Hi, does it work for only windows? I want to simulate a mouse using this in linux. Is it possible?

    • @BrightBlueJim
      @BrightBlueJim 5 месяцев назад

      Since Human Interface Device (HID) class devices are generic, they should work equally well in Windows, MacOS, or Linux. These all use the same standards, although some keys are labeled differently on Macs. There's nothing Windows-specific in this project.

  • @tallnrough68
    @tallnrough68 Год назад

    How would I make a switch open a program on my computer ?

    • @hoople212
      @hoople212 Год назад +1

      could use [Windows]+r command to open run, then enter the appropriate command followed by enter?

    • @_BangDroid_
      @_BangDroid_ Год назад +1

      Depends on what program you want to launch. Some applications can be opened using the Application Launch keycodes as part of the USB HID standard, these include Web browser, calculator, email client. Unfortunately the library used here doesn't support the full USB HID standard which means media keys and application launch keys are not possible. You could set the keys to be something obscure like F13 - F24 and use AutoHotHey to detect and run various commands, like opening an application. Otherwise, use a different library which does have full functionality, like NicoHood's HID project.

  • @doougle
    @doougle 2 года назад +2

    That's neat. If you knew a twitch streamer you could probably make a little device to fire commands and macros. verowaThink
    It seems like you could also fashion a customized game controller if the latency isn't bad.

  • @bluemuffin6160
    @bluemuffin6160 Год назад

    How is this when compared to using QMK?

    • @BrightBlueJim
      @BrightBlueJim 5 месяцев назад +1

      QMK probably started out as a project much like this. QMK is much more sophisticated in how it lets you define how every key behaves, but when it's running, it's doing very much the same thing.

  • @rickharold7884
    @rickharold7884 2 года назад +1

    Cool

  • @khefer1980
    @khefer1980 10 месяцев назад

    Can You sent compination of Ctrl+C / Ctrl+V ;-)??

    • @CobraFat2000
      @CobraFat2000 7 месяцев назад +1

      You could always try something like: Keyboard.press(KEY_LEFT_CTRL); Keyboard.write('c'); Keyboard.release(KEY_LEFT_CTRL);

  • @Hoekstes
    @Hoekstes 7 месяцев назад

    I bought a nano for this project 🤦🏻‍♂️

    • @CraftyUnknown
      @CraftyUnknown 7 месяцев назад

      which one do you need?

    • @Hoekstes
      @Hoekstes 7 месяцев назад

      @@CraftyUnknown you need the Leonardo, but luckily I found a workaround to make the Nano do what I wanted. Edit: The Leonardo has HID (human interface device) capabilities that the Nano doesn’t.