Building a double sideband reciever

David, Mark and I sat down one weekend to build a direct-conversion double-sideband (DSB) radio receiver.

Direct-conversion indicates that the desired signal is mixed directly down to baseband using a local oscillator (LO), with no intermediate steps. Double-sideband means that signals above and below our local oscillator frequency are superimposed on each other and output at baseband. Because of this, a DSB receiver can be used as an AM receiver, though we were only using it to receive single-sideband communications.

The design we chose to build was based on the Porta 40, from the November 2012 edition of Amateur Radio Australia by Peter VK3YE. The schematic for the circuit is not online, but an explanation is on YouTube and a similar design is the DC40. The components for the design could be purchased from a local electronics store, which made it attractive for fast prototyping and experimentation. As we couldn’t obtain 7.2MHz resonators quickly, we used 7.158MHz crystals. This limited our tuning range, but this was acceptable for our purposes.


With the parts in hand I built it up on some blank PCB material, starting with the local oscillator. While I built the LO Mark wound the transformers that were required for the mixers. We tested the LO with David’s old HP oscilloscope and found it resonating at 7.143MHz, close enough to the 7.158MHz we were expecting.


The pre-amp was pretty straight forward, with the exception of a mistake in the published schematic where the Zener diode was drawn with reversed polarity.

Pre-amp testing

Next up was the mixer. The hardest part of building this part was remembering which of the three windings had to go where. I recommend using different coloured wire for the windings, which reduces confusion and allows the design to be checked before powering on.


Finally the audio amp was built, and we tested the entire setup by connecting to the antenna on a pole, and the output to the soundcard on Mark’s laptop. Using some SDR software (Spectravue), we were able to tune to a SSB voice transmission right at the edge of our 24kHz of bandwidth provided by the soundcard. Not only had the design worked first time, but we were about to hear two operators from Victoria having a conversation using the SDR software!



Aside from using it as a single frequency analog voice receiver I plan to use this radio as a downconverter to demonstrate a SDR based implementation of FreeDV of Android.

Thanks to Peter VK3YE for publishing his design, and to David VK5DGR and Mark VK5QI for their help building and testing the radio.

High Altitude Arduino at

This January, for the 5th year in a row and the 6th time overall, I attended  This year I did not submit a main conference talk as I was busy finishing my final year project as the call for papers went out.  I did submit and have accepted two miniconf talks; one about my final year project for the Research and Student Innovation Miniconf, and another with Mark Jessop delivered at the Ardunio Miniconf.

Arduino Miniconf

For the past two conferences Jon Oxer, a microcontroller enthusiast from Melbroune, has run the Arduino Miniconf.  It grew out of past tutorials where Jon has provided Arduino boards for the audience to purchase and walked through how to program them.  It also replaced the Embedded Miniconf which was last run in Melbourne 2008.

The morning is set aside for hardware hacking, which for this group involves soldering together various through-hole PCBs containing various sensors attached to an Atmel ATmega microcontroller.  Add the Arduino bootloader and you have something that is commonly referred to as an Arduino – a term that indicates a certain ease of use for those who don’t want to get down and dirty with the specifics of a microcontroller’s programming interface and data types.  As Jon says in his call for papers, “the Arduino Miniconf gives hard-core software devs who typically attend an opportunity to experience the joy of hardware hacking”.

Our talk was titled Project Horus: High Altitude Arduino, and it introduced attendees to Project Horus and high altitude ballooning in general.  We focused on the hardware and software that is used, and explained how a balloon is tracked following a launch.  That lead nicely into some story telling where Mark and I told the tale of Horus 8, where Mark’s final year project flew as a payload and landed in the ocean, to be rescued by myself in a canoe and our project founder, Terry.


The two boards being assembled was the KitTen starter kit, and the MobSenDat, a flight computer designed by Luke Weston for recording telemetry in the model rockets that many attendees were building the following day.

MobSenDat top layer PCB layout

It is released as an open source design that you can download and re-use for free. The board contains the following instruments:

The software we flew was derived from the balloon telemetry code written by Terry and the sensor test code by Luke.  We named it MobSenDatHab, and it can be found here.

MobSenDat for Hight Altitude Ballooning

The 8MHz ATmega328P can store this information to SD card, or transmit it over either a XBee (yuck!) or a Radiometrix module; we used the 434MHz NTX2 on one board and the 151MHz TX1h. As we explained in the talk, the modules are used as a voltage controlled oscillator to transmit 300baud frequency shift keyed (FSK) RTTY data to a ground station.  The ground station consists of a upper side band (USB) receiver which mixes it down to audio frequencies, and a laptop which takes this audio signal and feeds it into fldigi, an opensource program for decoding various text-based modulation schemes used by amateur radio operators.

Joel with the MobSenDatHab Horus 14 payload

Horus 14

The week before the conference we had launched Horus 14; a multi-payload flight where we tested the first of the MobSenDat fight computers.  The board performed very well, and was able to be received at times that the normal Nut payload was not.  This could be explained by the higher transmit power – 10dBm vs 20dBm – however a small contribution could also be from the lower frequency used, as path loss is proportional to frequency.  The other payload we flew was a special one.  It contained the HD camera playload that had been flown before, but instead of simply filming the scenery, a small plush Tux – the Linux kernel’s mascot – was placed in the field of view.  Tux flew to 30 276m, covering 180km and flying for 2h 19m.

Horus 14 online tracker screenshot

We recorded 1080p footage all the way up and all the way down, but kept it secret until premiereing it at the miniconf.  It was enjoyed by all, and kept under wraps for a further two days until we showed it to the entire delegation of conference atendees.  Unfortunatly a technical error meant only half the video was seen, but everyone enjoyed it none the less.  Since then it has been made public, and has recieved 2 607 views to date.

In addition to showing people a cool video, the purpose of the flight was to create a unique item to auction off at the conference dinner.  In the past money has been raised for Tasmaian Devil face cancer research, and New Zealand emergency services.  This year the money raised was donated to the Queensland Premier’s Disaster Relief Appeal, to help out those who have suffered due to the extreme flooding in Queensland this summer.  The conference managed to raise $23,239, by auctioning off both the plush Tux and a large print of Tux at apogee signed by conference keynote speakers Mark Pesce, Eric Allman, Geof Huston and Vint Cerf, as well as Linus Torvalds.

Mark and Joel with the print signed by Linus and the keynote speakers