Inhalt
Motivation
In der Zeitschrift Funkamateur ist mir ein Artikel (1) aufgefallen, der einen Sender mit einem Raspberry Pico (WSPR Bake) beschreibt. WSPR ist ein Funkverfahren, das kleine Telegramme mit geringster Funk-Leistung aussendet. Es wird vor allem für die Analyse der Funk-Ausbreitungsbedingungn in der Atmosphäre verwendet – und auch zur Überprüfung der eigenen Sendeanalage. Wirklichen Inhalt kann man nicht austauschen.
Mit dem Pico möchte ich mich aus folgenden Gründen beschäftigen:
- Preis (10.-) versus Leistung sind unschlagbar
- Grösse, Gewicht und Ausstattung (WLAN dabei beim Pico 1W, ebenso Bluetooth)
- anderer Mikrocontroller-Chip RP2040 mit 2 unabhängigen Prozessoren und vielfältigen IO-Fähigkeiten, die andere Mikrocontroller nicht haben
- andere Programmierumgebung an Stelle der Arduino IDE (Visual Studio Code oder Thonny); Programmieren mit C/C++ oder MicroPython
Das Pinout ist eindrücklich:
So sieht es aus: Der Pico ist auf eine Lochrasterplatine angelötet, die später einen 100mW Verstärker nach (5) enthalten soll. Für Aussendungen ist ein Filter nötig (hier eines von QRP Labs).

Im folgenden geht es also um ein Hallo Welt-Programm für dieses Modul. Meine Schritte:
1. Programmierumgebung Visual Studio Code einrichten
Visual Studio Code ist eine bekannte vielseitge Entwicklungsumgebung auf Basis von Microsoft Visual Studio, das sich sehr flexibel gestalten lässt. Unter dem Namen „Visual Studio Code“ gibt es eine Geschmacksvariante für Microcontroller. Die Vielfalt der Hardware, Sprachen und Entwicklungstools ist eingebaut respektive lassen sich mit
Extensions dazuinstallieren. Anleitungen gibt es genug, sind aber auch dringend nötig. Wer sich mit der Arduino IDE oder Thonny wohl fühlt, wird hier evtl. von der Vielfalt und verschachtelten Menus erschlagen.
Ich wähle bewusst nicht den Weg des geringsten Widerstandes, sondern will etwas dazulernen…
Hier stolperte ich schon das 1. Mal. Eigentlich sollte die Erweiterung der Visual Studio Code Umgebung für den Pico ein Kinderspiel sein. Ich hatte schon die PlatformIO Erweiterung (https://platformio.org/) für Arduino installiert und erfolgreich benutzt. Hier aber brachte ich die Werkzeuge (Tool Chain) nicht zum Laufen: Bis heute habe ich nicht verstanden, welche Schritte zur Installation des Werkzeugs CMake eigentlich nötig wären. Es fiel mir mämlich auf, dass einfach kein CMake resp. kein C-Compiler da ist – d.h. alles für den Build-Prozess fehlte. Es geschieht einfach nichts, da die komplette Toolchain fehlt. Es gibt Anleitungen, wie man dies unter Linux compiliert, aber mit Windows ist das für Gelegenheitsnutzer kaum praktikabel.
Hilfe leistete der Windows Installer für Pico (https://www.raspberrypi.com/news/raspberry-pi-pico-windows-installer/), den ich gerade unter Windows empfehlen kann. Damit wurde auch die Toolchain (das SDK) installiert. Zu beachten ist: man muss VS Code immer mit dem speziellen Link im Windows Startmenu starten; erst so sind die Werkzeuge eingebunden. Alles andere führt zu meiner Situation – editieren geht, Übersetzen nicht. Oder Übersetzen geht nur durch direktes Ausführen der Make-Files (Menupunkt), aber nicht auf Knopfdruck auf das „Projekt“.
2. Compilieren
Das Vorgehen ist zu lang für eine Beschreibung im Detail hier. Man erstellt ein Projekt von einem Beispiel mit:
- Pico Menupunkt wählen, New Project from examples, Beispiel wählen
- richtiger HW (Pico ist verschieden von Pico W und verschieden von Pico 2)
- richtigem Framework/Core/SDK
- richtigen Debug etc. Einstellungen (default nehmen)
Die fehlenden Teile (SDK, Make…) werden automatisch heruntergeladen und nach einigen Minuten (10) gestartet.
Achtung: Pico und Pico W unterscheiden sich softwareseitig; das LED-Blinkbeispiel in (2) lässt sich nur mit einem Pico übersetzen:
Für einen Pico W muss es 25 durch ‚LED‘ ersetzt werden, da dieses Board die LED indirekt ansteuert, nicht direkt über den GPIO Pin 25 (ein erstaunlicher Lapsus für eine qualitativ hochstehende Zeitschrift).
Fazit: Für erste Gehversuche rate ich von VS Code ausdrücklich ab. Das Ganze ist zu grosss und unübersichtlich. Mit Thonny oder der (erweiterten) Ardiuno-IDE geht das viel einfacher.
3. Programmierablauf beim Pico
- Projekt einbinden/öffnen
- Compilieren (Build)
- Reboot des Pico mit gedrücker BOOTSEL-Taste -> ein USB Laufwerk erscheint
- u2f-Datei vom Build-Ordner auf USB Drive laden -> der Pico rebootet automatisch und der Code läuft
Sollte das USB-Laufwerk nicht erscheinen, ist der berühmte Zadig-Treiber evtl.nachzuinstallieren.
Fazit: Das funktionerte gut, sobald die IDE korrekt eingerichtet war. Ein serieller Upload (USB-UART) scheint es ohne weitere Extension nicht zu geben. Das ist einfacher bei Thonny/Arduino.
5. Vorläufiges Ergebnis
Der Code aus (1) läuft. Die Rechtecksignale aum Ausgang zeigen das erwartete Spektrum (Spitzen bei ungeradzahligen Vielfachen von 7 MHz):
Der Sender ist darum in dieser Form noch nicht legal einsetzbar.
Quellen:
- Jochen Herrig: WSPR-Sender im Miniaturformat mit dem Raspberry Pi Pico in Funkamateur 6/2024, S. 472
- c’t Heft 25 2024 Seite 130 ff.
- Martin Ossmann: Signalerzeugung und -darstellung mit dem Raspberry Pi Pico (Teil 1 FA 3/2024, S. 209, Teil 2 FA 4/2024, S. 297, Teil 3 FA 5/2024, S. 378
- Martin Ossmann: Signalgeneratoren bis 100 kHz mit Raspberry Pi Pico in FA 3/2023, S. 220
- Burkhard Kainka: RPI Pico Schaltungen und Projekte- Elektor Verlag 2022, ISBN 9798810376446
(Fortsetzung folgt: Filter und Verstärker)