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”

Beating Bitlocker In 43 Seconds

How long does it take to steal your Bitlocker keys? Try 43 seconds, using less than $10 in hardware. Encrypting your hard drive is good security. If you’re running Windows, the most popular system is BitLocker, which has come with Windows since Vista. We’ve known for some time that Bitlocker could be defeated with direct access to the hardware. Microsoft claims that the process requires an attacker with skill and lengthy access to the hardware. [Stacksmashing] wanted to define lengthy, so he gave it a try. The result is a shockingly fast attack.

Anyone who uses Windows has probably run into Bitlocker. Your hard drive is encrypted, and Bitlocker runs silently in the background, decrypting data on demand.  The problem is key storage. In a simplified sense, encryption keys are stored in the Trusted Platform Module (TPM). When your computer boots, it reads the key from the TPM over the LPC (low pin count) bus, which is one of the last remnants of the original ISA bus.

Continue reading “Beating Bitlocker In 43 Seconds”

Pico-Sized Ham Radio

There are plenty of hobbies around with huge price tags, and ham radio can certainly be one of them. Experienced hams might have radios that cost thousands of dollars, with huge, steerable antennas on masts that can be similarly priced. But there’s also a side to the hobby that throws all of this out of the window in favor of the simplest, lowest-cost radios and antennas that still can get the job done. Software-defined radio (SDR) turned this practice up to 11 as well, and this radio module uses almost nothing more than a microcontroller to get on the air.

The design uses the capabilities of the Raspberry Pi Pico to handle almost all of the radio’s capabilities. The RF oscillator is driven by one of the Pico’s programmable I/O (PIO) pins, which takes some load off of the processor. For AM and SSB, where amplitude needs to be controlled as well, a PWM signal is generated on another PIO which is then mixed with the RF oscillator using an analog multiplexer. The design also includes a microphone with a preamplifier which can be fed into a third PIO; alternatively it can receive audio from a computer via the USB interface. More processor resources are needed when generating phase-modulated signals like RF, but the Pico is still quite capable of doing all of these tasks without jitter larger than a clock cycle.

Of course this only outputs a signal with a few milliwatts of power, so for making any useful radio contacts with this circuit an amplifier is almost certainly needed. With the heavy lifting done by the Pico, though, the amplifier doesn’t need to be complicated or expensive. While the design is simple and low-cost, it’s not the simplest radio possible. This transmitter sends out radio waves using only a single transistor but you will be limited to Morse code only.

Continue reading “Pico-Sized Ham Radio”

RP2040 picture on left by Phiarc, CC BY-SA 4.0, via Wikimedia

Kaluma Puts JavaScript On The RP2040

With a simple firmware update, Kaluma puts a lightweight JavaScript runtime on the Raspberry Pi Pico (which uses the RP2040 microcontroller), providing handy modules for file systems, graphics, networking, and more. Code for a simple LED blink can then look like:

// index.js
const led = 25;
pinMode(led, OUTPUT);
setInterval(() => {
digitalToggle(led);
}, 1000);

Development can then be done using tools that are very familiar to JavaScript developers, such as npm and flashing new code to a USB-connected Pico with the (Node.js-based) Kaluma command-line interface. Take a look at the GitHub repository for the project, or browse some of the projects made with Kaluma.

Much like with MicroPython, there’s value to be had in putting implementations of high-level languages on microcontrollers. Each new language opens embedded programming to a whole new group of coders. But it’s not just languages making their way to the RP2040. Wonderful projects such as emulating the ZX Spectrum on an RP2040 also happen.

Thanks to [Shri Hari Ram] for the tip!

Button, Button, Who’s Got The (Pico) Button?

There is an episode of Ren and Stimpy with a big red “history eraser’ button that must not be pressed. Of course, who can resist the temptation of pressing the unpressable button? The same goes for development boards. If there is a button on there, you want to read it in your code, right? The Raspberry Pi Pico is a bit strange in that regard. The standard one lacks a reset button, but there is a big tantalizing button to reset in bootloader mode. You only use it when you power up, so why not read it in your code? Why not, indeed?

Turns out, that button isn’t what you think it is. It isn’t connected to a normal CPU pin at all. Instead, it connects to the flash memory chip. So does that mean you can’t read it at all? Not exactly. There’s good news, and then there’s bad news.

The Good News

The official Raspberry Pi examples show how to read the button (you have read all the examples, right?). You can convert the flash’s chip-select into an input temporarily and try to figure out if the pin is low, meaning that the button is pushed. Sounds easy, right?

Continue reading “Button, Button, Who’s Got The (Pico) Button?”

Hands-Free Compass Uses Haptic Feedback

If you’ve never experienced it before, getting turned around on a cloudy day in the woods or getting lost during an event like a snowstorm can be extremely disorienting and stressful — not to mention dangerous. In situations where travel goes outside the beaten path, it’s a good idea to have some survival gear around, including a good compass. But if you need your hands for other things, or simply don’t want to have to stop often to check a compass, you might want to try out something like this belt-mounted haptic feedback compass.

The compass is based around a Raspberry Pi Pico microcontroller and uses a ULN2803a transistor array chip to control a series of motors. The motors are mounted all along a belt using custom 3D printed clips with wires woven to each through the holes in the belt. The firmware running on the belt communicates with an Android app via USB to control each of the motor’s vibration based on the direction the wearer is traveling and their desired heading. With certain patterns, the wearer can get their correct heading based on the vibrations they feel through the belt.

While it does rely on having a functioning phone, a modern smartphone’s built-in compass doesn’t require a signal to work. We would still recommend having a good simple compass in your pack as backup if you’re going to be far off the beaten path, though. There are other ways of navigation besides by compass, map, or GPS too. Have a shot at inertial navigation if you want a challenge.

Thanks to [Peter] for the tip!

Arbitrary Waveforms On The Cheap

A signal generator that can produce the usual sine, square, and triangle waves is handy and has been a staple of electronic benches for decades. Being able to craft custom signals opens up new horizons, but historically, these instruments were expensive. The price has come down, though, and [Rishin Goswami] made a 5 MHz 8-bit signal generator with 131K data points of arbitrary waveform for a low price: about $20. If you want to spend a bit more, you can improve the output DAC and op amps, but even that should cost well under $100, all in.

This is one of those projects that seems easy until you start digging into it. For example, storing some points and generating signals using any microcontroller isn’t a big deal. But minimizing jitter and maximizing speed with a conventional processor is difficult. That’s why [Rishin] uses a Raspberry Pi Pico. The programmable I/O units are perfect for generating waveform data fast and reliably. You can see the project go through its paces in the video below.

The Pi streams data to an 8-bit DAC. However, it would be easy to improve resolution with a different converter. The DAC0808 also limits the instrument’s sample rate. The processor could likely go much faster if it had a DAC accommodating higher speeds.

This is just a proof-of-concept, so don’t expect fancy GUIs or the ability to import spreadsheets. You control the device from a command-line-like interface. Still, a good example of how to take advantage of the Pi’s hardware. We took a shot at a similar device nearly a decade ago. Those programmable I/O blocks are finding uses in some surprising applications.

Continue reading “Arbitrary Waveforms On The Cheap”