G+_Chris O'Riley Posted July 31, 2018 Share Posted July 31, 2018 Hi everyone, I finally have this project at a stage worth sharing. After learning the Arduino Leonardo and Pro Micro boards could emulate USB mouse/keyboard input (thanks to the built-in USB functionality of the Atmega 32U4), I had to make something putting that to use. My son was always asking me for usernames and passwords for things like Netflix, and I had reached the point where I could no longer remember all the login details for all the sites I visit. I know there are on-line password managers, but I'm not sure I like the idea of putting all my information behind a single login, I didn't want any more monthly subscriptions, and I had a soldering iron! After prototyping it on a Pro Micro, I ordered some 32U4 chips and whipped up a PC board in Kicad. Just got them back today and soldered one up. I have to refine the code a little more and implement a better lock (there are ways to disable it without the code the way it is now), and I added a 256k EEPROM chip on this board which I'm not yet using. Also need to make a nice little housing for it. I have some ideas for automating tasks in some of the applications I use as well. I can imagine entering in blank functions and blocks of code with the click of the button if I'm programming - choose "for-loop", for example, and have it enter a standard for loop block, etc. I also want to try to have a mode where it'll just emulate a mouse moving randomly on the screen to keep Windows thinking my system is being used and not reboot when I'm away! Anyway, as soon as I have it a little more finalized, I plan to post all the files (Kicad project, gerbers, a BOM and the programming) so people can make their own if they're interested. Here's a video of it in action. It's not moving the mouse, that's just from editing the video together with a screencapture, but it does tab from the username to the password field and then input an "enter" to login. So you just click in the username field, select the site on the dongle, press the button and it logs in. Link to comment Share on other sites More sharing options...
G+_Michael Hagberg Posted July 31, 2018 Share Posted July 31, 2018 Looks like you visit the website ligin page, then scroll to select and press to push the username and password into the keyboard buffer. I think you should look into curl type command where you device posts the user name and password directly to the site url. Even push Ctrl-N for a new tab before the form post data. Link to comment Share on other sites More sharing options...
G+_Jeff Gros Posted July 31, 2018 Share Posted July 31, 2018 Hope your kid never sees this video or he'll have the code! :) +1 for sharing the project and for making something that fit your needs. You mentioned not feeling right about putting all your passwords in one place...well...that's what you just made! And that's perfect. You can load it with all the unimportant logins (Netflix, etc) give this to your son, and let him go nuts. As long as he doesn't break it. My dad was pretty mad Christmas morning when I jammed the controller into my Sega and bent the pins. Hopefully your son is gentler with electronics than I was. Link to comment Share on other sites More sharing options...
G+_Chris O'Riley Posted July 31, 2018 Author Share Posted July 31, 2018 Michael Hagberg Yea, that's how it works now, you click in the username field (most sites put the focus there, saving you even having to click), and then press the button on the dingle. Good suggestion re: curl. Memory is a bit tight so I'm not sure if I could fit entire URLs, but my prototype just uses the 32k program space available on the 32U4. Now I have access to the 256k in the EEPROM chip... just need to figure out how to use it! Never used external EEPROM before. My main purpose for the EEPROM chip is to save passwords there and have it automatically format if the wrong code is entered 3 times in a row, or something like that. Jeff Gros Ha! My son is 9, so he's not stealing my credit card and bank info... yet! ;) Yea, this does put all my passwords in one place, but it stays in my house, so if someone were to get it, it would mean we had bigger problems! On just giving it away, this isn't the first time I've had an idea, made a prototype, thought I was on to something... and then discovered that others had already beaten me to the punch. There are similar things out there, some for purchase, others open source. I think the thing that sets mine apart is how simple it is to use - just one dial with a button. The others are either way too complicated or too limited. And apart from making this for what it is, I have another idea for which I'd use a 32U4, so this was good practice basically making my own board from scratch. Link to comment Share on other sites More sharing options...
G+_Jeff Gros Posted July 31, 2018 Share Posted July 31, 2018 Chris O'Riley Reminds me of that Coin Card thing from about 5 years ago. Except that was for credit cards. Link to comment Share on other sites More sharing options...
G+_Bruno Barr Posted July 31, 2018 Share Posted July 31, 2018 Love it! Link to comment Share on other sites More sharing options...
G+_Joe Valasko Posted July 31, 2018 Share Posted July 31, 2018 Sweet project. Good luck on the finishing end of the project. Looking forward to seeing the results. Link to comment Share on other sites More sharing options...
G+_Chris O'Riley Posted July 31, 2018 Author Share Posted July 31, 2018 Here's a photo of the populated circuit board. I stuck to 0805 components so it's relatively easy to solder with an iron, and a piece of cake with hot air. Link to comment Share on other sites More sharing options...
G+_Ben Reese Posted July 31, 2018 Share Posted July 31, 2018 That's pretty awesome! I thought of doing something similar with a Pi Zero, but never got around to it. This is small, cheap, and seems to work well. I like the use of combo rotary encoder+button. Link to comment Share on other sites More sharing options...
G+_Chris O'Riley Posted July 31, 2018 Author Share Posted July 31, 2018 Thanks, yea, the cost should be around $10 give or take. You could certainly do it with a Pi Zero, and be able to make it much more advanced, but there's always the issue of boot time and not just chopping the power on a Pi. That's what I love about the Arduino-like microcontrollers - they boot in an instant and you can just chop the power any time at any point. And on the rotary encoder, that's one advantage of designing something with a young kid in mind - you have to keep it simple and easy. One knob does everything! Link to comment Share on other sites More sharing options...
G+_Mark Olson Posted August 5, 2018 Share Posted August 5, 2018 This is beautiful!!! The point is not that maybe someone else has done something similar, it is that you did this and it is great! Also: best UI for a rotary encoder ever! Link to comment Share on other sites More sharing options...
G+_Chris O'Riley Posted August 5, 2018 Author Share Posted August 5, 2018 Mark Olson Thanks Mark! Yea, I never really worry that someone else might have done something. I pretty much assume someone has! I just have an idea and see if I can build it myself just for the challenge. If it ends up being useful, there's the satisfaction of having figured it out. If not, well, I always learn something in the process. Here's a photo of it in a simple housing. I could probably shrink the size down slightly, but it's already pretty small. I 3D printed it and then sanded off the little layer lines so it's nice and smooth. Just have to finalize the code to use the EEPROM. I pretty much have it worked out in my head, just need to figure out a few details regarding splitting and combining bytes. Link to comment Share on other sites More sharing options...
G+_Chris O'Riley Posted September 9, 2018 Author Share Posted September 9, 2018 Hi Everyone, just a little update on this. I have the code working with the EEPROM chip, which should let it hold the details for about 100 logins, and that could be expanded even more with more efficient code. Also made a new slightly more compact housing. As soon as I get a chance to finish commenting the code, I'll post all the files so people can make their own. The soldering isn't too bad, I've done a few with an iron and one with hot air and, honestly, I think it's actually easier with an iron. Should be an easy project for anyone with a little experience, and a good first one for someone new to SMD work. Link to comment Share on other sites More sharing options...
G+_Joe Valasko Posted September 9, 2018 Share Posted September 9, 2018 Nicely done! Link to comment Share on other sites More sharing options...
Recommended Posts