Martin (13MAD86) hat mir vor kurzem sein neues Projekt vorgestellt, was mich sofort an den svxcube von Jens erinnert hat. Hardwaretechnisch baut es auf einem ESP32 Cheap Yellow DisplayBoard (ESP32-2432S028) auf, welches es mit Plexiglas Gehäuse für 15-20 EUR gibt (im Doppelpack meist etwas günstiger). Zusätzlich benötigt Ihr nur noch eine Mikro SD-Karte und die Software von Martin, welche Ihr hier runterladen könnt. Ich selbst habe die WPSD Version ausprobiert, soll aber auch mit pi-star funktionieren. Das Display ist unabhängig vom Standort des Hotspots nutzbar.

Funktionsumfang

  • AP-Modus zum Einstellen der Wifi-Zugangsdaten über eine Webseite http://192.168.4.1
  • Verbindung mit dem Hotspot (WPSD/pi-star) über Netzwerk (WLAN)
  • Live Heard Liste (mit Anzeige Betriebsmodi, Rufzeichen, Vorname, Gateway,….)
  • Last Heard Liste mit den letzten 5 Stationen
  • Status Informationen (Wifi/IP/…)
  • Screensaver

Installation

Nach dem Herunterladen des Zip-Files bitte entpacken. Den Inhalt des Ordners „sdcard“ bitte in das Hauptverzeichnis der mikro-SD Karte kopieren. In dem zip File findet Ihr auch ein Flash Tool welches unter Windows genutzt werden kann. Der Befehl zum flashen des Displays findet Ihr in der „readme.txt“. Beim Anschliessen des Displays verbindet sich das Display mit Windows und Ihr solltet im Gerätemanager nachsehen welcher COM Port diesem zugeordnet wurde. In meinem Fall war es COM4, was dann zu folgendem Flash Befehl führt.

 esptool.exe --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 esp32-2432S028R.bootloader.bin 0x8000 esp32-2432S028R.partitions.bin 0xe000 esp32-2432S028R.boot.bin 0x10000 esp32-2432S028R.bin

Wichtig – beim Beginn des Flashvorgangs bitte folgenden Taster wie auf dem Bild dargestellt drücken.

Danach das Gerät bitte vom USB-Kabel trennen und die SD-Karte einstecken. Dann Gerät an einen Akku/USB Netzteil (Mikro-USB oder USB-C) anschliessen.

Das Display startet dann im sogenannten AP-Modus und Ihr könnt Euren PC/Notebook/Handy mit dem Wifi des Displays verbinden und dann mit einem Web-Browser die Konfigurationsoberfläche aufrufen und Euer eigenes WLAN registrieren. Anschliessend neu starten und dann die restlichen Information insbesondere die IP-Adresse des Hotspots eingeben und die Konfiguration abschliessen.

Martin hat einen Telegram Channel für Fragen und weitere neue Versionen der Software erstellt, den Ihr hier findet.

Vielen Dank Martin für diese tolle Software, die unser Hobby Funken wieder etwas bereichert.

Nachtrag vom 28.04.2026

Es hat sich herausgestellt, dass es bei dem cyd-Display inzwischen mehrere Hardware Revisionen bzgl. des Bildschirms gibt. Martin hat des ab der Version 10 berücksichtigt.

Folgende Befehle zum Flashen könnt Ihr verwenden.

ILI9341

esptool.exe --chip esp32 --port COM3 --baud 460800 write-flash -z 0x1000 esp32-2432S028R-ILI9341.bootloader.bin 0x8000 esp32-2432S028R-ILI9341.partitions.bin 0xe000 esp32-2432S028R-ILI9341.boot.bin 0x10000 esp32-2432S028R-ILI9341.bin

ST7789

