STM8S103F3P6

WCH – CH32V003F4P6, CH32V203C8T6 und WCH-LinkE

Beschaffung

In dieser Woche ist das im offiziellen Shop von WCH bei Aliexpress (Nanjing Qinheng Microelectronics Co., Ltd – WCH ist deren Marke und bedeutet „WinChipHead“) bestellte CH32V003/203-LinkE Kit eingetroffen. Bezahlt habe ich mit Paypal, abgebucht wurden 19,86 €.
Die Lieferung erfolgte sehr schnell. Alles ist gut und antistatisch verpackt.
Es ist ein WCH-LinkE enthalten, je eine Testplatine (EVT) mit einem CH32V003 bzw. einem CH32V203 sowie fünf Stück vom CH32V003F4P6 und fünf Stück vom CH32V203C8T6.

Software

Die als Entwicklungsplattform empfohlene Mounriver-IDE ist gut überschaubar, erst recht, wenn man bereits Erfahrungen mit etwas größeren IDEs z.B. auf Eclipsebasis hat. Die Installation verlief problemlos. Die IDE selbst ist komplett in Englisch benutzbar. Für beide EVT-Platinen sind z.T. umfangreiche Software-Beispiele zum Download verfügbar: CH32V003-EVT und CH32V203-EVT.

Informationsquellen

Sowohl für den LinkE als auch für die Controller (datasheet, reference manual) sind englischsprachige PDF verfügbar. Für die beiden EVT-Platinen sind ebenfalls Schaltpläne verfügbar.
Es gibt auf der Webseite von WCH sogar Videos zur Schulung, leider in Chinesisch.

praktische Erfahrungen

Der WCH-LinkE ist mit einem Klarsichtgehäuse gekapselt. Leider ist er dadurch zu breit für nebeneinander liegende Notebook-USB-Slots.

Die EVT-Platinen sind saubere Elektronikentwicklung, gut strukturiert und das unbedingt nötige Equipment ist auf der Platine. (Ein-Aus-Schalter und E/A-LED, Reset, USB-C-Buchse als Stromversorgung, zwei an VDD angeschlossene LED mit Vorwiderständen und Pinheadern; alle Anschlüsse des µCs sind ebenfalls auf Pinheader gelegt)
Die einzige kleine Hürde beim Start war zunächst, welche Pins des Entwicklungsboards man denn mit dem WCH-Link verbinden muss, um den Chip zu flashen und die Programme dann debuggen zu können. Nur mit SWIO und VCC/GND funktionierte es zunächst nicht. Erst mit RST und RX, TX dazu ging es dann.


Nachdem das erledigt war, lief das selbst compilierte und geflashte Beispielprogramm (GPIO_Toggle) sauber durch. Die LED blinkt jetzt auf einem 48 MHz 32-Bit Risc-V Controller. 🙂 Hinweis: Die Controller auf den Boards enthielten im Auslieferungszustand kein erkennbares Demo-Programm.

Debugging * auf der Hardware! * mit dem integrierten Open-OCD – übrigens vollständig transparent für den Nutzer, d.h., ohne Kenntnisse von Open-OCD nutzbar – war ganz problemlos möglich.

Kleiner Hinweis am Rande: Der CH32V003F4P6 passt übrigens nahezu perfekt als Ersatz für den STM8Sx03F3P6, wenn man das Pinout betrachtet.

RGB moodlight mit STM8S103

Angeregt durch zwei Projektvorstellungen im Forum „Mikrocontroller.net“ habe ich mir ein moodlight mit dem STM8S103 zusammengebastelt. Da sich meine eigene Leistung nur auf das Zusammenbauen erstreckt, hier nur ein paar Bilder und die links zu den beiden threads:

Schaltung und Software von hier (von SDCC auf IAR umgeschrieben, IR-Fernsteuerung weggelassen):

RGB Moodlight mit STM8

„Technologie“ für das STM8-Bord von hier:

~1€ ARM-Cortex-M0 (STM32)-Bord selbstgestrickt

 

Platine von oben
Platine von oben

Platine von oben
Platine von oben

Platine von unten
Platine von unten

Moodlights in Funktion
Moodlights in Funktion

STM8S103F3P6 Entwicklungsboard Pollin

Pollin verkauft derzeit ein STM8S Entwicklungsboard:

Entwicklungsboard
Entwicklungsboard

Dieses Board ist mit dem STM8S103F3P6 ausgestattet:

stm8s103f3 Pinout
stm8s103f3 Pinout

Leider ist das eine etwas anders ausgestattete Version des STM8S im Vergleich zum weit verbreiteten STM8-discovery-Board. Das heißt auch, dass die meisten im Internet verfügbaren Programme angepasst werden müssen. Hinzu kommt, dass es drei verschiedene Compiler für die Prozessorserie von ST gibt. Nächste Erschwernis ist, dass in den Beispielen eine von ST verfügbar gemachte Firmware-Bibliothek benutzt wird. Diese ist allen auf der ST-Seite downloadbaren Beispielen beigefügt. Ein mit den genannten Eigenschaften versehenes tutorial für das discovery-Board findet sich unter benryves.com.

Für IAR gibt es deutlich weniger Beispiele, dabei ist auch diese Entwicklungsumgebung bis 8kByte-Flashspeicher frei, mit einem sehr guten Debugger ausgestattet, dem Hörensagen nach unheimlich gut im Optimieren und auch für wirklich große Projekte geeignet:

IAR embedded workbench
IAR embedded workbench

Benötigt wird weiterhin ein ST-Link/V2, den man sehr preiswert kaufen kann, allerdings nur in China und als Klon. Etwas teurer, jedoch nicht so teuer wie die Originale, ist der bei roboterbausatz.de erhältliche Klon:

Dieser ist offensichtlich 100% kompatibel, da ST die Schaltung freigegeben hat. So ist der Klon mit der Originalfirmware von ST versehen und kann auch alle updates übernehmen.

Ein Beispielprojekt, welches per timer-PWM mit einer RGB-LED durch die Farben fadet, ist hier zum download Demoprojekt verfügbar. Es basiert auf einem firmware-Beispiel für die timer von ST. Dieses wurde mit einer huetoRGB-Funktion aus einem Arduino-Buch erweitert, um Farbwechsel zu generieren.

Der Hardware-Aufbau auf einem kleinen Steckbrett ist trivial:

RGB-LED STM8S103F3P6 Steckbrett
RGB-LED STM8S103F3P6 Steckbrett