Have you ever had to cut a piece of furniture in two to get it into a new place? Yours truly has, having had to cut the longer part of a sectional sofa in two to get it into a high-rise apartment. That’s what [Charles]’ sawed off keyboard immediately reminded us of. It sounds just as crazy, but brilliant at the same time.
In [Charles]’ case he wanted a keypad whose keys were customizable, and that would make a single keypress do common things like cut, copy and paste, which are normally ctrl-X, ctrl-C and ctrl-V in Windows. To do that he literally sawed off the numeric keypad from a full-sized keyboard. He also sawed off the end to the left of the QWERTY keyboard, and glued it onto the open end of his keypad.
The circuit board was too wide to fit in his new keypad, but he couldn’t stretch out the connections from the keypad’s keys to the board. So he did what any self-respecting hacker would do, he cut the circuit board where there were a manageable number of traces, leaving one part that would fit inside the keypad and another part that he could connect the traces to using a few wires. Lastly, he’d started with a PS/2 keyboard but he wanted USB output and programmability. So he redirected the PS/2 wires to an Arduino compatible Pro Micro and wrote some conversion code which you can find on his GitHub.
Do you often find yourself needing to make small signs? Perhaps you’re trying to put a notice on the office fridge, but you’re just not in the mood for the usual Comic Sans-on-A4 staple today. A banner of some sort would do the trick, but… a small one, right? [Mike Ingle] has the answer – making mini-banners on old receipt printers.
[Mike] was a fan of Paint Shop in the 1980s, which among other things, enabled the printing of long banners on the popular dot matrix printers of the era. Realising that receipt printers have a similar ability to print on a long continuous strip of paper, he decided to see if it was possible to create small banners using the hardware.
The hack is simple – ImageMagick is used to generate a one-bit black & white bitmap that is then processed with some custom C code to generate something the printer can understand. It’s then a simple matter of hacking up the original RS-232 cable to fit a DB-9 (aka DE-9) connector, and spitting out the instructions over serial.
The mini-banners are cool, and we could imagine having some fun with such a project, using it to print out tweets or putting it into service as a stock ticker. It’s a great example of cleanly interfacing with existing hardware to create something outside of the original design intentions. Such printers are fertile ground for hacks – like this printer that can spit out the US Constitution in 6 seconds flat.
When working on software development in a team environment, it’s important to know the status of your build at all times. Jenkins can display build automation info on a screen but where’s the fun in that? A popular office project is to build some kind of visual display of a project’s status, and [dkt01] has done just that with this stack light build monitor.
In this day and age of online shopping, random bits of industrial hardware are just an eBay away, so it’s easy to find some cool lamps or indicators for any project. [dkt01] sourced a standard 24V stack light off the shelf. With its green, red, and yellow indicators, its perfect for showing the current status of their build server.
The project uses an Arduino Pro Micro combined with an ENC28J60 Ethernet adapter. We used to see that chip all the time but in 2017 it’s somewhat of a classic setup with the great unwashed masses largely migrating to the ESP8266. However, for the purposes of this project, it was perfect for connecting to the wired office network (after all, you want to know the status of your build and not of your WiFi). [dkt01] even managed to get a web configuration to work despite the relatively meager resources of the ATmega32u4.
The build is cleanly executed, with the microcontroller and Ethernet hardware tucked into a 3D printed base for the stack light’s enclosure. It’s far more likely to become a permanent office fixture if it’s a tidy build without wires hanging out everywhere so a custom PCB ties everything together neatly. In another nice touch, the stack lights flash on initialization to indicate if the DHCP lease was successful, which makes troubleshooting easier. There’s an overview of all different light combinations and meanings in the video after the break.
[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.
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.
So I made an awful, kludgey, “there I fixed it” level repair, and I need to come clean. This is really a case of an ill-advised ground.
My thirteen-year-old daughter asked for help repairing her Macbook charging cable. Macbook chargers really aren’t meant to flex around a lot, and if you’re the kind of person who uses the laptop on, well, the lap, with the charger in, it’s gonna flex. Sooner or later the insulation around the plug housing, where it plugs into the laptop, cracks and the strands of wire can be seen. This type of cable consists of an insulated lead wire surrounded by a stranded ground wire. The problem with this configuration is that the stranded ground also gets flexed until it breaks, one strand at a time, until the cable stops working.
So it was with my daughter’s Macbook cable. I didn’t have the money to buy her a new one, and I figured we could repair the break. We busted out her WLC100 and sat down to get our solder on. She started off working while I supervised, then I took over later on.
We began by using an Xacto to cut away enough insulation to expose about half an inch of the stranded wire. We pulled the wire away from the insulated lead wire and twisted it into a single stranded wire parallel to the lead wire. Grabbing for the iron, we tinned the ground and soldered a length of 22-gauge solid wire to it. The way the ground connects to the plug is by passing through a conductive ring. My idea was to solder the other end of the 22-gauge wire to the metal ring. Here’s where things started to go wrong. This is, by the way, the part where I took over so you can blame me and not my kid.
My daughter was using the WLC100’s default tip. I should have grabbed my own iron, a WES51, or at least swapped in its ninja-sharp tip. The WLC100’s default tip is a big fat wedge and it was too big to put next to the plug, and the conductive ring quickly got covered in melted plastic and I couldn’t solder anything to it. Worse, I had accidentally burned through the insulation protecting the lead wire, and had to cover it in electrical tape.
What now? We were left with not being able to use the cable at all. One option was to wait until the goop had cooled and burnish it clean with a Dremel, then attempt to re-solder using an appropriate tip. However, that sounded like a lot of work. The solid wire was still securely soldered to the ground, so instead of trying to attach it to the cable side of the plug, I could connect it to the computer side, by shoving it into the socket alongside the plug. The business end of the plug has a big silver ground surrounding small gold positive leads, and touching the ground with the wire should work just fine, right?
It did. The computer charged up as happy as you’d like. And yet, I was left with the distinct feeling the solution could have been, I don’t know, cleaner. Certainly, the iFixit route shown here comes out much cleaner by sliding off the housing, clipping the damaged wire, and beginning anew. Clean as this is, it’s just waiting to happen the same way again.
So, brethren and sistren, lay on with brickbats and tell what I did wrong. What approaches have you used to fix cables broken where they meet the plug housing, and how do you improve the situation for the future?
There’s always been interest in the computers of old, and people love collecting and restoring them. When [peterbjornx] got his hands on a DEC VT220 video terminal, it was in good shape – it needed a bit of cleaning, but it also needed a keyboard. [Peter] couldn’t afford to buy the keyboard, but the service manual for it was available, so he decided to convert a modern keyboard to work with his new terminal.
The original keyboard for the VT220 is the LK201. This keyboard communicates with the terminal using 8-N-1 (eight data bits, no parity, one stop bit) over RS232 at 4800 baud. This meant that it would be pretty simple to implement this on microcontroller in order to communicate with the terminal. [Peter] chose the Arduino Nano. However, the LK200 was more than just a keyboard for communicating with the terminal, it also housed a speaker and LEDs which the terminal used to communicate with the user. Rather than put these into the adapter unit, [Peter] decided to put these into the keyboard – a few holes and a bit of wiring, and they were in.
Back in the old days, when handing someone a DB serial cable when they asked for a DE serial cable would get you killed, KVM switchers were a thing. These devices were simple boxes with a few VGA ports, a few PS/2 ports, and a button or dial that allowed your input (keyboard and mouse) and output (video) to be used with multiple computers. Early KVMs were really just a big ‘ol rotary switch with far, far too many poles. Do you remember that PS/2 wasn’t able to be hot plugged? The designers of these KVMs never knew that.
Today, KVM switchers are a bit more complicated than a simple rotary switch. We’re not dealing with VGA anymore — we have HDMI muxes. We’re also not dealing with PS/2 anymore, and USB requires a bit of microelectronics to switch from one computer to another. For one of his many Hackaday Prize entries, [KC Lee] is designing a low-cost HDMI switch and USB mux. It works, it’s cheap, and if you need to switch a keyboard, mouse, and monitor between boxes, it’s exactly what you need.
First off, the HDMI switching. Designing a switch for HDMI would usually take some obscure parts, intricate routing, and a lot of prototyping time. [KC] found a way around this: just hack up a $5 HDMI switch. This cheap HDMI switch is as simple as it gets, with an HDMI mux doing the heavy lifting and an 8-pin microcontroller to handle the buttons and a selector LED.
For the USB, there are a few more design choices. For USB 1.x switching, [KC] figures he can get away with a 74HC4052 dual 4:1 analog mux. Yes, he’s doing digital with analog chips, the heathen. There are drawbacks to this: everything could break, and it’s only USB 1.x, anyway. For a USB 2.0 KVM, there are a few more professional options. The OnSemi NCN9252 is a proper USB 2.0 mux, and in the current design.