Malware In A Mouse


Keyloggers, in both hardware and software forms, have been around for a long, long time. More devious keyloggers are smart enough to ‘type’ commands into a computer and install Trojans, back doors, and other really nasty stuff. What about mice, though? Surely there’s no way the humble USB mouse could become an avenue of attack for some crazy security shenanigans, right?

As it turns out, yes, breaking into a computer with nothing but a USB mouse is possible. The folks over at CT Magazine, the preeminent German computer rag, have made the Trojan mouse (German, terrible Google translation)

The only input a mouse receives are button presses, scroll wheel ticks, and the view from a tiny, crappy camera embedded in the base. The build reads this camera with an Arduino, and when a certain pattern of gray and grayer pixels appear, it triggers a command to download a file from the Internet. From there, and from a security standpoint, Bob’s your uncle.

Looking through the camera inside a mouse is nothing new; it’s been done over the Internet and turned into the worst scanner ever made. Still, being able to process that image data and do something with it is very cool. Just don’t accept mouse pads from strangers.

Danke [Ianmcmill] for the tip.

Your Mouse Is A Terrible Webcam


It should come as no surprise your optical mouse contains a very tiny, very low resolution camera. [Franci] decided to take apart one of his old mice and turn that tiny optical sensor into a webcam.

Inside [Franci]‘s Logitech RX 250 is an ADNS-5020 optical sensor. This three wire SPI device stuffed into an 8-pin package is a 15×15 pixel grayscale image sensor. [Franci] started this project by bringing out the Arduino and Ethernet shield. After soldering a pull-up resistor to the image sensor’s reset pin, connecting the rest of the circuit was as simple as soldering a few wires to the Arduino.

The Arduino sketch sends the image data for each pixel to a computer over a serial connection. A bit of javascript and a touch of HTML takes this pixel data and turns it into a webpage with a live view of whatever is directly under [Franci]‘s mouse.

Video of the mousewebcam in action below.

[Read more...]

Building a hard drive scratch controller


If you’re reading this blog then chances are you have a dead hard drive hanging out somewhere in your house. Here’s a weekend project that will put it back into use. [Andreas] took on the popular project which combines a hard drive and optical mouse to build a scratch controller.

The gist of the build is that you use an optical mouse sensor to track the movement of the platter. But [Andreas] made things harder on himself by not using the USB capability of the mouse and mapping it in software for his needs. Instead he plucked the sensor from the mouse, reading it using an Arduino. After much trial and error with the best way to coat the underside of the platter to play nicely with the sensor he managed to get it up and running. The controller issues commands using the MIDI protocol, forming a strong foundation for future upgrades which could lead to a full-blown DJ console hack.

[Read more...]

Tube radio husk gets a web radio transplant


[Dominic Buchstaller] found this German Greatz tube radio at a flea market. It only cost him about €35 and was in a bit more rough condition than the finished product you see above. He also found that a portion of the original circuitry was missing, making it completely non-function. He cleaned up the case to improve the wife-acceptance-factor, and outfitted it with hardware to make it a web radio.

Adding modern speakers was pretty easy as he was already replacing the original cloth bezel which has several holes and tears in it. A set of elements from some Logitech computer speakers served as the organ donors for this step in the process. As he was trying to keep a stock look he came up with a really neat hack to use the original knobs. The station select happens to have a large metal wheel on the inside which is about a centimeter wide. [Dominic] used the optical sensor from a mouse to monitor the turning of the dial by aiming the sensor at this wheel. Internet connectivity was provided by a wireless router he had on hand. This way he can stream music or play from an SD card he also used in the retrofit.


Adding an optical mouse sensor to an autonomous vehicle


[Tim] is getting his drone ready for SparkFun’s 2013 Autonomous Vehicle Competition on June 8th. He has a pretty good start, but was having some problems accurately measuring travel distance. The technique he chose for the task was to glue magnets onto the axles of the vehicle and monitor them with a hall effect sensor. Those sensors are finicky and a few problems during testing prompted him to look at a redundant system. Right now he’s experimenting with adding an optical mouse sensor to the autonomous vehicle.

Recently we saw the same concept used, but it was meant for tracking movement of a full-sized automobile. If it can work in that application it should be perfect here since the vehicle is much closer to the ground and will be used in ideal conditions (flat pavement with clear weather). [Tim] cracked open an old HP mouse he had lying around. Inside he found an Avago ADNS-5020 sensor. After grabbing the datasheet he discovered that it’s simply an I2C device. Above you can see the Arduino Leonardo he used for the first tests.

[Tim] coded functions to monitor the chip, including some interesting ones like measuring how in-focus the surface below the sensor is. This brings up a question, is there limit on how fast the vehicle can travel before the sensor fails to report back accurately?

Tracking a car like it were a computer mouse


This is [Paul Mandel's] Ground-truth velocity sensor. That’s a fancy name for a device which tracks the movement of a vehicle by actually monitoring the ground its travelling over. This differs from simply measuring wheel rotation (which is how traditional odometers work) in that those systems are an indirect measurement of motion. For us the interesting part is the use of an ADNS-3080 single-chip optical mouse sensor on the left. It’s cheap, accurate, and only needs to be ruggedized before being strapped to the bottom of a car.

[Paul] designed a case that would protect the electronics and allow the sensor to mount on the uneven underbelly of a vehicle. The optical chip needs to be paired with a lens, and he went with one that cost about ten times as much as the sensor. Data is fed from the sensor to the main system controller using the PIC 18F2221. One little nugget that we learned from this project is to poll a register that always returns a default value as a sanity check. If you don’t get the expected value back it signals a communications problem, an important test for hardware going into the vibration-hell that is automotive technology.

Robotic odometry from an optical mouse

One of the problems future engineers spend a lot of class time solving is the issue of odometry for robots. It’s actually kind of hard to tell how far a robot has traveled after applying power to its wheels, but [John] has a pretty nifty solution to this problem. He converted an optical mouse into an odometry sensor, making for a very easy way to tell how far a robot has traveled  regardless of wheels slipping or motors stalling.

The build began with a very old PS/2 optical mouse he had lying around. Inside this mouse was a MCS-12085 optical sensor connected to a small, useless microcontroller via a serial interface.

After dremeling the PCB and discarding the microcontroller, [John] was left with an optical sensor that recorded distance at a resolution of 1000dpi. It does this by passing a value from -128 to 127, rolling over every time the sensor moves more than 3.2 mm.

As far as detecting how far a robot has moved, [John] now has the basis for a very simple way to measure odometry without having to deal with wheels slipping or motors stalling. We can’t wait to see this operate inside a proper robot.