Vintage Apple Keyboard Revived As Standalone Computer

Many of our readers are familiar with the gold standard of classic PC keyboards – the bunker with switches known as the IBM Model M. The Model M’s Apple contemporary is the Apple Extended Keyboard and they are just as highly sought-after by their respective enthusiasts. Though discontinued almost 25 years ago and incompatible with anything made in the last 15, the codenamed “Saratoga” is widely considered the best keyboard Apple ever made.

[Ezra] has made a hobby of modernizing these vintage heartthrobs and rescuing them from their premature obsolescence. In a superbly documented tutorial he not only shows how to convert them to USB (a popular and trivial hack), but teaches you how and where to smuggle a Raspberry Pi in as well.

After disassembly, the project requires only a little bit of chisel and Dremel work before the soldering iron comes out. [Ezra] was fairly meticulous in removing or redirecting the Pi’s connectors and hardwiring the internals. Only 3 pins need to be traced from the original keyboard and [Ezra]’s ADB–>USB Rosetta Stone of choice is the Hasu Converter running on a Atmega 32u4 clone. Balancing cost, range, and power draw from the Pi, he settled on the TP-LINK WN722N for his WiFi solution which is also tucked away inside the case. A single pullup resistor to finish it off and [Ezra] was delighted to discover it worked the first time he plugged it in.

Keyboards from this era use actual momentary switches that audibly click twice per keypress. In our world of screens-as-keys celebrating the lack of tactile constraints, using beasts like the Model M or the AEK to force transistors to do your bidding is like racking a shotgun during a game of lasertag – comically obtuse but delightfully mechanical.

If you are looking to expand on [Ezra]’s tinkering, he has already made a wishlist of additions: a toggle switch to lobotomize the Pi back into a plain USB keyboard, an internal USB hub, and a power switch.

Hear the video of an AEK in action after the break (or loop it to sound productive while you nap).

Continue reading “Vintage Apple Keyboard Revived As Standalone Computer”

Discovering the Protocol in a USB VoIP Phone

[Daniel] picked up a cheap USB handset to use with his VoIP provider, and included in the box was a CD with all the software that would make this handset work with Windows. [Daniel] is running Linux on his main battlestation, rendering the included CD worthless. Using the handset under Linux would be a problem; although the speaker and mic worked, the buttons and screen did not. No problem, then: [Daniel] just played around with the command line until he figured it out.

The handset presented itself to the Linux box as a soundcard and HID device. The soundcard was obviously the speaker and mic, leaving the buttons and display as the HID device. [Daniel] checked this out by running a hexdump on the HID device and pressed a few buttons. His suspicions were confirmed, and he could easily read the button with a little bit of Python.

With the speaker, mic, and buttons on the handset figured out, [Daniel] turned his attention to the one bit of electronics on the phone he hadn’t yet conquered: the display. After firing some random data at the phone, the display blinked and showed a messy block of pixels, confirming the display was controlled through the HID driver. Loading up usbsnoop to see what the original software does to update the screed showed [Daniel] the data format the display accepts, allowing him to control everything in this VoIP phone.

PCB Toner Transfer Method, Now Without The Transfer

A common way to create a custom PCB at home is to do what is called the Toner Transfer Method. In this process, the trace layout of the board is printed out on a piece of special toner transfer paper that allows the ink to come off in the following step. The toner transfer paper is then put print-side-down on a copper clad PCB blank, heated and pressed with an iron. The heat and pressure from the iron transfers the toner from the paper to the copper. The exposed copper then is chemically removed, the previously applied toner protects the copper in the pad and trace areas. The toner is then removed using paint thinner.

That is a long process with many critical steps. [mlerman] wondered why no one was printing the toner directly to the PCB. He has been tinkering with printing directly on PCB blanks for 4 years now. He’s made hundreds of boards over that time and can now make a PCB in under 15 minutes.

The obvious route to take would be to modify a current laser printer to accept the much-thicker-than-paper PCB boards. A few printer models were tried but [mlerman] feels the Lexmark E260 works the best due to the cost, internal mechanical components and an easily modifiable manual feed system. There is also a Local Printer Utility that allows the majority of the printer parameters to be adjusted.

