PS/2 Keyboard for Raspberry Pi

A lot of people can bake a cake. Sort of. Most of us can bake a cake if we have a cake mix. Making a cake from scratch is a different proposition. Sure, you know it is possible, but in real life, most of us just get a box of cake mix. The Raspberry Pi isn’t a cake (or even a pie), but you could make the same observation about it. You know the Raspberry Pi is just an ARM computer, you could program it without running an available operating system, but realistically you won’t. This is what makes it fun to watch those that are taking on this challenge.

[Deater] is writing his own Pi operating system and he faced a daunting problem: keyboard input. Usually, you plug a USB keyboard into the Pi (or a hub connected to the Pi). But this only works because of the Linux USB stack and drivers exist. That’s a lot of code to get working just to get simple keyboard input working for testing and debugging. That’s why [Deater] created a PS/2 keyboard interface for the Pi.

Even if you aren’t writing your own OS, you might find it useful to use a PS/2 keyboard to free up a USB port, or maybe you want to connect that beautiful Model-M keyboard without a USB adapter. The PS/2 keyboard uses a relatively simple clock and data protocol that is well-understood. The only real issue is converting the 5V PS/2 signals to 3.3V for the Pi (and vice versa, of course).

Continue reading “PS/2 Keyboard for Raspberry Pi”

Use Your Mouse Pointer to Send Data

[Ido Gendel] was thinking about new and interesting ways to send data between devices, when he realized that the answer was right in his hand. Literally: he decided to try sending data using the mouse pointer. What he came up with was an interesting hack that uses small movements of the mouse pointer to send data at up to 1200bps, or about 150 bytes per second.

The way he did this was very, very clever. He used an Arduino Leonardo that is set to emulate a mouse, working alongside his existing mouse. This setup means that he can use his existing mouse: the system just sees the Arduino as a second mouse, and the pointer just looks a little jerky when you zoom in. That is because the Arduino is just sending tiny movements, each of which is a code that represents a nybble (4 binary bits) of data. By using both a combination of three left-right or up-down movements, he was able to create 16 movements, each of which can encode 4 bits of data. Each of these encoding movements also returns the mouse to its origin point, so the mouse doesn’t mysteriously scroll off the screen when data is being sent.

Continue reading “Use Your Mouse Pointer to Send Data”

Disassembled Mouse Keeps Track Of Gas Meter

After building devices that can read his home’s electricity usage, [Dave] set out to build something that could measure the other energy source to his house: his gas line. Rather than tapping into the line and measuring the gas directly, his (much safer) method was to simply monitor the gas meter itself.

The major hurdle that [Dave] had to jump was dealing with an ancient meter with absolutely no modern electronics like some other meters have that make this job a little easier. The meter has “1985” stamped on it which might be the manufacturing date, but for this meter even assuming that it’s that new might be too generous. In any event, the only option was to build something that could physically watch the spinning dial. To accomplish this, [Dave] used the sensor from an optical mouse.

The sensor is surrounded by LEDs which illuminate the dial. When the dial passes a certain point, the sensor alerts an Arduino that one revolution has occurred. Once the Arduino has this information, the rest is a piece of cake. [Dave] used KiCad to design the PCB and also had access to a laser cutter for the enclosure. It’s a great piece of modern technology that helps integrate old analog technology into the modern world. This wasn’t [Dave]’s first energy monitoring system either; be sure to check out his electricity meter that we featured a few years ago.

Hackaday Prize Entry: A Better KVM Switch

Now it’s not uncommon to have a desktop and a laptop at a battlestation with tablets waiting in the wings. Add in a few Raspis, consoles, and various cheap computers, and it’s pretty easy to have an enormous number of machines and monitors on a desk. Traditionally, a KVM switch would be the solution to this, sharing a keyboard, mouse, and monitor with many different boxes, but this is an ugly solution. [frankstripod] has a device that fixes that with some interesting software and a few USB hacks.

[frankstripod] is in love with a program called Synergy this program combines the keyboard, mouse, and display of several computers over a network so you’ll only ever have to use one keyboard and mouse; it’s as simple as dragging your mouse from one computer to the other. There are a few limitations, though: keyboards don’t work until the OS has loaded (no BIOS access, then), it doesn’t work if the network is down, and setup can be complicated. This project aims to replace the ‘server’ part of a Synergy setup with a small, networkable KVM.

Right now the plan is to use a small embedded board running Linux to read a USB keyboard and switch the output between several computers. A few scripts detect the mouse moving from one screen to another, and a microcontroller switches USB output between each computer. If it sounds weird, you’re right, but it does work: [frank]’s 2014 Hackaday Prize project was a mouse that worked with two computers at once.

The 2015 Hackaday Prize is sponsored by:

Wireless Trackpad Looks Like Fingernail Polish

All hands are on deck over at MIT where a very handy new trackpad has been created that will be able to give users a free hand to do other tasks. The device is called the NailO and attaches to one’s thumbnail, which allows the user an easy and reportedly natural way to use a trackpad while your hands are full, dirty, or otherwise occupied.

