OE8WOZ

"FT-817 display", a simple transverter display


It uses an Arduino UNO rev. 3 board and a 2.8 inch touchscreen display. For this purpose more than enough.
  • Transverter support from 23cm (1,2GHz) to 1mm (122Ghz)
  • 144/146 ZF support for each transverter
  • Shows ZF frequency and calculates actual RX/TX frequency
  • Tested with latest FT-817ND version only (label on bottom of rig shows "FT-817ND") but may work with older FT-817 and newer FT-818ND as well (but not tested).
  • Not tested/recommended to use with any other rigs.
Note: This project is obsolete and replaced by the project just below.
Get here the PDF (German only, sorry): download - for reference purposes only, only kept as there might be some download links still out there. Please do not install this version. Below you can find the Arduino-based, open source version with more features.
Hier das PDF zur Version: herunterladen - nur aus historischen Gründen, da es ev. noch Links zu dieser Datei im Internet geben könnte. Bitte diese Version nicht installieren. Unten findet man die Arduino-basierte, quelloffene Version mit mehr Funktionen.

"FT-817 commander", the fourth generation transverter display is here!

It still uses the same hardware as for the simple FT-817 display. Thus possible functionality and further scaling is a bit restricted.
  • Shows ZF frequency and calculates actual RX/TX frequency
  • Transverter support from 23cm (1,2GHz) to 1mm (241Ghz)
  • 144/146/432/434MHz ZF support for each transverter
  • Fully controls the FT-817 for transverter usage.
  • 3 VCO settings per transverter band incl. operation mode (SSB,CW,FM)
  • sets/keeps front/back connector and TX power for each transverter
  • (very) simple keyer function for dish adjustments
  • EEPROM dumper to backup valuable and individual trim settings of your FT-817
  • no PC needed for transverter configuration (only for firmware updates)
  • Tested with latest FT-817ND version (label on bottom of rig shows "FT-817ND") and with older FT-817 ("non-ND").
  • I got success stories from OM using the new FT-818ND, it seems to be fully compatible (I don't own a FT-818ND, not worth at all to upgrade).
  • Not tested/recommended to use with any other rigs.
Please also check out the FT-817 CAT page from KA7OEI, I learned a lot from that page.

Dokumentation:

Im CQDL (Ausgabe Mai 2019) des DARC gibt es einen Artikel zu dem Thema von mir, die Binärfiles und der Sourcecode sind hier veröffentlicht.  Mit der Veröffentlichung ermögliche ich jeden OM, das Projekt selbst nach eigenen Wünschen weiterzuentwickeln, denn meine Version mag nicht für jeden OM optimal sein. Ich betreibe die Projekte aus meinem Hobby heraus und mache leider keine Auftragsarbeiten.
Hier noch ein paar Hinweise - meine Fehlerbehebungs FAQ Liste:
Wo bekomme ich ein passendes 8pol. Mini-DIN ACC/CAT Kabel:
  • Man bekommt konfektionierte Stecker/Stecker Kabel über die üblichen Online-Shops oder mit etwas Glück im Elektronikmarkt. Man kann es dann in der Mitte halbieren und hat damit 2 CAT-Kabel verfügbar. Die verpressten Kabel passen in der Regel auch in die schmale Öffnung des FT-817 - da kann es bei selbst konfektionierbaren Steckern eventuell Probleme geben.
  • Eine Möglichkeit ist ein "Anschlusskabel Mac Drucker 8 polig Mini-DIN". Das gibt es von der Firma Lindy, am günstigesten ist es bei der Firma Lindy selbst (in deren Shop nach Artikel Nr. 31532 suchen).
  • Alternativ kann man auch nach "Audio HQ 8 Polig Mini DIN" oder ähnlich suchen. Bei Kenable (UK) gibt es solche Kabel (nach Artikel FC06150 suchen) - ist noch ein wenig günstiger als das Kabel von Lindy...
Compilieren des Sketch schlägt fehl:
  • Ja, ich habe eine Maßnahme eingebaut die sicherstellt, dass man sich die Informationen im Sourcecode noch mal durchliest. Dort steht dann auch, wie man die Fehlermeldung abstellt (die genau sagt, was zu tun ist, hi). Cool
  • Wenn es dann noch immer zu einem Fehler kommt bitte sicherstellen, dass man die im ZIP migelieferten Bibliotheken entpackt hat und die Arduino-IDE diese nicht durch ein Update überschrieben hat. Ich habe die "MKUfriends_mkv" Bibliothek erweitern müssen, die Originalbibliothek funktioniert daher nicht.
  • Vor allem habe ich das Sketch nur in Verbindung mit einem Arduino UNO getestet, das muss auch eingestellt sein.
Programmieren des UNO geht nicht (Programmieren friert ein, Board nicht erkannt):
  • Zuerst mal prüfen, ob man wohl den richtigen Boardtyp und Schnittstelle in der Arduino-IDE ausgewählt hat.
  • Der UNO hat nur eine serielle Schnittstelle, diese wird zwischen FT-817 und USB/Serial geteilt. Deshalb das FT-817 NICHT angesteckt lassen, wenn man mit dem Arduino IDE die Software über USB auf den UNO spielen will.

FT-817 wird nicht erkannt (nach Druck auf das Display bleibt der Startbildschirm):
  • Der UNO hat nur eine serielle Schnittstelle, diese wird zwischen FT-817 und USB/Serial geteilt. Deshalb das USB-Kabel NICHT angesteckt lassen, wenn man den FT-817 anschließt. Das kann Probleme verursachen.
  • Ist der FT-817 auf 4800 BAUD gestellt (muss man im Funktionsmenü einstellen - Bedienungsanleitung lesen).
  • Hier hilft ein Oszilloskop, dass man auf die RX und TX Leitung anschließt. Zuerst mal prüfen, ob beide Leitungen einen ausreichenden "High"-Pegel (~5V) haben. Wenn der Arduino nach drücken des Display ein Paket auf TX schickt (mit ausreichenden Low-Pulsen nach ~0V - ev. auch prüfen, dass die Baudrate stimmt - ein Bit muss ca. 208us lang sein), muss der FT-817 auf RX antworten. Tut er das nicht, gibt es drei Möglichkeiten:
    • Erst mal durchmessen, ob man den Stecker und die Kabel richtig angeschlossen hat. RX/TX Pins müssen zwischen Arduino und FT-817 "ausgekreuzt" sein.
    • Eine weitere Ursache kann der Stecker selbst sein. Ich hatte schon mehrfach das Problem gesehen, dass die Steckerpins keinen Kontakt mit den Anschlüssen am FT-817 gehabt hatte! Vor allem (teure) Audio-Stecker (dort wird dieser Mini-DIN Stecker gerne verwendet) können hier zu "dünne" Pins haben, die schlechten Kontakt haben.
    • Der Stecker kann nicht tief genug in die ACC-Buchse gesteckt werden, weil das Gehäuse übersteht. Auch in diesem Fall gibt es natürlich keinen Kontakt.
Display funktioniert nicht (bleibt z.B. "weiß gefüllt"):
Ich habe den Code für die Arduino IDE umgeschrieben, der Flash-Speicher des Arduino UNO ist komplett gefüllt - und es war nötig den Support für viele Displays in den Libraries zu deaktivieren um es überhaupt zu schaffen. Deshalb kann es sein, dass es nicht mit jeden Display auf Anhieb läuft. 
Was ist dann zu tun:
  • Der Treiber passt (also der Chipset wird bereits unterstützt), aber das Display hat eine andere ID als die beiden die in der aktuellen Version v4.2 eingetragen sind.

    In diesem Fall den seriellen Monitor in der Arduino IDE (im Tools-Menü) öffnen und auf 115200 Baud stellen. Das Board führt dadurch einen Reset durch und gibt eine Nummer aus. Diese Nummer im Sketch eintragen (in Zeile 444), kompilieren und hochladen. Sehr oft klappt's dann schon und man sieht den Startbildschirm:



    Bitte mir die ID zukommen lassen, ich werde dann hier eine Liste gültiger Nummern auflisten und im Code ergänzen. Danke!


  • Es ist nicht der passende Treiber installiert. In diesem Fall (und nur wenn man die ID oben ohne Erfolg umgestellt hat) muss man die Datei "libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp" konfigurieren. Das geht nur mit einem Texteditor, nicht im Arduino IDE. Wenn man die Datei geöffnet hat, kann man eine der Zeilen mit dem "richtigen" Chipsatz in der Datei ganz zu Beginn einbinden (aus Speicherplatzgründen bitte nur die erforderliche Zeile, der Rest soll auskommentiert bleiben - sonst wird das Kompilieren aufgrund von Speichermangel abgebrochen).



    Welcher Chipsatz am Display verbaut ist und der "richtige" ist, muss der Hersteller/Lieferant wissen. Leider ist die Dokumentation, die mit dem Display geliefert wird oft (wenn überhaupt) nur sehr "generisch" und die Beispieldateien nutzen erst mal alle möglichen Treiber (was nicht wirklich hilfreich ist). Sonst hilft nur probieren - natürlich auf eigene Gefahr! Ich kann hier leider keinen "Fern-Support" anbieten, dazu müsste ich das Display selbst ausprobieren können...

  • Schlimmstenfalls muss man auch die Touch-Routinen im Sketch anpassen. Hatte ich bislang allerdings noch nicht gehabt. Die korrekten Werte muss man dann in den Beispielen finden, die mit dem Display mitgeliefert wurden (und funktionieren sollten):



    Auch hier hilft schlimmstenfalls nur probieren, da ich auch hier leider keinen "Fern-Support" anbieten kann ohne das Display selbst in den Händen zu halten.

Ich habe nicht vor, diese Version massiv weiter zu entwickeln - das ist ohne freien Speicher nicht mehr wirklich möglich. Deshalb gibt es bereits die "XL Version", in der mehr Features möglich werden.
Diese Variante ist für viele OM durchaus ausreichend und für mich war sie zum Sammeln von Erfahrung auch sehr wichtig. Vor allem habe ich noch kein Datum für die Veröffentlichung der XL-Version - das kann noch eine ganze Weile dauern und ist somit momentan keine Option für reine Anwender des Displays.
Ach ja, um es nochmal explizit zu erwähnen: dieses Projekt ist NUR für die Verwendung von externen Mikroellen-Transvertern interessant. Ich plane nicht es für andere Zwecke zu erweitern (ist mit dem Uno auch aus Speichergründen nicht möglich). Für "allgemeine" Displays speziell auch ohne Kontrollfunktionen (auch z.B. um den FT-817 auch für Kurzwelle zu verwenden) findet man durchaus weitere Projekte (tw. closed-source / kommerziell), die ich nicht alle kenne - bitte Google & Co. bemühen - danke schön! Der Commander funktioniert aktuell NICHT mit dem FT-857, ich kenne auch niemand, der dieses Gerät mit Mikrowellentransvertern verwendet - deshalb habe ich auch keinen und kann da auch nichts testen, sorry.
Sollte jemand den Versuch wagen die Commander-Software für den FT-857 (oder durchaus auch andere Rigs) umzuschreiben bitte bei mir melden, werde diese Projekte gerne hier verlinken. Auch andere open-source Projekte mit Arduino + Touchscreen-Displays werde ich gerne hier verlinken - habe aber bislang noch keines gefunden...
Danke an:
Ewald OE8IDK für das Display mit der ID 0x9341 und für die erfolgreichen Tests mit dem FT-818ND
Paul OE8PKR, Wolfgang OE4WOG und Erwin OE8EGK für die ausführlichen Feldtests mit dem FT-817ND und Rückmeldungen bzw. Verbesserungsvorschlägen.
Jürgen DB3VU, Jens DL1LEP und Oliver DB1BO für ihre Rückmeldungen zum Display, Kabel, Kompilierthemen, Tests mit älterem FT-817 bzw. Fragen zum FT-857.
Rückmeldungen sind mir sehr wichtig - es gibt viele Aspekte, die ich nicht alle abgedeckt habe. Ich versuche alles auf dieser Webseite zu konsolidieren. Ich bemühe mich auch rasch zu antworten, es kann aber auch mal eine Weile dauern - speziell unter der Woche (in der QRL) lese ich meine privaten Mails nicht.

Project binary code / Projekt Binärcode (V4.0, Arduino UNO, 2.8' TFT Touch Display):

Please note, it does NOT work on an Arduino MEGA 2560 and/or on a 3.5 inch display. / Diese Datei funktioniert NICHT auf einem Arduino MEGA 2560 und/oder einem 3.5 Zoll Display.
 
The files on this web page are provided "as is", without any warranty. You accept that use them at your own risk for non-commercial, ham-radio purposes. Diese Dateien werden "wie sie sind" und ohne Gewährleistung zur Verfügung gestellt. Du verwendest und benutzt sie auf eigenes Risiko für nichtkommerzielle Amateurfunkzwecke.
OK?
Download is only allowed when accepting my conditions and disclaimer above / Man kann die Dateien nur herunterladen, wenn man den Haftungsausschluss und die Bedingungen oben akzeptiert werden.
Hier eine kurze Beschreibung zur Nutzung des Binärfiles als PDF bitte hier herunterladen (all this is German only, sorry). Wer die "aktuellste" Version will, bitte den Arduino Quellcode unten verwenden (ich aktualisiere den Binärcode nicht ständig).

Project source code / Projekt Quellcode (V4.2, Arduino UNO, 2.8' TFT Touch Display):

Please note, it does NOT work on an Arduino MEGA 2560 and/or on a 3.5 inch display without significant rework (which I will do with the Commander XL below). / Diese Datei funktioniert NICHT auf einem Arduino MEGA 2560 und/oder einem 3.5 Zoll Display ohne signifikante Änderungen (was ich auch mache mit dem Commander XL unten).
The files on this web page are provided "as is", without any warranty. You accept that use them at your own risk for non-commercial, ham-radio purposes. Diese Dateien werden "wie sie sind" und ohne Gewährleistung zur Verfügung gestellt. Du verwendest und benutzt sie auf eigenes Risiko für nichtkommerzielle Amateurfunkzwecke.
OK?
Download is only allowed when accepting my conditions and disclaimer above / Man kann die Dateien nur herunterladen, wenn man den Haftungsausschluss und die Bedingungen oben akzeptiert werden.
 
Wenn man vorher noch nie mit dem Arduino gearbeitet hat, kann man z.B. zuerst hier starten (Link auf heise.de). Ich bin auch nur "normaler" Arduino-Nutzer und kenne sicher auch nicht alle Details dieser Plattform. Wenn man Hilfe braucht ist es daher sinnvoll, sich gleich an die Experten zu wenden (Link auf arduino.cc). Mein Code ist nicht wirklich "schön" geschrieben sondern nur als Mittel zum Zweck, daher nicht unbedingt als Lernbeispiel verwenden. In der neuen XL Version werde ich mir mehr Mühe geben, hi!
 

"FT-817 commander XL", the fifth generation transverter display is just started!

The problem of the UNO board used in the Commander v4 is the little memory of the AVR controller and the limited amount of interfaces.
I also didn't like the way how I organised the FT817 library in the first commander project (see above).
This new project tackles this problem by using an Arduino MEGA2560 and a larger 3.5 inch touchscreen display as a logical evolution and a new software library concept. It requires quite some re-work and re-testing, as the larger display uses a different controller, different resolution, other touch coordinates and so on.

It includes:
  • All features of the 4th generation (see above).
  • GPS support (locator and time information).
  • Improved micro-keyer function (configurable with own text).
  • TBD: GSM modem functionality (e.g. to post locator/QRG to a web page).
  • TBD: more flexible transverter configuration (don't know yet how it should look like, but we will see...).
  • WIP: generic Yaesu support library for Arduino (the last one in v4 was not really generic).
  • Better software architecture (with learnings from the previous project above) which allows use easy adaption to other rigs, displays and add other modules as well.
  • Tested with latest FT-817ND version only (label on bottom of rig shows "FT-817ND") but may work with older FT-817.
  • I had also the chance to initially test with the FT-818ND and it worked there as well.
  • Not tested/recommended to use with any other rigs.
Please also check out the FT-817 CAT page from KA7OEI, I learned a lot from that page.

Project source code (early beta 4/2019 of the new YaesuControl library):

Please note, it does NOT work on an Arduino UNO. It is tested on an Arduino MEGA 2560!
 
The files on this web page are provided "as is", without any warranty. I accept that I use them at my own risk and for non-commercial ham radio purposes only. Note this is an very early "alpha" development stage and contains the library only with a simple test program - so please be careful using it.
OK?
Download is only allowed when accepting my conditions and disclaimer above.

YaesuControl Library Documentation:

Year... sorry... not yet available...   But there is an example Sketch in the source code package above which also prints some messages what it is doing. Not a lot, but maybe enough for a start?
 

"ADF5355 Master" - Arduino code to control ADF5355 PLL boards:

  • Uses Arduino UNO with a standard 1602 LCD/keypad shield (Arduino MEGA may work as well, not tested)
  • Works with probably any ADF5355 board out there using a SPI interface
  • Allows frequency control in steps of 1 Hz (be aware, the error of the on-chip reference OSC is much worse)
  • Default setting with minimum output power and 25MHz reference
It also demonstrates how to calculate the PLL parameters properly and efficiently w/o using floating point.

Documentation:

This code uses information I gathered here for the ADF5355. I call it my "formula cheat sheet".
Get here the PDF download

Project source code:

The files on this web page are provided "as is", without any warranty. I accept that I use them at my own risk and for non-commercial ham radio purposes only.
OK?
Download is only allowed when accepting my conditions and disclaimer above.
TODO:
  • Storage/Preset of often used frequencies.
  • Allow tuning of reference frequency parameter via LCD menu.
  • Much more testing.

"ADF4153 Master" - Arduino code to control ADF4153 PLL boards, like the NORT PLL:

  • Uses Arduino UNO with a standard 1602 LCD/keypad shield (Arduino MEGA may work as well, not tested)
  • Works with probably any ADF4153 board out there using a SPI interface
  • Allows frequency control in steps of 10 kHz (using the NORT PLL, internally 2.5kHz step size)
  • Default setting with 10MHz reference
It also demonstrates how to calculate the PLL parameters properly and efficiently w/o using floating point.

Project source code:

The files on this web page are provided "as is", without any warranty. I accept that I use them at my own risk and for non-commercial ham radio purposes only.
OK?
Download is only allowed when accepting my conditions and disclaimer above.
TODO:
  • Storage/Preset of often used frequencies.
  • Allow tuning of reference frequency parameter via LCD menu.
  • Much more testing.
See also my new PLL Configuration Project!

 

Yet to come:

  • Control of PLL modules from Roberto Zech (DG0VE)
  • Control of other PLL boards
  • ESP12E modules programmed with Arduino IDE
web pages © OE8WOZ - all rights reserved - impressum/contact