Continue reading “PCB Toner Transfer Method, Now Without The Transfer”

BadUSB Means We’re All Screwed

Does anyone else get the feeling that the frequency of rather horrible vulnerabilities coming to light is accelerating? Off the top of our head, there’s Heartbleed, Shellshock, and now this one. The BadUSB exploit attack stems from the “invisible” microcontroller in most USB devices.

We first heard about it when we were attending DEFCON in August. The exploit had been announced the same week at Blackhat but there wasn’t much information out yet. Now the talk has been posted and there’s a well-explained overview article at Big Mess o’ Wires.

Here’s how this one goes: all USB devices rely on a microcontroller to handle the peripheral-side of USB communications. The computer doesn’t care which microcontroller, nor does it have a way of knowing even if it wanted to. The uC is “invisible” in this situation, it’s the interface and data flowing through it that the computer cares about. BadUSB is an attack that adds malicious functionality to this microcontroller. To the computer it’s a perfectly normal and functional USB device, while all the bad stuff is happening on the peripheral’s controller where the computer can’t see it.

badusb

How deeply do you think about plugging each and every USB device? Check out what happens at 19:20 into the video below. The USB device enumerates and very quickly sets up a spoofed Ethernet connection. You can still load a webpage via WiFi but the fake connection is forwarding packets to a second server.

Once discovered, you can wipe the computer and this will stop happening; until you plug the same device again and reinfect. Worse yet, because the controller is invisible to the computer there’s almost no way to scan for infected devices. If you are smart enough to suspect BadUSB, how long will it take you to figure out if its your mouse, your keyboard, a thumb drive, a webcam, your scanner… you get the point.

Continue reading “BadUSB Means We’re All Screwed”

Using the Boxee Remote With A PC

When it was first announced in 2010, the Boxee remote was a stroke of genius. Not because it controlled the BoxeeBox, the set-top media center PC, mind you. It was impressive because the reverse side of the remote had a small qwerty keyboard, just the thing for searching menus loaded up with movies and TV shows and entering URLs. [Martin]’s BoxeeBox loved his BoxeeBox, but it’s an old device now, with some support for web streaming (including Netflix) gone.

Other media center devices have filled the void in [Martin]’s life, but he loved that Boxee remote. Getting it working on his XBMC-equipped PC was a top priority. This meant figuring out a way to connect the RF receiver from a BoxeeBox to a USB port. It turns out this is pretty easy, requiring only a few parts and half of a USB cable.

[Martin] traced out the connectors on the RF receiver for the BoxeeBox, and found the usual V+, V-, Power, and Ground connections found in a USB cable. The receiver operated at 3.3 Volts, so stepping down the voltage required regulator. The rest of the project was simply putting everything in a project box and stuffing it behind his PC.

Windows identifies the RF receiver as a normal keyboard, so everything went swimmingly. Since [Martin] built this small device, a few people have come up with better keyboard layouts for XBMC and the Boxee remote, allowing this device to function far into the future.

Hacklet 17 – Keyboards

This week on The Hacklet we’re featuring some of the best keyboard hacks from Hackaday.io!

Hackers are really into their keyboards. Everyone has a favorite, and those favorites vary wildly. Mechanical, soft touch, ergonomic, QWERTY, DVORAK, chorded, you name it, there is a hacker, maker, or engineer who loves it, or absolutely hates it. For some, no commercial product is perfect. All is not lost though, as a custom keyboard is just a hack away!

ergo60

[Warren Janssens] gets things rolling with Ergo60, his 60 key ergonomic keyboard. [Warren’s] layout is a pair of 25 key hand clusters, each with a matching 5 key thumb cluster. This layout minimizes lateral wrist movement. With the reduced key count and stacked keys, the user’s hands never move from the home row. [Warren] rolled his own PCBs for Ergo60. A Teensy 2.0 running a fork of TMK serves as Ergo60’s controller. [Warren’s] is running Cherry Black switches and his keycaps are from Signature Plastics. [Warren] is using Ergo60 as his daily driver these days, so it’s no surprise that he’s set the “Completed Project” tag.

