29 March 2013

Developing a HF transceiver around an Arduino - abandoned project

As you probably know, the Arduino platform is a very useful toy for development of electronic gizmos, and after I saw the Myriad RF project I started thinking how a small portable HF transceiver could be developed around the versatility the Arduino provides. The idea is to keep in line with the Arduino philosophy and level of knowledge, so the end product should be fairly simple and affordable, but still offering alot of fun.

These are my targets:
- 8-band SSB transceiver (LSB: 80m/40m, USB: 20m/17m/15m/12m/11m/10m)
- weight: 500 grams
- output: 10W
- sensitivity: 0.5uV
- consumption: [email protected] standby / [email protected] TX
- display: mode, frequency, step, supply voltage, S-meter, SWR
- encoder VFO with 2 selectable steps
- bandswitch button

Right away, the BITX concept seemed like a good match as the RF part of the Arduino: it is a simple and very popular HF transceiver, the performance is decent, there is a ton of documentation and the schematic and inner workings are easy to understand even to the less experienced in RF constructions. Plus, less complexity means smaller necessary space, and it might be perfect for portable QRP operations, wich is another interest of mine.

The "BITX" board is basically the main BITX multiband board that includes AGC / S-meter output; the front panel is made out of a 16x2 HD44780 LCD and 74HCT164 shift registers (to use less Arduino pins), a rotary encoder, 2 push-buttons, a volume knob and microphone and speaker outputs. The PA & BPF board will include a 10 Watt RD16HHF1 amplifier and 8 bandpass filters, and the "Arduino" board besides the Arduino includes an AD9850 DDS module, the kind you find very cheap on eBay. It replaces the original BITX VFO, can generate frequencies from 0 to 40MHz, needs 4 wires for control and a +5V supply from the Arduino board.

I am still working on the concept a bit, but I have the heart of it already working, the Arduino + encoder and buttons + AD9850.

This is the most power-hungry section on recieve and takes 185mA with these settings, leaving about 215mA for the reciever. The low-pass filter in the AD9850 module is centered around 70MHz, wich means it's useless in this application and needs to be redone. At 28MHz the strongest DDS spur is at -50dBc, wich isn't really great, so I decided to have the VFO work below the recieved signal when over 10MHz and above the recieved signal when below 10MHz, this way the spectrum image will also flip so no other adjustment is necessary to switch between LSB and USB when below / above 10MHz. Thsi will also keep the DDS frequency lower (19.7MHz is the highest, in order to get a 10MHz IF from a 29.7MHz signal), where it is cleaner.

I will continue to work on this project and I will publish detailed schematics and firmware; everything is open source, well documented, easily accesible and allows alot of customisation, plus in the end the Arduino's MCU can be ported to a customised PCB to make everything more compact.

Edit: I have abandoned this project as I didn't have enough time to work on it and there are other similar projects published online, plus now there are much btter solutions than the AD9850, such as the Si5351. Ten Tec 507 Patriot is an open-source Arduino HF transceiver that can serve as inspiration to those willing to develop something around Arduino.


  1. Brilliant!!! This should result in a great radio.
    Can you please publish the "sketch", I do like the way you control the AD9850.

  2. Great, waiting for your good work,
    VU2SPF (Ex vu3seg)

  3. Very good work. I wish I can get the code from you for interfacing the DDR AD 9850 and Arduino ATmega 328 with Hitachi LCD (16 X 2) and a rotary encoder so that I can have a full band HF VFO which can serve as a foundation for many future projects. Kindly send me the full code in PDF or word format as my computer is having a problem opening .INO extensions. Thanks in advance for your time.
    Email: [email protected]

  4. Beautiful Job kept it up
    de vu3kd

  5. What a cool development!!!
    Please contact me, I want to work in somthing like this.
    Felipe CD6523

    [email protected]

  6. Felicitari !

    super idee :)

  7. I really liked your idea.
    If possible send me the diagram and the .hex for Display.
    And I wait anxiously for the end of the project you have in mind.
    Again congratulations. !!!
    sv1 iyb
    e-mail: [email protected]
    Thank you very much in advance

  8. Cum te descurci cu zgomotul DDS-urilor de pe ebay? Am descoperit ca sunt exemplare ratate care cam pica la controlul de calitate si sunt pline de spurii. Aproape de nefolosit. Tu cum te-ai descurcat? 73 de Adrian YO3HJV

  9. AD9850 are in general probleme cu spuriile peste 20Mhz, solutia e sa nu treci de frecventa asta. Oricum proiectul e abandonat, intre timp altii au ajuns mai departe iar documentatia e publica si exista solutii mult mai bune decat AD985x la un pret foarte competitiv, de ex Si5351.

  10. I liked the whole idea of your project and I am sorry that you have abandon it. It would be great if you could post the schematics for the project so far.
    Best 73 de sv1eex - Nik