Introduction
I am the proud owner of an FT290R which I bought in the 80’s when I was first licenced as a G6. I think it’s an excellent radio, so I bought another one to have in an alternative location. It had a display fault, but I am an electronics engineer by trade so I figured it couldn’t be that hard to fix.
As usual I was wrong, there were a number of stumbling blocks as follows:
- The display itself cannot be sourced as a direct replacement
- There was little information I could find about the driver IC
So, the above two points ruled out simple replacement of the parts.
I searched further and found references to two very good sources of information
ZS1KE’s reverse engineering design and Dave Crump G8GKQD article in Radcom, December 2016
Both of these were very informative about how the display is updated but obtaining the displays was challenging so I descried to do my own redesign based on cheap Arduino and OLED display.
Design
The display is constantly updated from the FT290R microprocessor, and the display data is delivered over a 4-bit bus in something similar to ASCII.
My biggest challenge was that I wasn’t sure that the simple Arduino could keep up with the refresh rate of the display updates. It turned out that it wasn’t a problem at all.
I also wanted a cheap and flexible design so that elements of customisation would be possible, and the Arduino seemed ideal for that.
Circuit
The display is constantly updated from the FT290R microprocessor, and the display data is delivered over a 4-bit bus in something similar to ASCII.
The connections to the OLED module are very standard and utilise the I2C protocol. At the time of writing these are available from Amazon at £4.99 for three.
The Arduino’s I used were 16MHz ATmega328P Micro Controller, Nano V3 also pretty inexpensive at £10.99 from Amazon or much less from Aliexpress.
Get the ones with unsoldered headers, you won’t need the pins for this project, in fact it wouldn’t fit in small space in the FT290R.
As you can see from the circuit, I added a white LED to replace the incandescent lamp that is also a known failure on the FT290R and a real pain to replace. More about how to install that later, but I decided that I might as well have it under control from the Arduino, the software currently turns it on shortly after startup, but you could modify this as you see fit.
FT290R Disassembly
I followed G0GRE’s useful disassembly guide.
Clearly in this case we are not only replacing the bulb (as we completely changing the display the bulb is on the display board so needs to be replaced) the disassembly instructions are handy nevertheless.
Display Board
For this modification I found it easier to do away with the original display PCB and LCD see below:
For this replacement project all of these parts are discarded but I used the PCB as a template to make a new OLED mounting board our of a bit of copper clad board as follows:
Connecting to the FT290
The finished article
How it works
Display data is sent to the FT290R display in pairs of 4 bits (nibbles).
Each byte (pair of nibbles) is available when the CE bit is positive and is clocked into the Arduino with the falling edge of STD. You can see the data pairs in the diagram below where the STD pulses are close together.
The wider CE pulse spans the 12 STD pulses, representing 12 nibbles or 6 bytes
So, the above traces from my logic analyser represent the following sequence reading from left to right:
Nibble 1 Nibble 2
Byte 6 0011 0101 5
Byte 5 1101 0111 7
Byte 4 0011 0011 3 This represents
Byte 3 0011 0100 4 5.437.5 on the
Byte 2 1101 0101 5 display
Byte 1 0010 0000 0
Conclusion
I really enjoyed doing this project. It was great to be able to repair the FT290R I had. I have subsequently done a couple more.
If you manage to get your FT290 working please send me some photos for my gallery!
I am happy to answer questions by email: nigel@rissoles.com
73’s G6RZR
The code can be downloaded below