The device reportedly works like any normal trackpad, but is about the size of a quarter and attaches to the thumbnail in such a way that it takes advantage of the natural motion of running an index finger over the thumbnail. It communicates via Bluetooth radio, and has four layers which all go hand-in-hand: an artistic covering (to replicate the look of a painted fingernail), the sensors, the circuitry, the battery, and presumably an adhesive of some sort.

Details are quite sparse, but the device is scheduled to make its debut at the Computer Human Interaction conference in Seoul, South Korea very soon. If it can be made less bulky (although it’s somewhat uncomfortable to call something smaller than a quarter “bulky”) this might be, hands down, the next greatest evolution in mouse technology since multi-touch. We have to hand it to MIT for coming up with such a unique wearable!

Peripherals Behind The Iron Curtain

The article Home Computers Behind the Iron Curtain sparked a lot of interest, which made me very happy. Therefore, I decided to introduce more computer curiosities from the Iron Curtain period, especially from the former Czechoslovakia (CSSR).

As I mentioned in the previous article, the lack of spare parts, literature and technology in Czechoslovakia forced geeks to solve it themselves: by improvisation and what we would today call “hacking.”  Hobbyist projects of one person or a small party was eventually taken over by a state-owned enterprise, which then began to manufacture and deliver to stores with some minor modifications. These projects most often involved a variety of peripherals that could only be found in the Czechoslovakia with great difficulty.

Much like the production of components, the production of peripherals was also distributed throughout the eastern block so that each country was specializing in certain types of peripherals. For example, East Germany produced matrix printers, and Bulgaria made floppy disks drives. This meant industrial enterprises had to wait for vital computer parts, because the production in another country was not sufficient to cover even the local requirements, let alone the home user.

Continue reading “Peripherals Behind The Iron Curtain”

Hacklet 42 – Mouse Projects

Ever since [Douglas Engelbart] and his team came up with the computer mouse, hackers, makers, and engineers have been creating ways to change and improve the design. Even the original mouse was something of a hack, built form a block of wood, a button, and two encoder wheels. The wire exited toward the user’s wrist, making the device look like it had a tail. Even after all these years, folks are still working to make the perfect pointing device. This week’s Hacklet highlights some of the best mouse projects on!

mouseballzWe start with [s_sudhar] and ORB – A 3D gaming mouse. Orb uses accelerometers and gyros to track its location in 3D space. The popular MPU-6050 chip provides all the sensors to create an Inertial Measurement Unit (IMU). The controller is an Arduino Micro, which provides the USB interface to a PC with the help of Arduino’s MouseKeyboard library. Two micro switches handle button duties. The original Orb was built up in a cardboard box. [S_sudhar] created a more advanced version housed in a 3D printed sphere with two buttons. The translucent joint between the two halves of the sphere is just begging for some RGB LEDs. We can already see them flashing red when you’re getting shot in Team Fortress 2!

mouse-wheelAnyone who has used X-Windows with a three button mouse knows how maddening the modern clickable center scroll wheel can be. You can’t click the wheel without it rolling, and causing all sorts of mayhem. There are plenty of software solutions and window manager mods to work around this, but [mclien] wanted a real three button mouse with a side scroll wheel. He didn’t want just any mouse though – it had to be a Silicon Graphics International (SGI) 3 button unit. His project 3-buttonmouse with seperate wheel used a dremel, drill press, and glue to transplant the electronics of a 3 button scrolling mouse into the classic SGI plastics. The final wheel placement did work – but it didn’t quite fit [mclien’s] hand. It did fit one of his friends hands perfectly though. So well in fact that the friend borrowed [mclien’s] creation. Neither the mouse nor the friend have been seen since!

jimmy[Jay-t] decided that mice are for more than pointing, so he built Jimmy the mouse bot. Jimmy is a robot built from an old Commodore Amiga two button mouse. His brain is a Parallax Propeller processor. Two outrigger mounted gear motors help Jimmy drive around. Jimmy has plenty of sensors, including infrared object detectors, switches, and a GPS module from Adafruit. Jimmy may be the world’s first homing mousebot. [Jay-t] does all his interactive testing with Tachyon Forth on the Prop. The great thing about having an 8 core processor is that there is plenty of room for expansion. Even with all these sensors, Jimmy is still only using 3 cores!



Finally we at [Clovis Fritzen] and the Wireless Batteryless Mouse. This is our favorite type of project – the kind that has just been uploaded. [Clovis] plans to use a movement based system to charge up a supercapacitor – eliminating the need for batteries or wires. He’s also hoping to use an accelerometer to detect the mouse’s position rather than a power-hungry optical system. The details are still sparse, because he’s just started the project! These are exactly the type of projects that get us thinking. How will [Clovis] translate movement to energy? Will it be weights, like a self-winding watch? Maybe pizeo elements in the buttons. Will people mind having to jiggle their mouse to get it working once that capacitor is discharged? One thing we’re sure of, [Clovis] has a proven track record of implementing projects like his weather station. Get in there and help with your own ideas, or simply follow along with us and see how this one turns out.

Not satisfied? Want more mousy goodness? Check out our freshly minted mouse and pointer projects list!

That’s about all the time we have for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of!