This has become my favourite TH-cam channel. Every video is just gold. I'm going to treasure them even more with the new rate, but I totally understand slowing down. It is insane how much effort is invested here. Thanks for your work Andreas, enjoy the free time.
Adreas, have nice "holidays" in the coming two months. I am sure you will gather new ideas to surprise us, like you do every week. Many thanks for the way you always teach and inspire us!
Thank you for your nice words! Yes, I want to get a little more from summer. And I have to do more biking because I was set back because of my accident...
Index of projects for quick reference: 3:44 Project #1 (Microscope camera controlled by buttons) 6:03 Project #2 (Data logging) 6:54 Project #3 (Keyboard emulation with a wheel) 10:23 Project #4 (Smartphone automation using a button) 11:30 Project #5 (Rubber Ducky)
@@killymxi Remove the disks, cut away the part of the case that gets in the way, reassemble. Then connect the motor to a sensitive comparator circuit to use it as an encoder.
1 video every 2 weeks? Sunday is my favorite youtube day to look forward too. On the bright side, now I have more time to study for my ham license. I guess, every bad thing has a good thing :)
@@AndreasSpiess Also, USB bit-bang technique will only work on PCs with operating system. (E.g. does not work on your camera, and does not work inside PC BIOS.)
I think I would add some debounce/ detect state change code to your USB microscope script instead of the delay so that it can only trigger when transitioning from low to high and not when held high. Great video, appreciated as always!
@@AndreasSpiess Be aware of the fake chips (most of them right now) on bluepills. They have no serial boot loader installed, then you have to upload the software via stlink (at least one time for uploading maple bootloader. After this, you can upload via USB. And be aware of stlink clones. Some of them has incorrect pin markings. If it does not work, check the correct pinout directly in the board.
As always, a very inspiring video. I have recently made an ESP32 based 20 key keypad to control my OBS stream. It was your ESP32 videos that pointed me into the right direction. Also, I appreciate your jog wheel project because I am wanting to add a jog wheel to the CNC controller I'd like to build. Thanks so much!
@@codigoBinario01 I used cherry keyboard switches for my build. I have a laser cutter and engraver which helped to make the key placement exact, but a 3D printer couild do the same. I only had to purchase the diodes, the keys, and the ESP32. It's a pretty easy soldering job. the software is dead simple to adapt to your needs. I used Brian Lough's TH-cam videos on making a keypad to guide me and adapted his software with just a few changes. My first major electronic project. His is dead simple and can use one of those flat blister 12 figure flat plastic keypads. The other route is to get a bluetooth USB number keypad. Then you can make it more easily wireless which is very handy to step away from streaming computer. You can also reprogram that keypad too. Right now I am trying to figure out how to use LiFePo batteries with this and get a rechanging circuit built in to mine.
4 ปีที่แล้ว +4
Well after looking at your website it seems that TH-cam comments are the best way to reach you. I merely want to thank you so much for all the great content you have been putting out here on your channel. Though I have been messing with computers since the early 1980's, I have always only been comfortable with software. Of course I can build computers from parts, etc. But having never had a proper electronics education, I have always had some trepidation when it came to discreet electronic components and other things that involved soldering irons, blue smoke, and (seeming) black magic. But recently I have discovered the world of NodeMCU devices and decided that I should buy a soldering iron because maybe it was time to play in the hardware hacking world. Shortly after learning how to make a fun LED-strip project with a NodeMCU, logic level converter, and buck-converter, I came upon your channel here on TH-cam. I find all your videos extremely informative and fun to watch,. And they give me inspiration for future project ideas. I really especially appreciate your videos on antennas, as I have found them fascinating. I have watched many of your videos now and enjoy them very much (including the summaries at the end, by the way -- I don't skip the endings). I just want you to know that you are appreciated. So thank, you, Andreas, for all your hard work, and your fantastic presentation.
Thank you for your nice words. We are never too old to learn something new. And these days, hardware is so cheap that nearly everybody can become a "Maker". And in combination with software and Wireless, the whole thing becomes really "fun".
I would recommend you to use USB HID Touch device emulation instead of mouse (if it is possible in the driver you use), as it operates on absolute positions instead of relative movements. Also note, that HID keyboard will still just send "key IDs", this it is effected by the active keyboard layout of your operating system.
Great video as always. I just used a Joystick library on an Micro Pro to connect a Clutch Pedal that I am using in my Sim Racing, the pedal is also self made by using a potentiometer. The fact that you can connect almost any device either as a keyboard or a mouse or a joystick blew my mind at that moment.
What if I want to create a HID device that does not "mimic" an existing mouse or keyboard? I want an analog input added to my computer, but I need it to be a unique device. Would I have to create some kind of custom drivers to make that possible?
Wow! This is another video that I will save for future reference. I'm also greatful for the additional information shared in the comments. I will check out the other boards with alternative solutions as well.
Not that I have any certainty of that model, but it is sometimes possible to remove or bend the latches that stop the encoder from moving freely on #3. Then you might want to add more weight hidden in the wheel so it has more inertia. Great video!
I like command line/data piping more useful and robust compared to HID. e.g. commands can be sent to microscope directly. Or logging data by printing into a csv or tsv file.
Well deserved holidays, thank you. My two cents: - digispark is really good at this, also - at least Android smartphones understand USB HID, not only Bluetooth ones - a cool combo is using a proximity/gesture sensor instead of buttons/jogs with the MCU ...hope I'll be able to submit a pull request
Just to remark: HID Devices are a pain, if you need to route / filter keypresses to a special application. This is such a pain. There is no simple API/OS Funktion in Windows to detect which HID Device has sent the keypress. Simple to do Linux, but not in Windows. I run into this problem to build a special communication keyboard which only should send it's keypresses only to one application. There are some solutions with LUA and some Macrorecorders e.g. Auto Hot Key. A painful solution. This is the horror, when you run a multi screen environment and you like to have a special console for one app and a normal keyboard for the main screen. I build a in flight control system for quadcopters and I need 2 application which both have the same mapping of shortcuts and they do not have a configuration to change this. Final solution: One of the apps are available in linux so i run a small virtual container in seamless mode and filter the forwarded keypresses via UDEV Rules. Works well, but was a long way to build a field stable application.
You are right. The focus is always important for my examples. I read that they were able to program "invisible" injections. So they were somehow capably to do it. But I do not know how. Your solution seems to work.
Again a very enriching video, it's not only quanitity it's also quality. Thanks !! I hope you will find another few hundreds interesting topics, maybe you will build a fusion reactor in your garage ?
5:00 - It might have been easier to have it simulate a keyboard and send awkward and unused hotkeys (eg Ctrl+Alt+Shift+Win+Numpad*) then use something like AutoHotkey to catch the hotkeys and send mouse commands to the program. That way, if the layout of the program changes with an update, or your screen's DPI changes or whatever, it would be much easier to updated the text-file AHK script to compensate than to recompile and upload the Arduino sketch.
I used a Teensy 3.2 to automate some repetitive mouse move once. Was a fun little project with a touch lcd so I could set the number of times it would run the loop. Was one of my first “useful” projects
Just thinking about the jog wheel - what about using a simple rotary encoder in combination with a mechanical gear with a ratio of 1:100 (or similar). Cheap rotary encoder come with 20 or 24 impulses per full rotation ...
With the help of a Rotary encoder and an e-ink display, I am working on a wireless HID device similar to Microsoft Surface Dial. My second project will be to make a wireless button for my cat which will play cat videos on Instagram on TV 😂😁 Thanks for the wonderful content. ✨✨✨✌
Thank you Andreas , have a nice summer too ! English auto generated subtitles do not work in current video . I get dutch .. auto generated instead ! There was no problem last Sunday .
You can have alot of fun with Arduino (like) boards as HID. I use the Teensy boards for this purpose. The support of this board is really good. I build a custom "joystick" for flight simulations, including a rotary encoder for the set of the radio frequency in the sim.
Again nice Sunday morning entertainment ! So for the next coming weeks only one video every two weeks... I guess you're going on a holiday... enjoy it ! Btw, a very nice microscope camera ! Crisp clear picture ! Link ?
Thank you for your time. I have recently started going back to school. I had to start at a high-school level.due to being a drop out before I even seen orientation for the 9th grade.but I got into computers when I was on drugs. Well what I was learning about illegal software got me and a few people I use to know locked up for some time. And I learned about pentesting while taking some ethical hacking classes in prison. I'm now free sober and wanting to use everything I learned to break the law. Against crimes and up hold the law. I already know how to get around the safety nets. So I can use my knowledge to stop criminals from doing the same. And learning how to make the hardware I already have. I am working on making pen tools to catch stop or fry them when used for bad. So thank you if I succeed I'll be looking you up.
Amazing! You keep coming up with completely new projects. In this case the overlap with what I’m working on was great. I really appreciate you sharing this with us and coming up with fresh ideas for sensors and microcontrollers. Thank you!
HID is a place where CircuitPython can be a lot of fun and save time in the developpement. Take any M0 (or M4) CircuitPython board, even a Gemma or Trinked M0 and you are ready to inject USB key/mouse/media button. If you want some BLE fun, you can use any nRF52840 board and do that too (and simultaneously USB and BLE HID). I would go for the ItsyBitsy family if size matter. My usage has been to keep the computer/VDI connection alive while teleworking, jiggling the mouse in tiny circlar motion (octogonal move really) is enough to keep it alive but not disturbing for the user.
..first time ive listened to one of your vids with my new headphones.. your voice makes them vibrate in the low end range! LOL interesting project Andreas, i seen it a while back in a defcon talk
Nice video, I'll be working on a jog wheel soon. I have been working with a nextion screen for my boat to control heating, lighting, displaying engine perameters, solar charging information and a few other things using a pic chip for extra ios and solid state relays which I'll replace with latching relays to consume less power. they are really interested displays with a decent amount of processing and ios.
At 2:28 you say you can't take back control of your device if something goes wrong, but can't you add an external circuit that allows data flow one way?
@@AndreasSpiess You're welcome, I've seen a few different ways that make jog wheels click. Most can be modified to remove it. Hopefully, you get lucky and have an easy one to modify.
I also like the Digispark, which is using an Attiny85 and hacking the USB to its limits and above. So most of the time it shold work ;-). You can get these from Aliexpress for about $1.50. You can also build it yourself, if you have some Attiny85 lying around.
Stickin on windoof is the problem, but even there i think you can navigate by tab and hit by spacebar. On mac/linux i managed it to use a midi controller for all my purposes, editing pics in lightroom and photoshop. Now it’s connected to my raspi4 as controller for my lights (and some special commands...). Midi controllers comes in very different shapes and functions, work mostly as midi tunneled usb serial devices and they r very cheap. Behringer x-touch mini is my recommendation.
@@AndreasSpiess The BBC micro:bit is a small (4x5cm) board intended for educational use. Every 11 year old kid in Britain received one to use in class, starting in 2016 (over a million to date). Its based around the Nordic nRF51822 and includes bluetooth, native USB, and the thing that makes it interesting for my application, an accelerometer, two uncommitted buttons, and a 5x5 led matrix. It will even run off a pair of AA batteries, the kit includes a holder. And they are cheap, US$15, while the comparable arduino BLE nano lacks the light matrix and uncommitted buttons, for US$21. (I am trying to build a simulator for a hand bell, that could be assembled from a cheap off the shelf board, without the need for any soldering. All it would require is attaching some kind of handle, and loading software to make the thing, greatly reducing the skills needed to build yourself some. Its intended to be used with simulation software that currently just detects key presses. So I need bluetooth keyboard to press the buttons, the accelerometer to detect when you swung the bell, and the buttons/lights so you can select the note the bell will play)
I've been looking for a potentiometer-type free-wheeling rotary encoder for a long time. While you can remove the detent spring from regular rotary encoders, they're still a little stiff. The only thing I can find is the mouse wheel sensor type, which would require a bit of mechanical work, probably a 3D printer.
@@AndreasSpiess I don't either. The data sheet had very little information aside from physical sizes. I did see it has Detents, so would have to be modded. Also, Mouser marked it as Obsolete, so probably not being made any more. I'll go with an optical interrupter encoder - easy to steal out of an old or cheap mouse.
Hey. For a encoder you can use a hard drive motor. If you have keyboard connected to the Android phone, when you press control alt delete the phone will rebiot
I work with rather closed software that relies on very very slow mouse inputs, a few key combinations, and best yet command line for efficient inputs without (easily) misclicking on stuff. They won't lets us write macros on the computer for those commands as the software is security conscious. I want to build a macro keyboard for the most common commands to turn the dozens-of-times-per-day used commands that are 5-30 keystrokes into a single physical macro button.
is the github repo set to private? it's not showing up on your list of repos. anyway, good stuff, foot pedals and wheels are very handy for a lot of computer tasks (video/audio editing, graphic design, 3d modelling...), and depending on your use case this is probably easier than setting up and using MIDI devices.
@@AndreasSpiess Most interfaces support using the Tab key to switch / cycle through the available buttons. This way it would not matter where the window is on the screen as long as it is in the foreground.
@@AndreasSpiess Yes, I just saw the product video of the microscope to get a better sense of the controls - it seems your solution is as good as it gets.
Wieder einmal ein Klasse Video in gewohnter Qualität von Dir :-) Könntest Du irgendwann auch mal etwas zu LCD Menüs mit dem Arduino machen? Würde mich sehr interessieren, wie da Deine herangehensweise ist.
Thank you very much for your again excellent video. In this video I saw that you are using winSCP; I am not anymore. A few weeks ago I was looking for a bottleneck in a transfer of larger files. I noticed that the communication with SCP via winSCP is extremely slow. Still slow with SFTP via winSCP. SFTP via Filezilla met my expectations. Since you always allow ssh access to a device, SFTP works without additional installations. I wish everyone a nice summer :-)
I also just started "microscope hacking". I started out with mounting an old v1.2 Raspberry Pi camera to a toy microscope. By now I designed a custom adapter to mount DIN objectives to the CS mount of the HQ camera, and the image quality is phenomenal... I'm focusing on biological samples though.
Sounds interesting. If you understand optics it should be possible to adjust the distances etc. Mine has autofocus, which is quite handy for my application.
@@AndreasSpiess It's a mess so far. I kept it very simple, just screw it on, same distance for all three objectives, then I have to adjust the distance to the object. I'm currently looking at the OpenFlexure models to see if I can build a motorized stage...
So if your pro micro is programmed to now be a HID device, how do you get an updated sketch on it? Googling suggests the bootloader gets activated for a very short duration on reset and for longer if you "double reset" Is that true Andreas?
For project number 4, how can i make a button stay ON if I press the button, and OFF when i release it? Its because when I try to hold the button to stay on, it only send 1 command at a time. (Its for a push to talk project).
@@AndreasSpiess i dont know how to make an input of a keypad stays on, so i decided to just use simple push buttons. So far so good, ill expand it more in the future. Heres the code: #include BleKeyboard bleKeyboard("BLE Macro Keyboard", "NATHLUKE"); const int button1 = 17; const int button2 = 16; int buttonstate1 = 0; int buttonstate2 = 0; void setup() { Serial.begin(9600); bleKeyboard.begin(); pinMode(17, INPUT_PULLUP); pinMode(16, INPUT_PULLUP); } void macrokeyhere (uint8_t key){bleKeyboard.press(key); } void loop (){ buttonstate1 = digitalRead(button1); buttonstate2 = digitalRead(button2); if (buttonstate1 == LOW){macrokeyhere(KEY_LEFT_ALT); Serial.println("Button1 is Pressed");} if (buttonstate2 == LOW){macrokeyhere(KEY_LEFT_CTRL);Serial.println("Button2 is Pressed");} else {bleKeyboard.releaseAll();} }
i made a remote controller for my VLC and Netflix using a rubber docky, IR receptor, and a random remote i had laying around. also create a few keyboard shortcuts i could fire from the remote while sitting on the other side of the room.
That rubber ducky reminded me of a thing I made about 12 years ago... an attiny85 on a piece of stripboard that also was used as usb connector. And the only thing it did, was running a modified v-usb example to randomly press capslock. It was a single use item, because after successful use it destroyed and thrown out of the window by its victim. ;)
By the way, it is possible to make usb a little bit more secure by not allowing every device. There are tools like this: usbguard.github.io/ (On Debian and Debian based Linux Distributions it is just an "apt install usbguard" away)
@@AndreasSpiess I searched a bit and I found remains of it on an old archive disk! It was 10 years ago and not 12. And it was this thing: imakeprojects.com/Projects/haunted-usb-cable/ And the only modification to the code was that I limited it to Caps Lock because Keys like "space" were too dangerous. ("rm -rf /var/cache/something/*" could become "rm -rf / var/cache/something/*")). And yes, it was fun for everyone but the poor victim. ;)
Just to make it clear, this is not my website and I just used their code and schematic. What I found on my archive was the downloaded code and the modified version. I used this to find the above mentioned website. And yes, their idea and presentation was very good (but the code was a bit too dangerous, space or enter keys can be bad when they meet a root shell).
This has become my favourite TH-cam channel. Every video is just gold.
I'm going to treasure them even more with the new rate, but I totally understand slowing down. It is insane how much effort is invested here.
Thanks for your work Andreas, enjoy the free time.
already is one of my favs!.. make sure to hit the bell icon and select ALL.. so you too can sit in the front row! :P
Glad you like them! You are right, some effort goes into the videos ...
Adreas, have nice "holidays" in the coming two months. I am sure you will gather new ideas to surprise us, like you do every week. Many thanks for the way you always teach and inspire us!
Thank you for your nice words! Yes, I want to get a little more from summer. And I have to do more biking because I was set back because of my accident...
@@AndreasSpiess 0
Index of projects for quick reference:
3:44 Project #1 (Microscope camera controlled by buttons)
6:03 Project #2 (Data logging)
6:54 Project #3 (Keyboard emulation with a wheel)
10:23 Project #4 (Smartphone automation using a button)
11:30 Project #5 (Rubber Ducky)
Thank you!
There was a great deal of that which reqires re-watching, probably a few times. Thanks for the inspiration.
Glad you enjoyed it!
Exactly what I am working on right now with a 'rubber ducky' and nextion display for a zoom-conference keypad :-)
Thanks Andreas!
Cool project! You have to share it!
This man deserves much more subscribers. Excellent and high quality content
Thank you. Working on it!
Just like all the other videos, you are informative and straight to the point, no BS included! I love all of your videos Andreas! Thank you again!
Thank you! And have a nice summer!
Idea for a rotary encoder: An old hard-disk from a laptop. GreatScott did a video about that...
I got this tip a few times. I have to try it once. Thanks!
It's getting tricky to source a suitable HDD - for a long time already they are cost-optimized, so the motor is a part of the chassis.
@@AndreasSpiess Here's the video from GreatScott: th-cam.com/video/tjCJ3MlFt7g/w-d-xo.html
@@killymxi Remove the disks, cut away the part of the case that gets in the way, reassemble. Then connect the motor to a sensitive comparator circuit to use it as an encoder.
I wanted to suggest the same solution, but I was sure someone else already did it.
1 video every 2 weeks? Sunday is my favorite youtube day to look forward too.
On the bright side, now I have more time to study for my ham license.
I guess, every bad thing has a good thing :)
I hope you will get your license soon!
Also note the AtTiny85 in the Adafruite-Trinket / Digispark projects as cheap programmable USB HID devices.
True. I just do not have one...
@@AndreasSpiess Also, USB bit-bang technique will only work on PCs with operating system. (E.g. does not work on your camera, and does not work inside PC BIOS.)
I think I would add some debounce/ detect state change code to your USB microscope script instead of the delay so that it can only trigger when transitioning from low to high and not when held high. Great video, appreciated as always!
Good tip!
How's it that everytime I think of doing something, you come up with the solution for the exact problem
I don't know why atmega32 is so expensive. Stm32f103 (blue pill) is far more cheap, powerful, and can emulate many usb devices even audio or storage.
Maybe I will have a look at the bluepill in the near future...
@@Chris-rg6nm "Big Arduino" 🤣 I may have to steal that.
@@AndreasSpiess Be aware of the fake chips (most of them right now) on bluepills. They have no serial boot loader installed, then you have to upload the software via stlink (at least one time for uploading maple bootloader. After this, you can upload via USB.
And be aware of stlink clones. Some of them has incorrect pin markings. If it does not work, check the correct pinout directly in the board.
@@anvz6 also the watchdog timer is disabled in some counterfeit chips.
@@anvz6 Can you tell us who sells real Bluepills ? I have never received fake chips but has only purchased ca 20 boards.
As always, a very inspiring video. I have recently made an ESP32 based 20 key keypad to control my OBS stream. It was your ESP32 videos that pointed me into the right direction. Also, I appreciate your jog wheel project because I am wanting to add a jog wheel to the CNC controller I'd like to build. Thanks so much!
You are welcome!
Seeing this working would be really interesting for me, since I use OBS for teaching purposes (avoiding post-production due to time limitations)
@@codigoBinario01 I used cherry keyboard switches for my build. I have a laser cutter and engraver which helped to make the key placement exact, but a 3D printer couild do the same. I only had to purchase the diodes, the keys, and the ESP32. It's a pretty easy soldering job. the software is dead simple to adapt to your needs. I used Brian Lough's TH-cam videos on making a keypad to guide me and adapted his software with just a few changes. My first major electronic project. His is dead simple and can use one of those flat blister 12 figure flat plastic keypads. The other route is to get a bluetooth USB number keypad. Then you can make it more easily wireless which is very handy to step away from streaming computer. You can also reprogram that keypad too. Right now I am trying to figure out how to use LiFePo batteries with this and get a rechanging circuit built in to mine.
Well after looking at your website it seems that TH-cam comments are the best way to reach you. I merely want to thank you so much for all the great content you have been putting out here on your channel. Though I have been messing with computers since the early 1980's, I have always only been comfortable with software. Of course I can build computers from parts, etc. But having never had a proper electronics education, I have always had some trepidation when it came to discreet electronic components and other things that involved soldering irons, blue smoke, and (seeming) black magic. But recently I have discovered the world of NodeMCU devices and decided that I should buy a soldering iron because maybe it was time to play in the hardware hacking world. Shortly after learning how to make a fun LED-strip project with a NodeMCU, logic level converter, and buck-converter, I came upon your channel here on TH-cam. I find all your videos extremely informative and fun to watch,. And they give me inspiration for future project ideas. I really especially appreciate your videos on antennas, as I have found them fascinating. I have watched many of your videos now and enjoy them very much (including the summaries at the end, by the way -- I don't skip the endings). I just want you to know that you are appreciated. So thank, you, Andreas, for all your hard work, and your fantastic presentation.
Thank you for your nice words. We are never too old to learn something new. And these days, hardware is so cheap that nearly everybody can become a "Maker". And in combination with software and Wireless, the whole thing becomes really "fun".
Quality over quantity. Two videos a month is fine by me.
Thank you! I have to get a little more outside this summer...
I would recommend you to use USB HID Touch device emulation instead of mouse (if it is possible in the driver you use), as it operates on absolute positions instead of relative movements. Also note, that HID keyboard will still just send "key IDs", this it is effected by the active keyboard layout of your operating system.
For PCs this is a much better idea. However, this software runs on the camera and it probably only understands "mouse"
Great video as always. I just used a Joystick library on an Micro Pro to connect a Clutch Pedal that I am using in my Sim Racing, the pedal is also self made by using a potentiometer. The fact that you can connect almost any device either as a keyboard or a mouse or a joystick blew my mind at that moment.
True. It is a simple and efficient solution to many problems.
What if I want to create a HID device that does not "mimic" an existing mouse or keyboard? I want an analog input added to my computer, but I need it to be a unique device. Would I have to create some kind of custom drivers to make that possible?
The Pi zero with ALOA is a great bit of kit for HID
Great video, thank you for another education in tech.
Good addition. Thank you!
Have a very good summer Andreas! & you all guys...
Thank you. You too!
I will create a REALLY BIG Ctrl+c ,Ctrl+v & stackoverflow button
Thank you Andress
Sounds great!
PUSH IN CASE OF EMERGENCY 😁
Wow! This is another video that I will save for future reference. I'm also greatful for the additional information shared in the comments. I will check out the other boards with alternative solutions as well.
Together we are strong!
your videos are great Andreas thank you for all the hard work and time doing this!
My pleasure! Glad you like them.
Likes your channel, its content, your voice, your humor and what you do.
Why do I feel some frustration in this video?
No idea ;-) Have a nice summer!
Not that I have any certainty of that model, but it is sometimes possible to remove or bend the latches that stop the encoder from moving freely on #3. Then you might want to add more weight hidden in the wheel so it has more inertia.
Great video!
Maybe I have to sacrifice one and open it...
For this channel thumb up is an understatement. Wonderful button is needed. Here you learn so much with fun.
Thank you for your nice words! I am proud to have such subscribers!
interesting ideas, indeed! thanks Andreas and have a nice summer!
Thanks, you too!
I like command line/data piping more useful and robust compared to HID. e.g. commands can be sent to microscope directly. Or logging data by printing into a csv or tsv file.
You are right if things are connected to a PC
Nice video. Have a nice holiday. This video is very useful for my DIY HMI Keypad project. Thanks,
Andreas, I am using a Griffin Powermate as USB volume knob for years now - it is working perfectly! A bluetooth version is available as well.
Thanks for the tip and for sharing your experience!
Well deserved holidays, thank you.
My two cents:
- digispark is really good at this, also
- at least Android smartphones understand USB HID, not only Bluetooth ones
- a cool combo is using a proximity/gesture sensor instead of buttons/jogs with the MCU ...hope I'll be able to submit a pull request
Cool. I wait for your request. Digisparks were mentioned quite a few times. I do not own one...
Very good project 👍
Many thanks
thanks for all, what do you think of this; Contour Design Shuttle Express , kind regards
Nice product. Thank you for the link!
I used the digispark which has a attiny85, and can do usb hid for keyboard and mouse
Also a good choice. Maybe a little (too) limited for some projects.
You can also send a tab + enter keys, should be easier
For the camera? I am not sure it understands keystrokes. The software runs in the camera.
Just to remark: HID Devices are a pain, if you need to route / filter keypresses to a special application. This is such a pain. There is no simple API/OS Funktion in Windows to detect which HID Device has sent the keypress. Simple to do Linux, but not in Windows. I run into this problem to build a special communication keyboard which only should send it's keypresses only to one application. There are some solutions with LUA and some Macrorecorders e.g. Auto Hot Key. A painful solution. This is the horror, when you run a multi screen environment and you like to have a special console for one app and a normal keyboard for the main screen. I build a in flight control system for quadcopters and I need 2 application which both have the same mapping of shortcuts and they do not have a configuration to change this. Final solution: One of the apps are available in linux so i run a small virtual container in seamless mode and filter the forwarded keypresses via UDEV Rules. Works well, but was a long way to build a field stable application.
You are right. The focus is always important for my examples. I read that they were able to program "invisible" injections. So they were somehow capably to do it. But I do not know how. Your solution seems to work.
Again a very enriching video, it's not only quanitity it's also quality. Thanks !! I hope you will find another few hundreds interesting topics, maybe you will build a fusion reactor in your garage ?
:-)) For my Harley. Would be cool.
Cool projects, thank you Andreas. I don't remember how was the frequency of your videos, but I think 1vid weekly is a good frequency.
It is every Sunday 9am my time.
You deserve a break over the summer! :-)
Thank you!
5:00 - It might have been easier to have it simulate a keyboard and send awkward and unused hotkeys (eg Ctrl+Alt+Shift+Win+Numpad*) then use something like AutoHotkey to catch the hotkeys and send mouse commands to the program. That way, if the layout of the program changes with an update, or your screen's DPI changes or whatever, it would be much easier to updated the text-file AHK script to compensate than to recompile and upload the Arduino sketch.
This camera runs its own software and only has a mouse input. I do not assume it understands keys, but I did not try it.
I used a Teensy 3.2 to automate some repetitive mouse move once. Was a fun little project with a touch lcd so I could set the number of times it would run the loop. Was one of my first “useful” projects
I can imagine it was useful!
Just thinking about the jog wheel - what about using a simple rotary encoder in combination with a mechanical gear with a ratio of 1:100 (or similar). Cheap rotary encoder come with 20 or 24 impulses per full rotation ...
Good idea. That is maybe what is inside my jog wheel ;-) Maybe I have to open it once.
With the help of a Rotary encoder and an e-ink display, I am working on a wireless HID device similar to Microsoft Surface Dial.
My second project will be to make a wireless button for my cat which will play cat videos on Instagram on TV 😂😁
Thanks for the wonderful content. ✨✨✨✌
She will love your project, I am sure!
Thank you Andreas , have a nice summer too ! English auto generated subtitles do not work in current video . I get dutch .. auto generated instead ! There was no problem last Sunday .
I deleted Duch now. I do not know why it was there. Maybe because of my accent ;-)
I play even your newest videos on 1.5x xD
So you must be a bright guy ;-)
@@AndreasSpiess I just can just listen faster.
If you can take apart the rotary encoder, the detent is usually just a ball bearing. Remove it and the wheel will spin freely.
Thank you. I will try it!
You can have alot of fun with Arduino (like) boards as HID. I use the Teensy boards for this purpose. The support of this board is really good.
I build a custom "joystick" for flight simulations, including a rotary encoder for the set of the radio frequency in the sim.
Do you have instruction guides?
Nice project. Many other viewers suggested to use a Teensy for that purpose.
Again nice Sunday morning entertainment ! So for the next coming weeks only one video every two weeks... I guess you're going on a holiday... enjoy it !
Btw, a very nice microscope camera ! Crisp clear picture ! Link ?
Enjoy your summer, too! This is the microscope: s.click.aliexpress.com/e/_dXtDOHq and s.click.aliexpress.com/e/_dZpEeUM
Love the channel my Swiss friend. Really good projects 👍🏻❤️
Thank you!
Thank you for your time. I have recently started going back to school. I had to start at a high-school level.due to being a drop out before I even seen orientation for the 9th grade.but I got into computers when I was on drugs. Well what I was learning about illegal software got me and a few people I use to know locked up for some time. And I learned about pentesting while taking some ethical hacking classes in prison. I'm now free sober and wanting to use everything I learned to break the law. Against crimes and up hold the law. I already know how to get around the safety nets. So I can use my knowledge to stop criminals from doing the same. And learning how to make the hardware I already have. I am working on making pen tools to catch stop or fry them when used for bad. So thank you if I succeed I'll be looking you up.
Cool! Using what you have learned is always good and much faster than learning new things. And in your case, your history might even add credibility.
Amazing! You keep coming up with completely new projects. In this case the overlap with what I’m working on was great. I really appreciate you sharing this with us and coming up with fresh ideas for sensors and microcontrollers. Thank you!
Glad it helped you. This should be the purpose of my videos.
HID is a place where CircuitPython can be a lot of fun and save time in the developpement.
Take any M0 (or M4) CircuitPython board, even a Gemma or Trinked M0 and you are ready to inject USB key/mouse/media button.
If you want some BLE fun, you can use any nRF52840 board and do that too (and simultaneously USB and BLE HID). I would go for the ItsyBitsy family if size matter.
My usage has been to keep the computer/VDI connection alive while teleworking, jiggling the mouse in tiny circlar motion (octogonal move really) is enough to keep it alive but not disturbing for the user.
Thank you for the tips. Micropython is on my list...
..first time ive listened to one of your vids with my new headphones.. your voice makes them vibrate in the low end range! LOL
interesting project Andreas, i seen it a while back in a defcon talk
The topics are not new, but I wanted to put them a little together for reference...
Andreas, can you please share the link to the inspection camera at 3:48? Thanks in advance!
It should be there by now.
Thanks sir, for your great efforts
You are really a great teacher.
It's my pleasure
Don't know if someone mentioned it before, but the Digispark could be a alternative to the Rubber Ducky. It's also able to emulate keystrokes.
You are right. It was mentioned a few times.
Nice video, I'll be working on a jog wheel soon. I have been working with a nextion screen for my boat to control heating, lighting, displaying engine perameters, solar charging information and a few other things using a pic chip for extra ios and solid state relays which I'll replace with latching relays to consume less power. they are really interested displays with a decent amount of processing and ios.
The Nextions for sure are nice for such an application because you can make them also good looking...
Real helpful tutorial! Just subscribed!
Welcome aboard the channel!
A BM jog wheel clone, Thank you Andreas, this is just what I need for DR16
Glad you like it!
Your are expanding my time with your very helpful information, alot of thanks
You are welcome!
At 2:28 you say you can't take back control of your device if something goes wrong, but can't you add an external circuit that allows data flow one way?
As I said: You can unplug the device. Or switch it off. Of course you can add something to disconnect the data lines, too.
thank
Very I3 (interesting, inspiring, improving) and enjoy your vacation 🙏🏾
Thank you! Will do! I hope you also have time for holidays!
7:55 Great Scott made a video how to use a hhd motor as a rotary encoder. He gots preety much the same issue.
Somebody posted a link. A great video!
You can probably disassemble the jog wheel and remove the Ball bearing that “clicks” into a dimple to get smooth free spin movement.
Thanks for the tip. I will have a look.
@@AndreasSpiess You're welcome, I've seen a few different ways that make jog wheels click. Most can be modified to remove it. Hopefully, you get lucky and have an easy one to modify.
Great projects
Thanks for sharing 👍😀
You are welcome!
I also like the Digispark, which is using an Attiny85 and hacking the USB to its limits and above. So most of the time it shold work ;-). You can get these from Aliexpress for about $1.50. You can also build it yourself, if you have some Attiny85 lying around.
You are right. I knew them, but never tried one.
Stickin on windoof is the problem, but even there i think you can navigate by tab and hit by spacebar. On mac/linux i managed it to use a midi controller for all my purposes, editing pics in lightroom and photoshop. Now it’s connected to my raspi4 as controller for my lights (and some special commands...). Midi controllers comes in very different shapes and functions, work mostly as midi tunneled usb serial devices and they r very cheap. Behringer x-touch mini is my recommendation.
we should al enjoy the (beautiful) weather outside so no problem that there's not a weekly video in July and August!
Thank you! I enjoyed this "free" weekend...
This is helpful. Do you know if the keyboard library works with a bbc micro:bit?
I fo not know the micro bit :-(
@@AndreasSpiess The BBC micro:bit is a small (4x5cm) board intended for educational use. Every 11 year old kid in Britain received one to use in class, starting in 2016 (over a million to date). Its based around the Nordic nRF51822 and includes bluetooth, native USB, and the thing that makes it interesting for my application, an accelerometer, two uncommitted buttons, and a 5x5 led matrix. It will even run off a pair of AA batteries, the kit includes a holder. And they are cheap, US$15, while the comparable arduino BLE nano lacks the light matrix and uncommitted buttons, for US$21.
(I am trying to build a simulator for a hand bell, that could be assembled from a cheap off the shelf board, without the need for any soldering. All it would require is attaching some kind of handle, and loading software to make the thing, greatly reducing the skills needed to build yourself some. Its intended to be used with simulation software that currently just detects key presses. So I need bluetooth keyboard to press the buttons, the accelerometer to detect when you swung the bell, and the buttons/lights so you can select the note the bell will play)
Good luck with your project.
The Good. the Bad and the Ugly 🤣👍 One of the best Westerns! Nice Holidays!
Thank you!
I've been looking for a potentiometer-type free-wheeling rotary encoder for a long time. While you can remove the detent spring from regular rotary encoders, they're still a little stiff. The only thing I can find is the mouse wheel sensor type, which would require a bit of mechanical work, probably a 3D printer.
Somebody suggested a SRGPHJ3200. I do not know if it is any good.
@@AndreasSpiess I don't either. The data sheet had very little information aside from physical sizes. I did see it has Detents, so would have to be modded. Also, Mouser marked it as Obsolete, so probably not being made any more. I'll go with an optical interrupter encoder - easy to steal out of an old or cheap mouse.
I ordered one of those "obsolete" ones...
Some of these kinds of UI problems can be solved in PC software, using open source tools like AutoHotKey.
Unfortunately, this software only runs in the camera. For the PC you are right. AutoHotKey is a very good tool.
Hey. For a encoder you can use a hard drive motor. If you have keyboard connected to the Android phone, when you press control alt delete the phone will rebiot
Thanks for the two tips!
Love the videos from the guy you used has example for bluetooth hid, he is very funny
Thank you!
for the microscope project, a simple pyautogui script on the pc should give you a nifty control of the targetsoftware 😉
It has no connection to a PC. Just HDMI for a monitor
Next step an Alexa, Siri, or hey google interface?
Many thanks for the interesting video. I think that some of your tips gave me some ideas of my own. Maybe I can implement them in my own projects.
Enjoy your projects! This was the goal of my video...
I work with rather closed software that relies on very very slow mouse inputs, a few key combinations, and best yet command line for efficient inputs without (easily) misclicking on stuff. They won't lets us write macros on the computer for those commands as the software is security conscious. I want to build a macro keyboard for the most common commands to turn the dozens-of-times-per-day used commands that are 5-30 keystrokes into a single physical macro button.
That sounds like an excellent application!
Link for microscope doesn't include the lens, is it standard lens or have to buy specifically for this microscope?
I thought I added two links?
@@AndreasSpiess Yes, but in your lenses-link are several versions listed, which type did you choose? (gain-factor)
@@AndreasSpiess Saw it, Thanks :)
I have the 120x
The Pro Micro looks Similiar to AtTiny85 8bit MCU which also supports some HID usage.
True. Just more pins, memory, and power.
is the github repo set to private? it's not showing up on your list of repos.
anyway, good stuff, foot pedals and wheels are very handy for a lot of computer tasks (video/audio editing, graphic design, 3d modelling...), and depending on your use case this is probably easier than setting up and using MIDI devices.
Updated. Thanks!
Good morning, did you try tabs instead of mouse emulation for the microsope?
No. Do you know more?
@@AndreasSpiess Most interfaces support using the Tab key to switch / cycle through the available buttons. This way it would not matter where the window is on the screen as long as it is in the foreground.
This software runs in the camera. It only has a mouse and no keyboard. So I assumed nobody brogrammed keys. At least it is not documented.
@@AndreasSpiess Yes, I just saw the product video of the microscope to get a better sense of the controls - it seems your solution is as good as it gets.
If you simulate it pressing windows + print screen, you get a screenshot button, preferable as a foot pedal
Good idea. Especially for me as a TH-camr. Thanks!
@@AndreasSpiess forgot to tell that they automatically get sorted into a folder inside of your windows default 'picture' folder
Wieder einmal ein Klasse Video in gewohnter Qualität von Dir :-) Könntest Du irgendwann auch mal etwas zu LCD Menüs mit dem Arduino machen? Würde mich sehr interessieren, wie da Deine herangehensweise ist.
Da müsste ich ein entsprechendes Projekt haben... Aber da gibt es schon viele Videos.
Amazing video! Thanks!
Glad you liked it!
Thank you very much for your again excellent video.
In this video I saw that you are using winSCP; I am not anymore.
A few weeks ago I was looking for a bottleneck in a transfer of larger files.
I noticed that the communication with SCP via winSCP is extremely slow. Still slow with SFTP via winSCP. SFTP via Filezilla met my expectations. Since you always allow ssh access to a device, SFTP works without additional installations.
I wish everyone a nice summer :-)
Thanks for the tip. I do not use it often and only for very short scripts. So I did nor recognize it.
3 great exports form Switzerland: (ex-)cyclist Fabian Cancellara, electropop group Yello and ... (bi)weekly videos from Andreas :p Enjoy your holiday!
To be named in one line with Cancellara and Yello is a real honor for me. Thank you.
Great Work! Very useful!
Glad you think so!
I also just started "microscope hacking". I started out with mounting an old v1.2 Raspberry Pi camera to a toy microscope. By now I designed a custom adapter to mount DIN objectives to the CS mount of the HQ camera, and the image quality is phenomenal... I'm focusing on biological samples though.
Sounds interesting. If you understand optics it should be possible to adjust the distances etc. Mine has autofocus, which is quite handy for my application.
@@AndreasSpiess It's a mess so far. I kept it very simple, just screw it on, same distance for all three objectives, then I have to adjust the distance to the object. I'm currently looking at the OpenFlexure models to see if I can build a motorized stage...
Excellent! Thanks Swiss accent guy!
You're welcome!
Interesting video... Just wonder that changing(DIYing) bluetooth 3.0 device to 5.0 is possible or not.
I do not think so.
So if your pro micro is programmed to now be a HID device, how do you get an updated sketch on it?
Googling suggests the bootloader gets activated for a very short duration on reset and for longer if you "double reset"
Is that true Andreas?
For me it worked as usual. I did not do anything different
New project suggestion: Adding Amp and BT connectivity to your favorite old school wired (non-powered) speakers.
I do not have such speakers :-(
@@AndreasSpiess wow! I have a pair of JBL Studio Monitors that are lonely and need repurposing in a BT world.
Similar to the Rubber Ducky, there is also Bad USB, which can also come with WiFi, when an ESP8266 is added, aka WiFi Ducky.
Never heard about the WiFi version. Thanks!
For project number 4, how can i make a button stay ON if I press the button, and OFF when i release it? Its because when I try to hold the button to stay on, it only send 1 command at a time. (Its for a push to talk project).
I do not remember the details. But I assume it can be done by simple programming logic.
@@AndreasSpiess hymm, ill try to work on it on my own. Thanks 👍👍
@@AndreasSpiess i dont know how to make an input of a keypad stays on, so i decided to just use simple push buttons. So far so good, ill expand it more in the future. Heres the code:
#include
BleKeyboard bleKeyboard("BLE Macro Keyboard", "NATHLUKE");
const int button1 = 17;
const int button2 = 16;
int buttonstate1 = 0;
int buttonstate2 = 0;
void setup() {
Serial.begin(9600);
bleKeyboard.begin();
pinMode(17, INPUT_PULLUP);
pinMode(16, INPUT_PULLUP);
}
void macrokeyhere (uint8_t key){bleKeyboard.press(key); }
void loop (){
buttonstate1 = digitalRead(button1);
buttonstate2 = digitalRead(button2);
if (buttonstate1 == LOW){macrokeyhere(KEY_LEFT_ALT); Serial.println("Button1 is Pressed");}
if (buttonstate2 == LOW){macrokeyhere(KEY_LEFT_CTRL);Serial.println("Button2 is Pressed");}
else {bleKeyboard.releaseAll();}
}
How about putting your laser cutter to work and make a hall effect based jog wheel?
Possible. But I have no such laser :-(
i made a remote controller for my VLC and Netflix using a rubber docky, IR receptor, and a random remote i had laying around.
also create a few keyboard shortcuts i could fire from the remote while sitting on the other side of the room.
Very cool!
"HID devices"
"Human interface device devices"
True
Lcd display : liquid crystal display display
That rubber ducky reminded me of a thing I made about 12 years ago... an attiny85 on a piece of stripboard that also was used as usb connector. And the only thing it did, was running a modified v-usb example to randomly press capslock. It was a single use item, because after successful use it destroyed and thrown out of the window by its victim. ;)
By the way, it is possible to make usb a little bit more secure by not allowing every device. There are tools like this: usbguard.github.io/
(On Debian and Debian based Linux Distributions it is just an "apt install usbguard" away)
Thanks for the link. And this was a funny project, I am sure...
@@AndreasSpiess I searched a bit and I found remains of it on an old archive disk! It was 10 years ago and not 12. And it was this thing: imakeprojects.com/Projects/haunted-usb-cable/
And the only modification to the code was that I limited it to Caps Lock because Keys like "space" were too dangerous. ("rm -rf /var/cache/something/*" could become "rm -rf / var/cache/something/*")).
And yes, it was fun for everyone but the poor victim. ;)
Very good idea and presentation! Maybe for Halloween ;-)
Just to make it clear, this is not my website and I just used their code and schematic.
What I found on my archive was the downloaded code and the modified version. I used this to find the above mentioned website.
And yes, their idea and presentation was very good (but the code was a bit too dangerous, space or enter keys can be bad when they meet a root shell).
Thanks for your great videos. Just a question: the github link returns 404 - is this an error on my side ?
You are right. It was private. Now it is ok.