esptool.exe --chip esp32 --port COM3 --baud 460800 write-flash -z 0x1000 esp32-2432S028R-ST7789.bootloader.bin 0x8000 esp32-2432S028R-ST7789.partitions.bin 0xe000 esp32-2432S028R-ST7789.boot.bin 0x10000 esp32-2432S028R-ST7789.bin
11 thoughts on “MMDVM Hotspot Display”
  1. ich habe mich auch anfixen lassen, aber leider wohl ein Problem mit der geposteten v4+v8-FW.
    die Erklärung dafür ist hier beschrieben:

    Die Board-Revision 1 und 2, erkennbar daran, dass sie nur einen Micro-USB-Port haben, benutzen als Display ein ILI9341. Die Revision 3, die neben dem Micro-USB-Port auch noch einen USB-C-Port hat, benutzt als Display ein ST7789 (Mode 3). Die Displays sind jeweils über SPI angeschlossen, haben aber eine andere Byte-Reihenfolge und benötigen deshalb den jeweils richtigen Treiber / Library. Der Touch-Digitizer ist bei beiden der gleiche, nämlich der XPT2046.
    Wird die Revision 1 oder 2 mit einer Firmware für Revision 3 beschrieben, so passt der Treiber nicht und das Bild erscheint horizontal als auch vertikal gespiegelt. Da der Digitizer aber noch der gleiche ist, bleiben die Klickpositionen gleich und man klickt stets daneben.
    Je nach Board-Revision muss also eine andere Display-Library eingebunden werden und eine eigene Firmware erstellt werden.

    ich habe die HW-Rev. mit 2 USB-Ports – ich bräuchte also eine FW mit dem ST-DisplayTreiber!
    Micha, kannst du mal auf dem TelegramChannel schauen, ob da die v0.0.0.8-FW auch für mein Display existent ist ?!

    1. edit:
      habe die v6 auch ausprobiert – diese hat aber auch nur den ili9341-driver drin,
      ich benötige aber was mit dem st7789-driver! 🙁

      73, Andreas / DG0LFL

        1. sehr schön, schonmal ein grosses Dankeschön an Martin!
          du stellst dann bitte dieses „V3-update“ wieder zeitnah in deinen download ?!

          73, Andreas

  2. Hallo Michael,

    danke für die verlinkung der V10!

    1. der st7789-driver funkioniert einwandfrei im CYD-V3
    2. kleiner Typo-Bug: im Pi-Star-Mode / DMR-Mode wird „TG TG xxx“ statt „TG xxx“ angezeigt
    (das ist in allen Tabs so!)
    3. im „Info“-Tab fehlt die obere Tab-Leiste zum „sichtbaren“ zurückschalten auf die anderen Tabs
    (live/heard/status/info/time) … ein blindes tippen im „info“-Screen genügt aber!
    4. ein Space-Bug: im Pi-Star-Mode / YSF-Mode wird im „Heard“-Tab die DG-id nicht angezeigt,
    weil der Platz nicht ausreichend ist … hier evtl. das „ROOM“ in allen Tabs komplett weglassen ?!

    kannst du das auch im WPSD-Modus verifizieren?
    wenn du diese Infos bitte dem Martin zum Bugfixing schicken könntest,
    natürlich verbunden mit einem grossen Dankeschön für dieses „Goodie“!

    Danke im voraus!

    73, Andreas

    1. Danke für das V11/12-Update!
      meine 2 gemeldeten Bug’s sind erfolgreich eliminiert wurden.
      einen habe ich aber auch noch in der mmdvm-display.ino entdeckt:

      falsch: if (tg == „263“) return „Austria“;
      richtig: if (tg == „232“) return „Austria“;

      schickst du das bitte nochmal dem Martin rüber ?!
      Danke im voraus!

      FG Andreas, DG0LFL

      1. du kannst martin ja auch noch „CH“ schicken:
        if (tg == „228“) return „Switzerland“;
        (oder besser „Swiss“ … wg.s der zeichenlänge ?!)

        1. neues aus der V13:
          man kann sich nun verschiedene „Listen“ von der w0chp.radio-url runterladen,
          und das wird dann local auf die SD im Ordner „lookup“ abgespeichert.
          so kann man zb. die TG’s mit der BM-/DMRplus-Liste nutzen, und so die fehlerhaften/fehlenden
          TG-Einträge der FW „überschreiben“!

          Micha, damit hat sich das „belästigen“ von Martin ja fast schon erledigt.
          (zumindest wg.s der TG-Anpassungen … das kann man nun selbst händeln!)

          73, Andreas/DG0LFL

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert