Monday, 4 November 2019

TFT display

There are some interesting TFT 3.5" displays on the market today. These plug directly into an Arduino, but if this is an UNO then they occupy all the I/O pins! But if an Arduino Mega is used then there are more than ample other pins to use - both digital and analog.

There is also a couple of libraries which make programming the display relatively easy

- Adafruit GFX
- MCUFRIEND_kbv (what a kinky name!)

These can be used natively to address the display.

But I have re-written my popular OLED header (Oled.h) which provides functions suitable for many Amateur Radio applications - Bar graphs, Frequency, Date & Time, messages...

This is called TFT.h

All the info you need to use this header file in on my site Here you will find the libraries needed and a TFT TEST sketch (under UTILITIES) so you can try it out and learn how to use it.

Thursday, 17 October 2019

Update!!! ADF4351 GHz VFO

There has been some updates to the code for my ADF4351 VFO.

Arduino Sketch
Arduino library ADS4351

Try it out. It drives an I2C OLED screen.

CubicSDR on Macbook.

A tuneable VFO version is also on my download site

This implementation has some limitations because the Arduino Uno (Funduino) has only 32 bit maths, and at low frequencies 32bit division foxes the UNO and at high frequencies 32bit is not enough to calculate the parameters for programming the chip. It should be good for 100MHz to 3GHz or so.

Monday, 14 October 2019

Club ZEST - grow your club


So you are new to amateur radio? You thought it might be an interesting hobby and exciting exploration of communication technology and design. After all you have an electronics technical background. Or maybe you simply would like to talk to the world?

But sadly, it doesn't happen. You get your licence then find that all it consists of is buying a multi-thousand pound black box (ICOM, YAESU, KENWOOD etc) and stringing up a piece of wire in your garden. And that's it. Now you find the amatuer radio bands are quiet and few people want a chat or even a contact.

This outcome has some activites though, you simply take your expensive blackbox into the nearest meadow (or distant island paradise), chuck your antenna up a tree and use it from there. Its called a field day or a contest as you swap call signs and 5 & 9's with as many people as you can.

And then there are radio clubs who do little else than occasionally activities, while spending the rest of their time chit-chatting, more often than not on other subjects but Amateur Radio.

But do not despair, there are a few activities, shrouded in mystery that are pioneering things, for eaxmple Amateur Digital TV or Satellite communicaitons, with strong but somewhat clique clubs that you can join. And there is a background of indivual world-wide bloggs of rather poor content for you to browse. There is also your own RSGB organisation, who have a boring magazine with few stimulating articles except constant reviews of commercial gear and the occasional shallow technical briefing.

At the Banbury Amateur Radio Society we do things differently. We supply ZEST. A deeper interest in what make our hobby tick. In learning about the electronics and signaling technicques of radio, of embedding competance in software coding and in buliding examples of equipment to use this knowledge. We call it "Learn - Code - Build". It has in the last 4 years doubled our meetings to four a month, is well attended and has covered many interesting projects.

For example,

1. Software Defined Radio, when SDRs were almost un heard of and noone had seen a waterfall. A project to design and build an SDR receiver, as an example for 40m. Using a digital sythesiser Si5351, an IQ generator 74HC74 and a Tayloe detector FT3253 & dual op amp. Giving IQ audio outputs (0-100kHz stereo audio) to a PC running free HDSDR software. The club designed the PCBs and sourced kits of components for 10-15 people to build the system. It worked very well and opened a lot of eyes.

2. A more integrated SDR covering the full 1-30MHz range, using again the Arduino UNO board, our own developed code but a commercial Elektor SDR module that plugs directly into the UNO. This was boxed up in an extruded aluminium box and uses a rotary encoder for tuning and tuning step and a 1.3" OLED frequency display. A really useful piece of shack equipment - an RX and +/-100kHz spectrum display across 1-30MHz.

3. An on-going Arduino coding course which is bringing new ideas and shining lights for members in this new world of coding, with a fundamental START session followed by 25 project coding activities using peripheral devices. An advanced course is availble for dedicated radio apps.

4. A QRP VSWR meter, based again on an Arduino board, this time the very low cost NANO, with an innovative RF front-end using a two hole ferrote toroid and two AD8307 log deectors. This allows VSWR to be measured from 0.1-10W and displays the power and SWR on a 1.3" OLED.

5. A major project was the build of three useful shack items. A three output digital RF signal generator (1MHz to 180MHz outputs), an RF power meter coverng the range -70dBM to +10dBm, and higher powers with external attenuators. And a Direct Conversion receiver aimed at receiving 40m FT8 signals. Kits were sourced PCBs Components and boxes for 15 members to build them.

It was followed up by experiments using the signal generator to output WSPR, QRSS, Beacon signals and together as instruments to measure antenna return loss and resonance of tuned circuits.

6. An audio signal generator based on a digital sythesiser. Actually capable of sythesising sine waves from 0-10MHz! Using the AD9833, with code written, again, for the Arduino UNO.

7. How does your blackbox generate SSB? we asked. Turns out few know how it does it (surprising isn't it?). So we designed and built a breadboard to show how it is done. With carrier and VFO RF inputs from our signal generator (#5 above) and audio input from our  audio generator (see #6). The SSB exciter was built using an audio-carrier mixer (11MHz input), followed by a xtal filter (4 stage 11MHz) and another VFO mixer (4 or 18MHz for USB of LSB output) an a final band pass filter and output stage. All stages used BF245 JFET devices.

8. The latest project underway is a GHz VFO digital freuency denerator based on the ADF4351 witha 3.3V Arduino UNO to output around 100MHz to 3GHz. The coding is on-going. (See above blog post)

10. And don't forget our summer "Pixie Challenge". A race to build the low cost RTX kit found on eBay and read a CW beacon transmission in the club house. Followed by a challenge to make a CW QSO with another Pixie. Surprising how rusty our CW was...

That's ZEST. And that's the way to stimulate more club membership and lots more interest in our hobby.

Find out more on this blog and at my download site

Tuesday, 17 September 2019

WSJT-X my settings

Here are my setting for WSJT-X, I am using an ELAD FDM-DUO SDR TRX and a MacBook or iMac. I hope this may help anyone else trying to set up this excellent program.

Monday, 2 September 2019

My simple shack

I like to keep things simple. So my shack is two Mac computers & an SDR transceiver, the ELAD FDM-DUO (excellent). This shows my setup
Title slide
Connections to two Mac computers, for SDR display and digital QSOs
SDR display - few signals here!
Running WSJT-X for WSPR TX

My main challenge today is the lack of a good antenna - not allow outside at the place that I live... so I am currently using small 60cm loop on the widowsill. However I am making good contacts across Europe on FT8/40m.

New Arduino course

I have written a new course for those wishing to get to grips with Arduino coding and Amateur radio projects.

The two part course can be found on my web site under CLUB PROJECTS and the sketches are under ALL ARDUINO SKETCHES.

The practical work is done using a kit,  see Kit.

Happy coding.


This is a new ADF4351 Arduino code for the 4.4GHz synthesiser. It has been developed after taking a look at some other coding published on the web. But with the objective of making a library header file with some simple functions.

- init() - initialise the device and communications
- setFreq(freq, channel) - calculate the ADF4351 register values
- update() - update the device registers

There are also simple functions to set the power output and enable/disable to output. Full details of the Arduino code and a description of how the code works is at Here's a block diagram of the ADF4351 with the register names (e.g register2, position 25 on 32bit word). You can see the complexity of programming to get everything right in these 6 x 32 bit registers.

There are essentially three parts to the diagram. Generating Fpfd from the RFin (the xtal 10MHz). Dividing down the RFout to feed the phase comparator, and the phase comparator and VCO. All this is explained is a tech article on my web site here.

The module is from eBay ADF4351 module

And the Arduino is from eBay also Funduino