Arcade Buttons Make A Great Multimedia Keyboard

[Giovanni Bernardo] has a very important job – managing the audio for several Christmas events. Desiring a simple and effective control interface, he designed a dedicated media keyboard to run the show.

The project began with an Arduino Leonardo, commonly used in projects that aim to create a USB Human Interface Device. [Giovanni] then installed the HID-Project library from [Nicohood]. This was used to enable the device to emulate media buttons typically found on keyboards, something the standard Arduino HID libraries were unable to do. It’s a useful tool, and one that can be implemented on even standard Arduino Unos when used in combination with the HoodLoader2 bootloader.

For ease of use and a little bit of cool factor, arcade buttons were used for the media functions. Simple to wire up, cheap, and with a great tactile feel, they’re a popular choice for fun human interface projects. It’s all wrapped up in a neat plastic box with Dymo labels outlining the functions. It’s a neat and tidy build that should make running the Christmas show a cinch!

Macro Foot Stool Helps Me Get A Leg Up On Work

Macros are meant to make our lives easier, but they live up to this promise with mixed results. Generally speaking, a macro is a special combination of keys on the keyboard that execute a custom task — their goal is to speed up your productivity by getting away from mousing through menus. But once a macro requires more than two keys, they can get a bit cumbersome to input. I have personally found that repeated use of macros that require ctrl+shift can potentially cause problems. I don’t know about you (and your repetitive stress mileage may vary), but personal injury is the polar opposite of what I want from something that’s supposed to be convenient.

The more I thought about how nice it would be to have a field of dedicated one-punch macro keys, the more incomplete my life seemed without it. Every uncomfortable three-key shortcut I chorded was more motivational than the last.

I love keyboard shortcuts, and not just because I prefer keyboard navigation in general. A lot of little things about writing for the web can be streamlined with shortcuts, like writing html tags and doing image manipulation. And I’m always looking for a better workflow to pin down my fleeting mental fragments, at least until that dark day that I can turn on Dropbox Thoughts™ and burn my brainwaves directly to disk.

Continue reading “Macro Foot Stool Helps Me Get A Leg Up On Work”

Universal Interface Board Comes To The Rescue Of Bigger Projects

As soon as a project involves other assemblies, parts, or modules, things get more complicated. Devices like fans, cooling units, probes, pumps, or lighting might have simple electrical requirements, but they are rarely identical. As a result, one’s tidy project ends up having to deal with, for example, a pump that is controlled with 5 V active high logic, a sensor that outputs 5 V active low, lights that expect to be switched with 24 VDC, and a fan that needs a relay right now. But that might change in the future.

That’s exactly what led [Lukas Fässler] to design and build the Universal Interface, a board intended to be a kind of universal translator and interface for all such devices. The idea is to have one Universal Interface board for every external device. For each board, a wide variety of input combinations controls a single output. The boards are “hardware programmable” in the sense that jumpers (zero-ohm resistors) are used to spell out in black and white exactly what combinations of inputs result in which output state. In this way, some standardization and clarity of control can be enforced while still being flexible enough to accommodate changes.

Jumper-configured logic table defining with utter clarity which combination of inputs results in an OFF or ON.

Each Universal Interface board has three inputs and an enable line, each with their own indicator LED visually confirming its state. The inputs are 24 V tolerant and each can be configured with a pull-up, a pull-down, and as an active high or active low. There is one output, but it takes several forms: a sturdy relay, a powerful open-collector output, a 5 V logic output, and a 24 V logic output. Configuring which output state corresponds to what combination of inputs is set by jumpers, so the board is very much WYSIWYG.

[Lukas] is currently using four of these devices with his CNC mill project, all in different configurations, and they’re working reliably. Interested? The GitHub repository for the project has all the board design files.

Software Defined Radio Gets Physical Control

Software Defined Radio (SDR) is a great technology, but there’s something so satisfying about spinning a physical knob to cruise the airwaves. Wanting to restore that tactile experience, [Tysonpower] purchased a cheap USB volume knob and set out to get it working with his software. Unfortunately, getting it up and running took a lot more work than you’re probably expecting.

Programming the knob’s STM32

After verifying that the knob worked for volume control on his computer, [Tysonpower] decided to try and pull the firmware from the device’s STM32 microcontroller. Unfortunately, this is where things got tricky. It turned out the chip had Code Protection enabled, so when it was wired up to a programmer and put into DFU mode, the firmware got wiped. Oops.

That left [Tysonpower] with no choice but to write a new firmware from scratch, which naturally required reverse engineering the device’s hardware. Step one was reading up on STM32 development and getting the toolchain working, which paved the way to getting the knob’s LED to blink. A couple more hours worth of work and some multimeter poking later, and he was able to read the knob’s movement. He describes getting USB HID working as a nightmare due to lack of documentation, but eventually he got that sorted out as well.

