Demodulating BPSK31 With OpAmps and 555s

BPSK31 is an extremely popular mode for amateur radio operators; it’s efficient and has a narrow bandwidth and can be implemented with a computer sound card or an Arduino. Just like it says on the tin, it’s phase shift keying, and a proper implementation uses a phase detection circuit or something similar. [Craig] thought it would be fun to build an analog BPSK31 demodulator and hit upon the idea of doing this with amplitude demodulation. No, this isn’t the way you’re supposed to do it, but it works.

Data is transmitted via BPSK31 with a phase shift of 180 degrees being a binary 0, and no phase shift being a binary 1. [Craig]’s circuit uses an op-amp and a pair of diodes to do a full wave rectification of the signal, which basically makes a binary 1 logic high, and binary 0 logic low.

This rectified signal is then fed into a comparator, making the output go high when the signal is above 2V, and low when the signal is below 1V. That’s all you need to do to get bits out of the signal, all [Craig] had to do after that was figure out a way to sample it.

A 555 set up in astable mode running at 31.25 Hz provides the clock, synchronized with the signal by connecting the comparator’s output to the 555 trigger input. The timer clock ends up being slightly slower, but thanks to the varicode character set, the maximum number of binary ones the circuit will see is nine; every time the trigger sees a zero, the timer’s trigger is reset, re-synchronizing the receiver’s clock.

Yes, it’s a hack, and no, this isn’t how you’re supposed to receive PSK. It does, however, work, and you can thank [Craig] for that.


Direct Digital Synthesis (DDS) Explained by [Bil Herd]

One of the acronyms you may hear thrown around is DDS which stands for Direct Digital Synthesis. DDS can be as simple as taking a digital value — a collection of ones and zeroes — and processing it through a Digital to Analog Converter (DAC) circuit. For example, if the digital source is the output of a counter that counts up to a maximum value and resets then the output of the DAC would be a ramp (analog signal) that increases in voltage until it resets back to its starting voltage.

This concept can be very useful for creating signals for use in a project or as a poor-man’s version of a signal or function generator. With this in mind I set out here to demonstrate some basic waveforms using programmable logic for flexibility, and a small collection of resistors to act as a cheap DAC. In the end I will also demonstrate an off-the-shelf and inexpensive DDS chip that can be used with any of the popular micro-controller boards available that support SPI serial communication.

All of the topics covered in the video are also discussed further after the break.

Continue reading “Direct Digital Synthesis (DDS) Explained by [Bil Herd]”

Long-distance High Frequency APRS Tracking Using The FreeTrak63


If you dabble in the ham radio hobby we’re sure you’ve heard of GPS position monitoring or tracking using APRS packet data commonly transmitting over the VHF ham band and FM modulated. One of the issues you’ll face using this common method is range limitations of VHF. [Mike Berg] a.k.a [N0QBH ] tipped us off to his latest project to greatly increase the range of a standalone APRS system utilizing the HF bands on single-sideband (SSB).

There are some unique challenges transmitting packet data using SSB over HF bands.  High Frequency APRS has been around for decades utilizing FSK AX.25 packet transmissions at 300 baud, but it was quite susceptible to noise and propagation aberrations. More recently PSK-31 at the slower 31 baud speed helped alleviate many of these issues. [Mike] utilized the somewhat updated APRS with PSK-63 and the “APRS Messenger” program to overcome these challenges. [Mike’s] hardware solution consists of a PIC 16F690 micro which is coded to receive data from a GPS receiver, convert it into PSK-63 and then transmit on 30 meters over an attached HF radio. A second receiving station or stations at great distances can pick up and decode the transmission using the “APRS Messenger” program connected to the receiving radio over the computer’s soundcard. The program can then forward the tracking information, if good, to tracking websites like and APRS.FI.

You can build your own FreeTrak63 by downloading [Mike’s] parts list, assembly code, HEX file, manual and schematic. The PCB is available on OSH Park if you don’t want to make your own or wire point-to-point. Let’s not forget to mention how hackable this hardware is, being really just an eight bit DAC, micro, serial in and radio out. One could reprogram this hardware to do other modulation schemes like AX.25 packet or MFSK16, the sky’s the limit. If short-distance on VHF with existing Internet linked receiver networks using an Arduino compatible platform is more to your taste, then checkout the Trackuino open source APRS Tracker.