Jump to content

Hi everyone, I finally have this project at a stage worth sharing


G+_Chris O'Riley
 Share

Recommended Posts

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

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

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

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

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

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.

14505%20-%20dongle_housing.jpg

Link to comment
Share on other sites

  • 1 month later...

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.

14506%20-%20LogInDongle.jpg

Link to comment
Share on other sites

 Share

×
×
  • Create New...