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

  Переглядів 86,701

Simple Electronics

Simple Electronics

Рік тому

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.com/tutorials/337
and here is the code I used:
github.com/SimpleElectronicsY...
Do you need some Arduinos? Get there here:
Pro Micro clone:
s.click.aliexpress.com/e/_A2AAGh
Canada: amzn.to/3NYNHRl
USA & World: amzn.to/3HDR9i9
Leonardo clone:
s.click.aliexpress.com/e/_9iqrKt
Canada: amzn.to/3aVBpKR
USA & World: amzn.to/3mQym9I
Thanks for watching!
Check out my website: www.simpleelectronics.ca
If you feel like supporting the channel, please consider supporting on Patreon:
/ simpleelectronics
or get some cool merch!
teespring.com/stores/electron...
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.com/custlink/mGv...
or buy anything using my Aliexpress affiliate link:
s.click.aliexpress.com/e/_9u07X6
and if you feel so inclined, here is my Amazon wish list!
www.amazon.ca/hz/wishlist/ls/...

КОМЕНТАРІ: 91
@leonclose7823
@leonclose7823 Рік тому
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.
@TheJcrist
@TheJcrist Рік тому
This is not only a keyboard but also any imaginable HID device, including UPS and 3D joystick.
@Mulakulu
@Mulakulu Місяць тому
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
@Dilshad-gu7je
@Dilshad-gu7je Рік тому
These projects where they help us with our daily stuff are really powerful.
@kjur18
@kjur18 Рік тому
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
@lordfly88
@lordfly88 Рік тому
Exactly what I was looking for, thanks!
@Chaga1314
@Chaga1314 11 місяців тому
pretty neat tutorial man. Cheers
@chriss3154
@chriss3154 6 місяців тому
Made my foot pedal project a breeze! Quick and simple! Great thanks!👍🤘
@SimpleElectronics
@SimpleElectronics 6 місяців тому
Awesome!
@Bianchi77
@Bianchi77 7 місяців тому
Nice video, well done, thanks for sharing :)
@NREYTERYREYTY5fddffsfdf
@NREYTERYREYTY5fddffsfdf Рік тому
dude this is great I'm gonna use this to make a flight panel for Microsoft flight simulator
@os-channel
@os-channel Рік тому
Great thing, thank you!
@YigalBZ
@YigalBZ 6 місяців тому
Great video. Would it work with other Arduinos? ESP32?
@TBL_stevennelson
@TBL_stevennelson Рік тому
Yes I do want you to build a project and maybe try one without the delay. Thanks
@rudy5360
@rudy5360 Рік тому
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
@objection_your_honor
@objection_your_honor Рік тому
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?
@edsonferraz1
@edsonferraz1 8 місяців тому
Very good your video, congratulation!! Is possible make a codigo to press FN + F6 how example
@BrightBlueJim
@BrightBlueJim 2 місяці тому
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!
@xskodemedia746
@xskodemedia746 2 місяці тому
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!
@electroniquepassion
@electroniquepassion Рік тому
Merci pour l’info 👋👋
@onecircuit-as
@onecircuit-as Рік тому
Nice vid! 😀👍
@SimpleElectronics
@SimpleElectronics Рік тому
Thanks man!
@kyleallred984
@kyleallred984 Рік тому
I'm sure a fellow streamer could use a macropad for scene translation and other effects?
@georgef7754
@georgef7754 Рік тому
A keyboard project will be very interesting.
@saileshagarwal
@saileshagarwal 2 дні тому
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!
@Moneybitch000
@Moneybitch000 8 місяців тому
can you explain more the code that you wrote
@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
@frankowalker4662
@frankowalker4662 Рік тому
That's nifty.
@ashfaqjuna
@ashfaqjuna Рік тому
05:29.. ok ok I have subscribed! :) Great video. Thanks 👍
@jeremy6384
@jeremy6384 3 місяці тому
can the 32u4 handle multi press? ie can I do any combination of keyboard characters simultaneously?
@cgsgaming777
@cgsgaming777 Рік тому
Could you make in for potention meter and Buttons for GRAND THEFT AUTO 5 GAME
@NoOne.--_.--..._--_..l--l
@NoOne.--_.--..._--_..l--l Рік тому
Can we use every digital and analog pins?
@shawnmichaelis1609
@shawnmichaelis1609 3 місяці тому
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
@muhammadaniqzakwan2d416
@muhammadaniqzakwan2d416 2 місяці тому
Question, can the board be swap with a standard breadboard?
@jokerzbp9545
@jokerzbp9545 9 місяців тому
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.
@tsumplays4185
@tsumplays4185 9 місяців тому
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
@054-manikandabharathi.t5
@054-manikandabharathi.t5 Рік тому
Is it possible with esp32
@liamjoseph992
@liamjoseph992 6 місяців тому
Can this be made into a wireless/Bluetooth device. And battery powered?
@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?
@DNF07
@DNF07 9 місяців тому
Bro can i use ot for games instead of W A. S D
@selectnull4459
@selectnull4459 Рік тому
I just knew you will press the E switch for Subscribe many many times :) - hope its an odd number of times :)
@whocares1433
@whocares1433 Рік тому
Cool, there is a way to manipulate the arrows of the keyboard?
@SimpleElectronics
@SimpleElectronics Рік тому
I think so actually - check out the linked website!
@elektron2kim666
@elektron2kim666 2 місяці тому
With a touch keyboard on the micro's display this would make sense.
@hassanbo8200
@hassanbo8200 4 місяці тому
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
@user-mz1uh4ju1n
@user-mz1uh4ju1n Місяць тому
Yeah it needs to be a MEGA32U4 or this error message comes: Keyboard not defined, does your sketch has keyboard.h?
@rickharold7884
@rickharold7884 Рік тому
Cool
@xsm5525
@xsm5525 10 місяців тому
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 10 місяців тому
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 7 місяців тому
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
@williamfraser
@williamfraser 2 місяці тому
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 2 місяці тому
Or you could use a single button, and make the user enter the characters in Morse code.
@mahirdaiyan6898
@mahirdaiyan6898 6 днів тому
Can we do it with a Arduino Uno?
@duppressor8164
@duppressor8164 3 місяці тому
Can you use this code for a RP2040? 1:34 - 5:31
@jlr3636
@jlr3636 2 місяці тому
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,
@g1expert102
@g1expert102 10 місяців тому
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 9 місяців тому
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 9 місяців тому
@@loukxo if you use the arduino leonardo then you don't need to struggle with it. You simply just type include keyboard.h
@GaryGrimtooth
@GaryGrimtooth 11 місяців тому
Does it trigger a LLHKF_INJECTED flag from windows when you send mouse clicks?
@AlexandreNOliveira
@AlexandreNOliveira 2 місяці тому
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 Місяць тому
If you are going to plug it into usb, best to use the 5v version, simplifies a lot of stuff
@AlexandreNOliveira
@AlexandreNOliveira Місяць тому
@@SimpleElectronics Thank very much for your comment!
@evdokimovm
@evdokimovm 2 місяці тому
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?
@SimpleElectronics
@SimpleElectronics 2 місяці тому
That's my understanding
@paddyh4272
@paddyh4272 9 місяців тому
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 3 місяці тому
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.
@khefer1980
@khefer1980 7 місяців тому
Can You sent compination of Ctrl+C / Ctrl+V ;-)??
@CobraFat2000
@CobraFat2000 3 місяці тому
You could always try something like: Keyboard.press(KEY_LEFT_CTRL); Keyboard.write('c'); Keyboard.release(KEY_LEFT_CTRL);
@SFoX-On-Air
@SFoX-On-Air 7 місяців тому
thats basically the way to make a rubber ducky ^^
@FPChris
@FPChris 3 місяці тому
Can you send Ctrl+Key or Middle Mouse Button + Key?
@BrightBlueJim
@BrightBlueJim 2 місяці тому
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.
@koolkidthergamer800
@koolkidthergamer800 4 місяці тому
Thanks for the tutorial now i can make a password keyboard
@vanchien5874
@vanchien5874 Рік тому
Hi, does it work for only windows? I want to simulate a mouse using this in linux. Is it possible?
@BrightBlueJim
@BrightBlueJim 2 місяці тому
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.
@bluemuffin6160
@bluemuffin6160 10 місяців тому
How is this when compared to using QMK?
@BrightBlueJim
@BrightBlueJim 2 місяці тому
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.
@tallnrough68
@tallnrough68 Рік тому
How would I make a switch open a program on my computer ?
@hoople212
@hoople212 Рік тому
could use [Windows]+r command to open run, then enter the appropriate command followed by enter?
@_BangDroid_
@_BangDroid_ 9 місяців тому
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 Рік тому
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.
@electroniquepassion
@electroniquepassion Рік тому
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 Рік тому
Je crois qu'ils sont correcte - ils n'ont pas beaucoup de lumière infrarouge ou ultraviolette!
@electroniquepassion
@electroniquepassion Рік тому
@@SimpleElectronics Ok d’accord 👍 bonne continuation
@AvitoB0T
@AvitoB0T 9 місяців тому
Вопрос: можно ли применить это к другим микроконтроллерам?
@SimpleElectronics
@SimpleElectronics 9 місяців тому
Only those that have HID capability - the RP2040 for example has it but the ATMega328p does not
@AvitoB0T
@AvitoB0T 9 місяців тому
@@SimpleElectronics извиняюсь, а на esp32 не получится?
@DNF07
@DNF07 9 місяців тому
Hello bro can any one tell me how to make joystick for keyboard with this plz help
@BrightBlueJim
@BrightBlueJim 2 місяці тому
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.
@Hoekstes
@Hoekstes 4 місяці тому
I bought a nano for this project 🤦🏻‍♂️
@CraftyUnknown
@CraftyUnknown 3 місяці тому
which one do you need?
@Hoekstes
@Hoekstes 3 місяці тому
@@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.
USB клавиатура и мышка на обычной Arduino Nano! EasyHID ч.1
8:03
Заметки Ардуинщика
Переглядів 155 тис.
船长被天使剪成光头了?#天使 #小丑 #超人不会飞
00:28
超人不会飞
Переглядів 26 млн
AGS Grading Process Overview
9:42
AGS Grading
Переглядів 36
The SMOOTHEST Macro Pad EVER! - Arduino 4x4 USB Macro Pad
16:04
Simple Electronics
Переглядів 12 тис.
I Built a 3D Printed Stream Deck for YouTube and Twitch - How It's Made
30:42
How does a USB keyboard work?
34:15
Ben Eater
Переглядів 3,1 млн
I Made the Smallest Keyboard
8:28
juskim
Переглядів 643 тис.
Launchpad || DIY or Buy || Keyboard Matrix & MIDI Tutorial
12:43
GreatScott!
Переглядів 1,1 млн
MAKE THIS BUTTON BOX | 32 FUNCTION w ENCODERS
7:38
amstudio
Переглядів 2,1 млн
Arduino vs Pico - Which is the Best Microcontroller For You?
20:38
Gary Explains
Переглядів 278 тис.
ИГРОВОЙ ПК от DEXP за 37 тысяч рублей из DNS
27:53
Ремонтяш
Переглядів 389 тис.
Самый маленький игровой ПК
0:46
ITMania - Сборка ПК
Переглядів 596 тис.
The power button can never be pressed!!
0:57
Maker Y
Переглядів 7 млн
ИГРОВОЙ ПК от DEXP за 37 тысяч рублей из DNS
27:53
Ремонтяш
Переглядів 389 тис.
УШЕЛ С iPHONE 15 PRO MAX НА PIXEL 8 PRO: ЭТО ЖЕСТЬ
32:33
Арсений Петров
Переглядів 57 тис.
Клавиатура vs геймпад vs руль
0:47
Balance
Переглядів 639 тис.