The end result is a firmware allows the volume knob to mimic a mouse scroll wheel, which can be used for tuning in many SDR packages. But we think the real success story is the experience [Tysonpower] gained with reverse engineering and working with the STM32 platform. After all, sometimes the journey is just as important as the end result. Continue reading “Software Defined Radio Gets Physical Control”

Line Printer Does Its Best Teletype Impression

Back in the early days of computing, user terminals utilized line printers for output. Naturally this took an incredible amount of paper, but it came with the advantage of creating a hard copy of everything you did. Plus it was easy to annotate the terminal output with nothing more exotic than a ballpoint pen. But once CRT displays became more common, these paper terminals (also known as teleprinters, or teletypes) quickly fell out of style.

A fan of nostalgic hacks, [Drew DeVault] recently tried to recreate the old-school teletype experience with (somewhat) more modern hardware. He picked up an Epson LX-350 line printer, and with a relatively small amount of custom code, he was able to create a fairly close approximation of what it would have been like to use one of these terminals. He’s published all the source code, so if you’ve got an old line printer and a Linux box, you too can learn what it was like to measure your work day in reams of paper.

This is made possible by the fact that the modern Linux virtual terminal is simply a userspace emulation of those physical terminals of yore. [Drew] just need to write some code that would essentially spawn a shell on the Linux USB line printer device, plus sprinkle in some quality of life improvements such as using Epson’s proprietary ANSI escape sequences to feed the paper out far enough so the user can see what it says before pulling it back in to write the next interactive line.

Of course, the experience isn’t perfect as the printer naturally doesn’t have a keyboard attached to it. If you’re looking for something a bit more authentic, you could always convert an old electric typewriter into a modern-ish teletype.

Vintage Plotter Gets Bluetooth Upgrade

Recently [iot4c] stumbled upon this gorgeous Robotron Reiss plotter from 1989, brand-new and still in its original box. Built before the fall of the Berlin Wall in East Germany, it would be a crime to allow such a piece of computing history to go unused. But how to hook it up to a modern system? Bad enough that it uses some rather unusual connectors, but it’s about to be 2020, who wants to use wires anymore? What this piece of Cold War hardware needed was an infusion of Bluetooth.

While the physical ports on the back of the Robotron certainly look rather suspect, it turns out that electrically they’re just RS-232. In practice, this means converting it over was fairly straightforward. With a Bolutek BK3231 Bluetooth module and an RS-232 to UART converter, [iot4c] was able to create a wireless adapter that works transparently on the plotter by simply connecting it to the RX and TX pins.

A small DC buck converter was necessary to provide 3.3 V for the Bluetooth adapter, but even still, there was plenty of room inside the plotter’s case to fit everything in neatly. From the outside, you’d have no idea that the hardware had ever been modified at all.

But, like always, there was a catch. While Windows had no trouble connecting to the Bluetooth device and assigning it a COM port, the 512 byte buffer on the plotter would get overwhelmed when it started receiving commands. So [iot4c] wrote a little script in Node.js that breaks the commands down into more manageable chunks and sends them off to the plotter every 0.1 seconds. With this script in place the Robotron moved under its own power for the first time in ~30 years by parsing a HP-GL file generated by Inkscape.

If you’re interested in a plotter of your own but don’t have a vintage one sitting around, never fear. We’ve seen an influx of DIY plotters recently, ranging from builds that use popsicle sticks and clothespins to customizable 3D printed workhorses.

A Tiny Terminal For Your Serial Access Needs

Some pieces of computing equipment have faded away without a trace, for example a modem is not a device that detains many hackers as they strive for that perfect emulation of a venerable Hayes on an Arduino. But there are some other devices that continue to hold a fascination, even years after they departed from the professional arena. A great example is the serial terminal. Once to be found on many a desk as it provided a way into a minicomputer, it has long ago been supplanted by terminal emulators or simply other portals into computing services such as the web. But in our community there are still plenty of serial terminals to be found, for example [RedHog]’s little emulated VT220 on an ESP8266 platform.

If you were hoping for a full-green screen and keyboard to plug into a hefty D-connector serial port then you’ll be a bit disappointed, as with a tiny screen and only a few buttons on a dev board or an Arduboy it’s not going to allow any 1337 vi mastery even with its on-screen keyboard. Take a look, we’ve placed a video below the  break. But despite all that it shows promise, with ability to use either the logic-level serial port or the USB serial interface. We can see that it might find a use as a serial display though, but it would fascinate us to see what could be done were it to use the 8266’s on-board WiFi in some form. If you’d like to experiment you can do so with the code on GitHub.

This isn’t the first such terminal we’ve seen here before of course, some of them have been extremely practical, while others we just want to own because they’re cool.

Continue reading “A Tiny Terminal For Your Serial Access Needs”