keycaps

Some say he needs no keyboard at all, and that his heartbeat sounds just like an IBM Model M. All we know is he’s called [Brian Benchoff]. [Brian’s] created a pair of minimalist keyboard projects. The Unhappy Hacking Keyboard takes us back to basics. After all, computers run on 1’s and 0’s, right? What more could a person need? Apparently just a space and return. Unhappy Hacking Keyboard uses an ATtiny85 with V-USB as the controller and the interface. Keys are cherry MX blues. The keycaps are [Brian’s] own Hackaday Cherry MX Keycaps printed by Shapeways.

zxkeyboardAn entire generation of hackers don’t know the joy of typing on a tiny rubber keyboard. [Alistair MacDonald] aimed to fix that, so he turned an old computer into a keyboard with his ZX Keyboard. [Alistair] started with a broken ZX Spectrum. He gutted the original electronics and added an Ardunio Pro Mini running the V-USB library. [Alistair] directly wired the row and column I/O lines from the keyboard to his Arduino. The result is a keyboard which is the perfect size for cell phones, Raspberry Pi’s and the like.

chordkey[Servo] teaches us new ways to type with Chordy KEY, his chording keyboard project. Chordy Key is meant to be used in the left hand. Five finger buttons and three thumb buttons are all that is needed to chord out 64 different letters and symbols. [Servo] utilized an ATmega32U4 powered Sparkfun pro micro to control his keyboard. Chordy Key is a proof of concept, but with [Servos’s] use of 3D printed parts, Chordy Key looks like it’s ready for your next wearable computing project!

chord2[jmptable] is also working on a chorded keyboard design. Chord Keyboard uses only 7 keys to send the entire ASCII character set and a few control combinations. [jmptable] used an ATmega328P as his processor. Chord keyboard isn’t wired though. An RN-42-HID module provides bluetooth connectivity to the world.

[jmptable] has provided an amazing amount of detail on his research, including one of his goals of adding a chorded keyboard to the Gameboy Advance. They keyboard itself would be mounted on the spine of a game cartridge. We would love to see that idea come to fruition, [Servo]!

 

mightyFinally we have [Gertlex], who just wanted a scroll wheel embedded in his keyboard. He got there with the help of an Apple Mighty Mouse. Keyboard with Apple Mouse Scroll Ball is one of those hacks that looks like it original equipment. [Gertlex] took a drill to a Targus slim USB keyboard, putting a small hole right between the ESC and F1 keys. He fit the scroll ball from his Apple Mighty Mouse in the hole. Electronics are as simple as plugging the mouse and keyboard into the same USB hub. The only downside to the design is that [Gertlex’s] keyboard doesn’t recognize fast enough to send key presses during the boot process.

That’s just about enough keystrokes for this episode of The Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Update – check our our keyboard list right here!

Re-Using The LCD & Button Assembly From A Broken Inkjet Printer

Inkjet printers are a dime a dozen. You probably have taken old printers apart to scavenge parts like motors, pulleys, belts, switches, linear rods, power supply, etc. These parts are easy to reuse in other projects, unlike the controller portion of the printer which not as easy to make use of. [Blaupause] has done something very interesting, and it probably ranks in the ‘extreme difficulty’ category for most tinkerers. He has taken the front panel off an otherwise non-working Canon Pixma inkjet printer and has figured out a way to interface with it.

The front panel of this printer has the standard buttons that you would find on any ole printer, but the Pixmas also has a small LCD screen. [Blaupause] has written a library for the Olimexino microcontroller that can communicate with and make use of the repurposed front panel. And the neat part of this project is that the front panel’s on-board processor does the heavy lifting when it comes to displaying images on the LCD screen or checking button states which frees up your microcontroller to do whatever else. Right now, the LCD screen can display bitmaps and supports image transparency. The library can not display video as of yet, but that option is being worked on.

[Blaupause] makes all his hard work available to the public on the project’s Sourceforge page. In addition to the library, he also includes printer panel pinouts and detailed information on how to communicate with the buttons and LCD screen. Video after the break…

Continue reading “Re-Using The LCD & Button Assembly From A Broken Inkjet Printer”