[Jarunzel] needed a device that would automatically click the left button on a mouse at a pre-set interval. For regular Hackaday readers, this is an easy challenge. You could do it with an ATtiny85 using the VUSB library, a few resistors and diodes, and a bit of code that emulates a USB device that constantly sends mouse clicks over USB every few seconds. You could also do it with a Raspberry Pi Zero, using the USB gadget protocol. Now, this mouse-clicking gadget would be connected to the Internet (!), programmable with Node or whatever the kids are using these days, and would have some major blog cred. If you’re feeling adventurous, this mouse clicker gadget could be built with an STM32, Cypress PSoC, or whatever microcontroller you have in your magical bag of hacker tricks.
Then again, you could also do it with a 555 timer.
The reason [Jarunzel] couldn’t use any of the fancy hackertools for this build is because the system wouldn’t accept two mouse devices. No matter, because Maplin has a neat kit with a 555 timer and a relay. The relay is wired up across the microswitch in the mouse, and setting the values correctly makes the mouse click about once per second, with a click duration of about 100ms. Good enough.
With the kit built, wired into the mouse, a small app built to test the device, and a nice project box constructed, [Jarunzel] had exactly what he needed. There’s even a video of this mouse clicker in action. You can check out that riveting footage below.
No, a REAL hack would have been a small high-geared motor with a cam that periodically closes the switch manually.
(runs for the hills)
…all made out of wood.
No, Sugru or JB Weld.
And definitely not on a premade board. I expected the minimum on a perfboard or preferably a breadboard. 1/10
Lego, the almost solution to everything.
I can say that the Lego solution does work. Did it to automate the fishing skill in Everquest, way back when. Not only would it click the mouse button (cam on a hardwired remote switch), but it would press two different keyboard keys in a set sequence.
https://web.archive.org/web/20061229151808/http://www.psychicgoldfish.com:80/sub_page/whatido/keybot.htm
only if the motor is steam powered or a sterling engine running off of heat from a big old lump of plutonium.
plutonium would make it too “Atomic Age”, so I’d like to see more atomic energy hacks
This is exactly what I did about 20 years ago, but as I needed to move the cursor instead of clicking, I connected the motor to the rollers.
LOL, I kinda almost did this back in 1999. Back when i was in college, and before the original “dot com” bubble had burst, I was paying for my internet service on my very limited college budget with some now long defunct company’s service called “All Advantage”. The concept, was you downloaded their app, and ran it above or below your browser’s window. It would display rotating banner ads, and as long as you were actively browsing, it logged ad views, and paid for them.
Being the honest hacker dude™ I was… I took the eject motor from a Mac floppy drive, attached a bent paperclip to the cam, fed it into the gap between the mouse button and the mouse body, and placed the mouse in a “cage” to keep it from rolling off the desk. I then set up three free internet homepage accounts, and created hidden pages (unlinked by the index page) that auto-redirected after 15-30 seconds to the next page… They did this in a loop. The app just saw my mouse continually moving, and me loading new web pages every so often… I could rack up all my ad views while I was taking classes, and shut down the app when I was legit browsing.
The icing on the cake? I ran a Mac, and the first few months, there was no Mac app. I was running a PC emulator, running Windows 98 on the emulator, and running Explorer for Windows on the emulator… Eventually they released a Mac version of the app, and I was able to eliminate that one extra step.
You do what you gotta do when you live on ramen and mac & cheese between classes!
I also wonder why the dot com bubble burst back then… >_>
Yeah. Theft is great. Good for you.
He came up with a clever way to exploit a stupid money making idea. He didn’t steal anything. It couldn’t be proven that he did anything wrong, and he complied with the rules. There just wasn’t anyone there to see the ads.
Example of understanding the letter, but forgoing the spirit. That’s OK, we as a species don’t deserve nice things.
You could do it entirely in software with AutoHotkeys, which is q scripting language that lets you automate button presses.
Was he using Windows? It’s possible that whatever disallowed a separate HID also disallowed a software solution.
No Arduino or LEDs. Fail.
There IS a LED :-P
Anything with a 555 automatically qualifies as a hack and has for 45 years.
1++
Failure to identify red and green indicators in the picture as LEDs… FAIL.
Years ago I had a game on my commodre 64 which required rapid pressing of the fire button. I was using an Atari 2600 joystick so used a 555 timer to rapid fire the button. The big base of those 2600 joysticks I was able to fit in the 555, a pot to adjust the speed and a normal/rapid switch.
I think the joke (and troll possibly) of Brian was saying ‘finally’ about something that is as old as the road to Rome.
and the use of a ready-made relay kit is also a subtle troll.
Maybe he”s getting TOO good for this crowd?
I love that as a solution. I have an NES controller I modded many years back with a 555 to rapidly press buttons so we could finally win some stupid Olympics game. People should use 555s more often.
Probably Track & Field II, the game that kills your thumbs, unless you had an autofire controller.
Beautiful build. If you’re using a relay though, why use the 555? You can accomplish the same thing with with the relay, a pot. for timing adjust and a few discreet components. Just curious. Thank you for posting the build.
So, why do this besides the fact that you can? Oh I see, rapid-fire games and such. Good hack for a gamer. I stopped playing games in the 1990s as I found it was consuming too much of my need-to-earn-a-living time, but games are cool if that’s your thing. More power to you.
Actually there is ONE item in the Stanley Parable where repeating a particular action long enough would win an achievement.
Venting unrelated passive aggressive jealousy in an online comment section is a much more productive use of your time.
I bet you go into a massive autistic hissy fit at the thought of blue collar workers watching a film in the 2 hours of free time they have between work and family too.
Back in the AOL bad ol days, I needed the same thing to keep AOL from shutting down when I stepped away from the screen for too long a period. AOL required someone to hit the ENTER key (or mouse click OK) periodically. Pandora free music service still does this. So I wrote a Visual Basic routine to SendKeys a carriage return (ASCII 13) every few minutes. It worked. However, today there are some browser security restrictions that prevent this idea from working today. However, if you could find an extremely old version of MSIE that will still run on your newer PC or MAC, then maybe?
I was referring to the keep alive popup box that asks “Are you still there? [OK]”
I think the VBA SendKeys.Send problem might have only been with Windows Vista with UAC turned on. So it may work with Windows 10 and MACs. However timing WAIT command may get funky on you..
Under Linux, you could write a dummy keyboard input device driver that sends a carriage return periodically.
Homer Simpson used a “stupid drinking bird” to hit the Enter key every few seconds…
or just use xdotool: http://www.semicomplete.com/projects/xdotool/
I just got my 20th millon shipment in last month.
Cool.
Love it. Did all those with my gaming computers and more. Anyway still love these little guys just like 387 op amps.
(Oh my god is that the right name?)
I have to check and do a quick project with it!
(Old age does strange things to people.)
I even talk to my self, and answer too.
(Not always the wright answer but at least a answer.)
Thanks for the fun time.
“I even talk to my self, and answer too.
(Not always the right answer but at least a answer.)
Thanks for the fun time.”
Wear a BLUETOOTH and no one will notice…
http://s.quickmeme.com/img/52/5274c6dcc65d3bc866525b952f700e5e3f04d42fae4ad96ef3cfacbc5920bc63.jpg
And some on the other end are saying “take that piece of crap out of your ear and talk to me on the phone not a mic on the side of your head”. Blurtooth…raspberry.
Maplin prices would blow the socks of a Radioshack manager.
It’s noticeable that when Tandy, as the Radioshack franchise was known in the UK, closed down, Maplin went down-market and raised their prices, due to reduced competition.
I did this for an xbox 360 controller once, had a trim pot to adjust fire rate. It was a really fun learning project, and the rage of other players made it even better.
Yeah. Cheating in multiplayer is awesome. You must feel like a real winner.
I’ve run into my share of cheaters over the years. My reaction varies depending on how clever or funny the hack is.
Invading my Dark Souls game, making my head 15% bigger, then jumping off a cliff: lol
Simply cheating your way to the top of the scoreboard in Call of Duty: fuck you
Wow, thanks for the love guys. I did not say this in the first comment but it was used only on lan games to mess with friends. I sure do love this supportive and inclusive community!
Mike hates everything all of the time. Don’t sweat it. Glad you made something and learned in the process. Keep on taking things apart :)
I did it with an Arduino. All the 32U4 chips have support for USB HID.
https://peterburk.github.com/programs#keyMouSerial
I guess I am just old-fashioned. If I had need of this type thing, my first thought would NEVER be a micro of any type. I’d have done exactly what this guy did. In my never to be humbled opinion, the old tech is (almost) always the best. It’s for sure more reliable.
Sorry, your ‘elegance of design’ mind-set–which leads to elegantly simple designs–is not welcome here.
K.I.S.S, back when it meant something.
Speaking of “elegant designs”, where are all those “elegant” solutions using the Raspberry Pi?
Never mind; I know–there are at least three people out there solving this problem as a multi-Pi solution…
Do you really think a 555 timer circuit is more reliably accurate than a microcontroller with a crystal oscillator? Your goals should drive the choice of tools.
begging the question there, buddy
And it’s possible to make a crystal controlled 555.
I would never have thought of adding a crystal to a 555, never come across a use case for it, but I guess you could always use it as a low frequency crystal tester… here’s one possible schematic (stolen from the internet of course).
http://www.8085projects.info/wp-content/uploads/Crystal%20oscillator%20circuit%20using%20555_thumb.jpg
http://my.integritynet.com.au/purdic/multivib1.gif
It doesn’t take a lot of imagination to see how this quest for ‘elegance’ could lead to quickly painting yourself in a corner. If a simple change in the clicking pattern is required, the 555 timer is suddenly out of luck, unless you start complicating things in other ways. Having a bare minimum tool only makes sense if you’re absolutely positively sure that the requirements are not going to change again.
Besides, it seems to mostly boil down to stroking one’s own ego and feeling better than the kids at the Arduino Club.
There’s another force that can come into play aside from simplicity. Economic, were a circuit can be shaved off by one component to save a penny.
>”There’s another force that can come into play aside from simplicity. Economic, were a circuit can be shaved off by one component to save a penny.”
I was thinking about that too. It might very well be cheaper to use a single microcontroller and almost no other parts than to build a circuit of multiple parts, especially when producing on a larger scale. Picking and placing and board space isn’t free.
It applies to hobbyists too. Program an Arduino with DIP IC, remove IC, apply power and away you go. If you want to get fancy, you might solder a decoupling capacitor across the power pins.
“It doesn’t take a lot of imagination…”
Good. Let’s follow that to its conclusion–
… but it takes a TON of imagination to design the simplest possible solution to solve a problem. And here’s a major, major clue for you: if you decide you want a career as a designer, the only way to keep that career will be to create the simplest possible designs. Always.
And…if you know many different ways to solve a problem, and “…the kids at the Arduino Club.” know only one…
One’s goals–and solutions–should be driven, in the first instance, by understanding what the problem is. A large part of this is in understanding exactly what is
writtenstated about the problem–“…about once per second, with a click duration of about 100ms. Goodabout once per second, with a click duration of about 100ms. Good enough. enough…”
I have searched the post over, and can not anywhere find a statement regarding this design’s need for ‘reliable accuracy.’
Do you really think that a 555 timer circuit with a crystal oscillator is less accurate than a microcontroller with a crystal oscillator?
You equate “elegance” with “complexity”, huh? Too bad.
Like a salad served in an edible tortilla bowl :)
This is really amazing hack for game lovers. It is an absolutely beautiful build. Thanks for sharing it here.
It’s really not. it’s much too large and will limit the motion of the mouse. The wire will break off eventually. it would be better to put a switch on the mouse itself and the circuit inside it. But that’s why this site is called hack a day and not elegantly-polished-modification-aday.
Could have also done it even simpler with two transistors as a flip-flop design….
.. ah.. but could you do it with *one* transistor?
The difference between being first and second is to publicise it earlier. Did this 10 years ago, to get rid of hundreds of NetSend messages without having to reboot the system: 555 with some parts and an optocoupler on perfboard, since a relay would annoy the crap out of me. Small LED to show the device is clicking and Bob’s your uncle.
However, I never published it, because I thought it was rather bland. :)
Works as intended, that’s okay. But off the shelf board with relay and separate power supply?? Replacing relay with transistor switch would allow device to be powered directly from mouse’s 5V supply, and also would eliminate annoying relay clicks. However, nice idea, my first solution for the problem would be PIC12F or ATTiny.
When Benchoff moves on from HAD, I suspect many will follow for the lols.
Yup. Hey, the man is clever and has a way with words.
Well you’re in luck! I’m well on my way to starting my cult. We’re going to have a compound in the desert, and a dune buggy. Like, a real Manx dune buggy with real suspension that looks like it’s out of Wacky Races. It’ll be awesome.
a bike safety light with a well placed pot would do the same thing lol
I did the same thing with nothing more than a flashing LED. Simply attach it in place of the switch. It may not work for all mice and the interval is fixed, but it is the simplest solution by far.
From reading the headline, I thought someone actually implemented USB using a 555. THAT would have been impressive. This, not very impressive.
Thirty years ago this was the only way I could win at Vetrex. An inline module that, using a 555, could hit the”fire” button a lot faster than I could.