STM8S003F3P6

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.

Prototype-Board STM8S003F3P6

Nach dem STM8S105 Prototype Board (siehe hier) folgt nun das STM8S003-Board. 

Auch hier wollte ich die Pins nach Möglichkeit nach Funktion herausziehen. Außerdem hatte ich noch einige RGB-LED im PLCC-Design herumzuliegen. Auch hier wird ein Resettaster vorgesehen, Quarz-Bestückung möglich, ein Encoder-Anschluss, I2C, Analog-Eingänge, eine serielle Schnittstelle und natürlich SWIM/NRES zum Programmieren.

Schaltplan
Schaltplan

Das Layout wurde diesmal zu oshpark geschickt, da kleine Layouts dort signifikant billiger sind.

Layout
Layout

Leider wurden bei der Produktion die Bezeichnungen für die Stiftleisten (value) nicht mitgedruckt. Das war mein Fehler, aus Faulheit habe ich die BRD-Datei geschickt, statt die Gerber-Dateien zu erstellen.

fertige, unbestückte Platine von oben
fertige, unbestückte Platine von oben
fertige unbestückte Platine von unten
fertige unbestückte Platine von unten
bestückte Platine von oben
bestückte Platine von oben
bestückte Platine von unten
bestückte Platine von unten