Useless machines are generally built as a fun pastime, as they do nothing of value by their very definition. The most popular type generally involves a self-cancelling switch. However, there’s plenty of other useless machines to build, and we think [Jeffery’s] build is particularly creative.
The build consists of an XY gantry that moves a standard computer mouse. To control the gantry, a Raspberry Pi feeds the system G-Code relative to the motion of a second mouse plugged into the single-board computer. It’s pretty standard fare overall, with the Pi sending commands to an Arduino that runs the various stepper motors via a CNC controller shield.
Yes, it’s a mouse that moves a mouse – and on the surface, this appears to be a very useless machine. However, we could imagine it being useful for remote control of a very old system that uses a non-standard mouse that is otherwise difficult to emulate. Additionally, it wouldn’t take much extra work to turn the XY gantry into a competent pen-plotter – of which we’ve seen many. Video after the break.
That’s awesome cybersecurity-wise. An airgapped mouse!
Now all you need is a keyboard-controlled keyboard.
Can we agree that a powerbank is a battery-powered battery charger? :D
YES! Only in that case, we use these things with a straight face. But seriously, I once had someone ask me if there were small UPSs available that would work for laptopos. I just looked at him until he realized what he had asked, but now I have several UPSs for my cell phone.
is it though?
Are we talking about transformers yet?
It doesn’t matter whether or not it is; point is, conceptually it could be, since the second mouse can easily be electrically isolated from the first one.
But then, different people have different standards for “airgapped”.
Would probably be faster and more accurate if the gcode interpreter and planner is omitted and controlled directly. Maybe a tablet or digitizer as input would make the coordinates absolute, could improve accuracy some more.
That is for sure a useless machine.
Once the controlling mouse is lifted for trackback the servo mouse is off track.
Regular mice drop count all the time anyways, so you can expect it to drift off after a while. I did the same thing back in the day, but I hooked the optical mouse sensor directly to an ATMega so there was no USB and raspberries in between – the mouse just gives you how many 1/400 ths of an inch it thinks it has advanced since you last polled it (or whatever the native resolution is).
The difficulty is that the effective resolution changes by the surface and the exact lens distance because it is an optical camera in there that is subject to all sorts of distortions. You can never get it to measure exactly the same distance back, which is what I tried to do with it – I put it on the X-Y table and made it count what the stepper motors were doing, but I could never get them to agree and the mouse indicated location would eventually drift off somewhere.
The hypothetical old mouse that needs to be emulated probably uses the old ball with incremental encoders design, it would be much more reliable to emulate the encoder signals with a microcontroller or Raspi, that way the shafts don’t pick up dirt, and you never run into the edge of the working area, and doesn’t wake the neighbors. There is no mechanical movement involved, which pretty much automatically makes it much more reliable.
The whole things sounds horrible; it’s skipping steps, and it sounds like it is banging back and forth in a lot of backlash.
Still a bit funny because of the extreme uselessness, I guess.
ha! Once build something similar but even more basic with an analog PS2 mouse and LEGO Technic with some small gears.
Did it to fake mouse movements for those advertisement bars you could install on Windows to “earn” miniscule amounts of money (after they refused to work with mouse emulator software).
Framing though there, it’s a full quarter second of lag between mouse motion and the start of gantry motion that follows it. What on earth could be taking so much time?
Also looks like [Jeffrey] forgot to turn off acceleration on the master mouse, leading to non-linear tracking and the need to pick up and reposition it.
It’s a fantastic mouse lag generator !! Love it!
Yes, useless. There’s no actuator for clicking the mouse button.
Swap the input mouse by a touchpad and make a touch-to-mouse converter… lol…
For those “very old system that uses a non-standard mouse”, maybe the “best” way would be to actuate directly on the mouse ball (I presume “very old” means “not optical”). Kinda like an acoustic coupling, but mechanical.
Time to cascade a few of these together.
Or maybe the infinity mirror version: let the machine move its own mouse.
If you attached the remote mouse to a live mouse wearing a harness, you could have a mouse controlled by a mouse controlled by a mouse…