I unlocked a Baofeng GM-5RH GMRS radio to transmit on non-GMRS frequencies by reflashing it with firmware from Amo Xu’s 5RM/5RH reverse engineering project. The hardware of the GM-5RH is identical to the UV-5RH ‘L’ version with an AT1846S transceiver chip, so I was able to just wipe and reflash the MCU through its SWD port and turn the GM-5RH into a UV-5RH.

I attempted to use the firmware upgrade tool to ‘update’ the radio over its serial port, but it was unable to connect. The GMRS version has a different code to start programming frequncies than other radios, so perhaps it also has a different code to start a firmware upgrade.

Yesterday I was working on my Manjaro Linux laptop when everything slowed to a crawl. I determined the cause to be extremely slow disk write speeds (slow as in maxed out at 2MB/s with the activity light solid on). The drive is a half-full 1TB SATA SSD (T-Force Vulcan Z) that is less than a year old, so I wasn’t expecting it to fail, but I checked the SMART diagnostics anyway. It was mostly fine, other than a pre-fail warning for the number of bad blocks. Out of curiosity I decided to calculate how much data I had written to it using the statistics for the lifetime number blocks written. The total data written came out to about 998GB– almost exactly the size of the drive!

This awesome piece of hardware was claimed to be a punched paper tape reader controller from 1962. I, with no hesitation, picked it up.

Opening it up confirmed that it was indeed awesome, although the chip date codes put the manufacture date closer to 1970. The right-hand side is taken up by a gigantic transformer and smoothing capacitor. The left-hand side is a group of five logic boards, with a sixth routing the signals from the front panel and connectors to the backplane. The six boards are connected with a big wire-wrapped backplane.

Could 74xx logic run Linux?

Why not?

I’ve already built something that could be considered a computer. It can’t run native code besides what is on its ROM, so it can’t run a conventional operating system, but it seems like its flaws could be easily rectified. Maybe a bigger 32-bit processor with more registers and a bigger address width could run an operating system. It could, kind of, but a real computer has a more features that are necessary to run an operating system.

A Radio Clock

Design files and code

I found this King KI 266 DME Indicator, part of a 1970s DME radio navigation system that would have been mounted in an airplane cockpit. I only have the display part, so unfortunately I won’t be able to use it to navigate, but it does have two awesome gas-discharge seven-segment Panaplex displays. These types of displays operate similar to Nixie tubes (high voltage makes the neon glow), but each cathode is a segment instead of an entire number.

Choices, choices…

There are lots of ways to do digital logic.

I choice NMOS because I wanted to.

For the N-channel MOSFETs, I chose 2N7002 in SOT-23 because it was the cheapest. I ended up with 9.1k pullup resistors and 12V supply because it was convenient and seemed to be a reasonable speed compromise (a few hundred ns switching time / 16mW static power). Parts are $0.032/inverter at quanity and cover about 20mm² of board area in 0805/SOT-23.

Git repository

Overview

VMP is a processor. A very mediocre one. It’s an 8/16-bit Harvard architecture RISC CPU built with 1565 discrete transistors. It can runs at about 30,000 instructions/second, consuming approximately 8W (similar to my entire laptop idling at a few gigahertz).

The actual VMP CPU is the stack of boards in the middle of the photo. To the left is a standard IDE hard drive from an old desktop. To the right is a power supply, also from an old desktop, providing 12V for the CPU and 5V for everything else. The vertical protoboard behind is the memory board, which functions similarly to a normal PC motherboard. It has 512kB RAM, 256k x 16bit FLASH program memory, a bank select register for these memories, an RS-232 serial port, and connectors for the hard drive. The demonstration application using almost all of the peripherials was reading ebooks from the hard drive over a serial terminal.