Learning Morse Code With A DIY Trainer

Morse code, often referred to as continuous wave (CW) in radio circles, has been gradually falling out of use for a long time now. At least in the United States, ham radio licensees don’t have to learn it anymore, and the US Coast Guard stopped using it even for emergencies in 1999. It does have few niche use cases, though, as it requires an extremely narrow bandwidth and a low amount of power to get a signal out and a human operator can usually distinguish it even if the signal is very close to the noise floor. So if you want to try and learn it, you might want to try something like this Morse trainer from [mircemk].

While learning CW can be quite tedious, as [mircemk] puts it, it’s actually fairly easy for a computer to understand and translate so not a lot of specialized equipment is needed. This build is based around the Arduino Nano which is more than up for the job. It can accept input from any audio source, allowing it to translate radio transmissions in real time, and can also be connected to a paddle or key to be used as a trainer for learning the code. It’s also able to count the words-per-minute rate of whatever it hears and display it on a small LCD at the front of the unit which also handles displaying the translations of the Morse code.

If you need a trainer that’s more compact for on-the-go CW, though, take a look at this wearable Morse code device based on the M5StickC Plus instead.

Continue reading “Learning Morse Code With A DIY Trainer”

Displays We Love Hacking: DSI

We would not be surprised if DSI screens made up the majority of screens on our planet at this moment in time. If you own a smartphone, there’s a 99.9% chance its screen is DSI. Tablets are likely to use DSI too, unless it’s eDP instead, and a smartwatch of yours definitely will. In a way, DSI displays are inescapable.

This is for a good reason. The DSI interface is a mainstay in SoCs and mobile CPUs worth their salt, it allows for higher speeds and thus higher resolutions than SPI ever could achieve, comparably few pins, an ability to send commands to the display’s controller unlike LVDS or eDP, and staying low power while doing all of it.

There’s money and power in hacking on DSI – an ability to equip your devices with screens that can’t be reused otherwise, building cooler and cooler stuff, tapping into sources of cheap phone displays. What’s more, it’s a comparably underexplored field, too. Let’s waste no time, then!

Decently Similar Internals

DSI is an interface defined by the MIPI Alliance, a group whose standards are not entirely open. Still, nothing is truly new under the sun, and DSI shares a lot of concepts with interfaces we’re used to. For a start, if you remember DisplayPort internals, there are similarities. When it comes to data lanes, DSI can have one, two or four lanes of a high-speed data stream; smaller displays can subsist with a single-lane, while very high resolution displays will want all four. This is where the similarities end. There’s no AUX to talk to the display controller, though – instead, the data lanes switch between two modes.

Continue reading “Displays We Love Hacking: DSI”

Displays We Like Hacking: HDMI

I don’t like HDMI. Despite it being a pretty popular interface, I find crucial parts of it to be alien to what hackers stand for. The way I see it, it manages to be proprietary while bringing a lot of the old cruft in. It doesn’t have a native alternative like DisplayPort, so portable implementations tend to suffer power-wise; the connector situation is interesting, and the HDMI Foundation has been doing some weird stuff; in particular, they are pretty hostile to open-source technology.

This article is not the place for such feelings, however, especially since I’ve expressed them enough in the DisplayPort article. We the hackers deserve to be able to handle the interfaces we stumble upon, and I firmly believe in that way more than in my right to animosity towards HDMI.

The HDMI interface is seriously prominent wherever you look, in part because it’s the interface created by the multimedia-involved companies for the multimedia-involved companies. Over the years we’ve had it, it’s been more than sufficient for basically everything we do video-wise, save for the highest resolutions.

It’s also reasonably simple to wire up, hack on, and even bitbang. Let’s go through what makes it tick.

The Core

HDMI is, at its core, three differential pairs for data, plus one pair to clock them and in the darkness bind them. It’s a digital interface, though it is a fun one. This makes it way more suitable for higher-distance video transmissions than interfaces like VGA, and as long as you stick to relatively low resolutions, HDMI won’t have as many asks in terms of PCB layout as DisplayPort might, thanks to HDMI link speeds scaling proportionally with the display resolution.

Continue reading “Displays We Like Hacking: HDMI”

Old Dot-Matrix Displays Give Up Their Serial Secrets

If there’s one thing we like better around here than old, obscure displays, it’s old, obscure displays with no documentation that need a healthy dose of reverse engineering before they can be put to use. These Plessey dot-matrix displays are a perfect example of that.

We’re not sure where [Michael] scored these displays, but they look fantastic. Each 8-pin DIP has two 5×7-matrix, high-visibility LED displays. They bear date codes from the late 80s under the part number, GPD340, but sadly, precious little data about them could be dredged up from the Interwebz. With 70 pixels and only six pins after accounting for power and ground, [Michael] figured there would be a serial protocol involved, but which pins?

He decided to brute-force the process of locating them, using a Pico to sequentially drive every combination while monitoring the current used with a current sensor. This paid off after only a few minutes, revealing that each character of the display has its own clock and data pins. The protocol is simple: pull the clock and data pins high then send 35 bits, which the display sorts out and lights the corresponding pixels. The video below shows a 12-character scrolling display in action.

Plessey made a lot of displays for military hardware, and these chunky little modules certainly have a martial air about them. Given that and the date code, these might have come from a Cold War-era bit of military hardware, like this Howitzer data display which sports another Plessey-made display.

Continue reading “Old Dot-Matrix Displays Give Up Their Serial Secrets”

Clock Mixes Analog, Digital, Retrograde Displays

Unique clocks are a mainstay around here, and while plenty are “human readable” without any instruction, there are a few that take a bit of practice before someone can glean the current time from them. Word clocks are perhaps on the easier side of non-traditional displays but at the other end are binary clocks or even things like QR code clocks. To get the best of both worlds, though, multiple clock faces can be combined into one large display like this clock build from [imitche3].

The clock is actually three clocks in one. The first was inspired by a binary clock originally found in a kit, which has separate binary “digits” for hour, minute, and second and retains the MAX 7219 LED controller driving the display. A standard analog clock rests at the top, and a third clock called a retrograde clock sits at the bottom with three voltmeters that read out the time in steps. Everything is controlled by an Arduino Nano with the reliable DS3231 keeping track of time. The case can be laser-cut or 3D printed and [imitche3] has provided schematics for both options.

As far as clocks builds go, we always appreciate something which can be used to tell the time without needing any legends, codes, or specialized knowledge. Of course, if you want to take a more complex or difficult clock face some of the ones we’re partial to are this QR code clock which needs a piece of hardware to tell the time that probably already has its own clock on it.

Pixel Graphics From An HD44780, By Cutting Wires

[Felipe Tavares] wasn’t satisfied with the boring default fonts on an HD44780-based display. And while you can play some clever tricks with user-defined characters, if you want to treat the display as an array of pixels, you’ve got to get out your scalpel and cut up a data line.

The hack builds on work from [MisterHW] who documented the bits going from the common display driver to the display, and suggested that by cutting the data line and sending your own bits, you could send arbitrary graphics. The trick was to make sure that they’re in sync with the display, though, which means reading the frame sync line in user code.

This done, it looks like [Felipe] has it working! If you can read Rust for the ESP32, he has even provided us with a working demo of the code that makes it work.

We can’t help but wonder if it’s not possible to go even lower-level and omit the HD44780 entirely. Has anyone tried driving one of these little LCD displays directly from a microcontroller, essentially implementing the HD44780 yourself?

Any way you slice it, this is a cool hack, and it opens up the doors to DOOM, or as [MisterHW] suggests, Bad Apple on these little displays . If you do it, we want to see it.

If your needs aren’t so exotic, the classic HD44780 display is a piece of cake to get working, and an invaluable tool in anyone’s toolbox.

Keep Tabs On PC Use With Custom Analog Voltmeter

With the demands of modern computing, from video editing, streaming, and gaming, many of us will turn to a monitoring system of some point to keep tabs on CPU usage, temperatures, memory, and other physical states of our machines. Most are going to simply display on the screen but this data can be sent to external CPU monitors as well. This retro-styled monitor built on analog voltmeters does a great job of this and adds some flair to a modern workstation as well.

The build, known as bbMonitor, is based on the ESP32 platform which controls an array of voltmeters via PWM. The voltmeters have been modified with a percentage display to show things like CPU use percentage. Software running on the computers sends this data in real time to the ESP32 so the computer’s behavior can be viewed at a glance. Each voltmeter is also augmented with RGB LEDs that change color from green to red as use increases as well. The project’s creator, [Corebb], also notes that the gauges will bounce around if the computer is under heavy load but act more linearly when under constant load, also helping to keep an eye on computer status.

While the build does seem to rely on a Windows machine to run the software for export to the monitor, all of the code is open-sourced and available on the project’s GitHub page and could potentially be adapted for other operating systems. And, as far as the voltmeters themselves go, there have been similar projects in the past that use stepper motors as a CPU usage monitor instead.

Continue reading “Keep Tabs On PC Use With Custom Analog Voltmeter”