News CH32V003 - Experimente mit dem Zehn Cent-Mikrocontroller


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tam H. (Firma: Tamoggemon Holding k.s.) (tamhanna)


Angehängte Dateien:

Lesenswert?

Wenige Tage vor dem Beginn des Weihnachts-Wahnsinns traf auch der zweite Teil des WCH-Evaluationsboards ein. Hier ein kurzer Erstbericht, der die Inbetriebnahme und Beschaffung der Komponenten beschreibt. Ein Folgeartikel wird auf HAL und Co eingehen.

Worum geht es hier?

Die von WCH bereitgestellten Mikrocontroller-Boards bzw. Mikrocontroller benötigen per se keine großen Beschreibung: es handelt sich dabei um einen in Stückzahlen um etwa zehn Cent erhältlichen Mikrocontroller, der sich von den diversen im Markt herumwurlenden 8051-Derivaten dadurch unterscheidet, dass er auf einem vollwertigen RISC-V-Kern basiert. Abbildung eins zeigt das auf der Webseite des Herstellers herunterladbare Blockschaltbild.

Bildquelle: http://www.wch-ic.com/products/CH32V003.html?.

Interessant ist in diesem Zusammenhang außerdem der Besuch der unter http://www.wch-ic.com/products/CH32V003.html bereitstehenden Webseite der Controller-Familie. Aufmerksame Beobachter sehen dort wie in Abbildung zwei gezeigt eine ganze Tabelle verschiedener Varianten - langfristig dürfte WCH also planen, „weitere“ RISC-V-Chips in der preiswerten Klasse anzubieten.

Bildquelle: http://www.wch-ic.com/products/categories/47.html?pid=5#data

Tindie als Evaluationsboard-Lieferant.

Obwohl WCH den Fokus der hauseigenen Anstrengungen offensichtlich auf den Heimatmarkt legt, ist das Unternehmen ausländischen Experimenten gegenüber nicht negativ eingestellt. Auf Tindie findet sich unter der URL https://www.tindie.com/products/adz1122/ ein online-Shop, der zur Controllerfamilie passende Boards feilbietet. Wichtig ist bei seiner Nutzung vor allem, dass die Programmierung über ein - derzeit nur teilweise entschlüsseltes - proprietäres Kommunikationsprotokoll erfolgt, das in einem als WCH-Link bezeichneten Kommandogerät implementiert ist. Achten Sie also unbedingt darauf, unter der URL https://www.tindie.com/products/adz1122/ch32v003-risc-v-mcu-development-board/ sowohl das Paket Development Board als auch das Paket WCH-Link zu bestellen. Für die eigentliche Inbetriebnahme ist es erforderlich, Steckerbuchsen einzulöten - auch heute gilt, dass sich die Komponenten wohl nicht allzu einfach per Pick and Place platzieren lassen. Empfehlenswert ist nach Ansicht des Autors die in der Abbildung gezeigte Konfiguration, die das „direkte“ Anstecken erlaubt.

Bildquelle: Tamoggemon Holding K. S.

Im Rahmen der OOBE implementiert der Anbieter dabei ein einfaches Programm, das - neben der bei Vorhandensein von Versorgungsspannung immer leuchtenden LED PWR - die zweite LED D1 zum Blinken bringt.

IDE: MounRiver Studio.

Sehr preiswerte Mikrocontroller basieren allzu oft auf ancienten 8-Bit-Kernen, die mit arcanen IDEs programmiert werden und keinen vernünftigen Debugger mitbringen. Im Fall der von WCH angebotenen Plattform haben wir diese Probleme nicht - unter der URL http://www.mounriver.com/download findet sich eine eclipsebasierte und als MounRiver Studio bezeichnetes Entwicklungspaket, das zumindest zum Zeitpunkt der Drucklegung dieses Artikels komplett kostenlos ist. Obwohl die Chinesen „nominell“ Windows, Mac OS und Linux gleichermaßen unterstützen, empfiehlt sich die Arbeit mit Windows, weil neue Versionen des Produkts dort zuerst herauskommen. Sei dem wie es sei, erfolgt die folgenden Experimente unter Nutzung der Datei MounRiver_Studio_Setup_V183.zip - extrahieren Sie sie und führen Sie das Installationsprogramm aus, um die IDE auf ihrer Windows 10-Workstations zu installieren. MounRiver ist sonst eine standardisierte Eclipse-IDE, die im Allgemeinen alles bietet, was ein C-bzw. C++-Entwickler erwarten würde. Für die eigentliche Projekterzeugung setzen Sie dann auf den in der Abbildung gezeigten Assistenten – achten Sie darauf, die MCU voll (also als CH32V003F4P6) zu qualifizieren.

Ausblick: das Projektskelett im Fokus.

Neue MounRiver-Projekte beginnen mit der Realisierung eines „Spiegels“, der den UART zur Weiterleitung eingehender serieller Informationen nutzt. Im Interesse der Lustigkeit wollen wir dieses Projektskelett im Folgeartikel kurz zerlegen, um mehr über die HAL zu erfahren. Bis dahin hofft der Autor, dass die Exkurse zu eigener Beschäftigung mit dem System animieren!


: Bearbeitet durch NewsPoster
von Mathias M. (matjes)


Lesenswert?

Ist das Flash Protokoll nicht im Reference Manual beschrieben?

http://www.wch-ic.com/downloads/CH32V003RM_PDF.html
"Chapter 16 Flash Memory and User Option Bytes"

Bei Aliexpress gibt es auch gute Sets (z.B. nach "CH32V003F4P6 QingKe" 
suchen) im "WHC official store". Für 15€ bekommt man da ein CH32V003F4P6 
devboard, den WCH-Link und 5 nackte uCs.
Für ~17€ gibt es 50x CH32V003F4U6 als QFN20 für ein paar Mark weniger 
das ganze als SOP8. (Alles inkl. Versand und MwSt)

von Thomas W. (goaty)


Lesenswert?


von Wf88 (wf88)


Lesenswert?

Wenn ich an meine ersten 8051er so ca. 2000-2002 denke oder AVRs ein 
paar Jahre später, dann muss ich sagen: irre, wie billig das Zeug für 
Bastler heutzutage **erhältlich** ist.

: Bearbeitet durch User
von Lotta  . (mercedes)


Lesenswert?

Vor Allem mit 144 Mhz Taktfrequenz! :-O

@Tam:
Was ist eigendlich auf der "dickeren" Platine mit
den zwei Konnektoren drauf?

mfg

von Jan V. (janv)


Lesenswert?

"Die von WCH bereitgestellten Mikrocontroller-Boards bzw. 
Mikrocontroller benötigen per se keine großen Beschreibung"

naja, dies Urteil spottet auch aller Beschreibung.
Tatsächlich sind gerade die größeren Vertreter ihrer Art schon recht 
ausgewachsene Teile!

Wf88 schrieb:
> oder AVRs ein
> paar Jahre später, dann muss ich sagen: irre, wie billig das Zeug für
> Bastler heutzutage **erhältlich** ist

Von meinen AVRs wird mich auch ein 1 Cent CHxyz nicht weglocken solange 
die neuen Teile nicht mindestens so einfach zu programmieren sind. 
Danach schaut es gerade nicht aus!

von Wf88 (wf88)


Lesenswert?

> Von meinen AVRs wird mich auch ein 1 Cent CHxyz nicht weglocken solange
> die neuen Teile nicht mindestens so einfach zu programmieren sind.
> Danach schaut es gerade nicht aus!

So dachte ich auch mal über "meine" 8051er, bis ich merkte was ein 
tiny2313 mit LPT-Programmer schon so alles "drauf hat".

Und selbst für Hobby-Basteleien ist der Preis eines Einzel-Chips auch 
nicht mehr egal.
Ich habe da noch Preisunterschiede vom tiny2313 (~2€) zum AT89C51AC3 
(~15€) im Kopf. Als der AC3 dann mal nicht verfügbar war kam der erste 
mega32 (~5€).

Das kann schneller gehen als man denkt und zack hat man die Familie 
gewechselt.

von Jan V. (janv)


Lesenswert?

Wf88 schrieb:
> Das kann schneller gehen als man denkt und zack hat man die Familie
> gewechselt.

Da denke ich anders drüber, zumal bei solch schlechtdokumentierten 
chinesischen Controllern. Vorhandenes Software-Knowhow ist durch nichts 
zu ersetzen, vor allem nicht durch billigere Controller einer völlig 
anderer Architektur.

Von den AVRs die ich verwende liegt übrigens keiner über 2 Euro.

von Hartmut W. (minihawk)


Lesenswert?

Ich halte es schon für sinnvoll, sich mit verschiedenen Systemen 
auseinander zu setzen. Und lernen tut man dabei meist auch noch...

von Dieter R. (drei)


Lesenswert?

Wo gibt es die Controller denn für 10 Cent oder für einen Preis, der 
auch nur näherungsweise in diese Größenordnung kommt?

Auf Tindie gibt es Einzelstücke zum "Sonderpreis" von $9,40, 
herabgesetzt von $9,90. Auf Aliexpress finde ich keine, sonst auch 
nichts in den Weiten des Internet.

Ist/war das ein Propagandapreis, der von der Wirklichkeit inzwischen 
eingeholt wurde?

von Thomas Z. (usbman)


Lesenswert?

Dieter R. schrieb:
> Ist/war das ein Propagandapreis, der von der Wirklichkeit inzwischen
> eingeholt wurde?

Nein was du findest sind die Preise für die Laowai (老外) oder Langnasen.
In richtigen chinesischen Shops sind es 1.5 Yuan also etwa 0,2€.

von Gert H. (Firma: IMEMYSELF) (ghl)


Lesenswert?

Thomas Z. schrieb:
> Dieter R. schrieb:
>> Ist/war das ein Propagandapreis, der von der Wirklichkeit inzwischen
>> eingeholt wurde?
>
> Nein was du findest sind die Preise für die Laowai (老外) oder Langnasen.
> In richtigen chinesischen Shops sind es 1.5 Yuan also etwa 0,2€.

Welchen chinesischen Shop können Sie empfehlen?

von Thomas Z. (usbman)


Lesenswert?

Gert H. schrieb:
> Welchen chinesischen Shop können Sie empfehlen?

https://shop33742270.taobao.com/
https://shop33742270.world.taobao.com/search.htm?search=y&keyword=CH32V003

Web Übersetzer einschalten. Die haben eigentlich alles von WCH

: Bearbeitet durch User
von Dieter R. (drei)


Lesenswert?

Bei Taobao finde ich mich nicht zurecht, jedenfalls nicht unter dem 
angegebenen Link. Sobald ich etwas suche, soll ich mich mit meinem 
(nicht existenten) Konto einloggen. Bei Aliexpress werden die Teile 
jetzt auch für unter 20 Cent pro Stück verkauft, wenn man 50 Stück davon 
abnimmt und ich das Angebot richtig verstehe:

https://de.aliexpress.com/item/1005005036714708.html

Varianten mit weniger Pins für weniger Geld.

Auch Development Boards gibt es:

https://de.aliexpress.com/item/1005005338043150.html

von Harald A. (embedded)


Lesenswert?

Der Aliexpress-Link ist sehr interessant, danke dafür! Klar, die 
Versandkosten verhageln die Bilanz, aber den wenigsten Interessenten 
hier dürfte es um den letzten Cent Optimierung gehen.
Bei Taobao braucht man doch meines Wissens nach einen Buy-Agent, 
jedenfalls hatte ich das bisher so gemacht. Oder liefern die Händler 
dort mittlerweile auch direkt nach Europa?

von Thomas Z. (usbman)


Lesenswert?

Dieter R. schrieb:
> Bei Taobao finde ich mich nicht zurecht

Die Links funktionieren am Handy oder Tablet nur wenn man im Browser den 
Desktop Mode einstellt. Der CH32V003 liegt momentan im QFN oder SOP16 
bei 0.67 Yuan.

Wie das mit dem Bestellen funktioniert weis ich auch nicht. Das hat ein 
Bekannter von mir gemacht der auch chinesisch spricht. Die Bauteile sind 
jedenfalls nach 12 Tagen bei mir im Briefkasten gewesen. (Quer gemischt 
durch die WCH Palette)

von Karsten W. (lsmod)


Lesenswert?

Wf88 schrieb:
> Und selbst für Hobby-Basteleien ist der Preis eines Einzel-Chips auch
> nicht mehr egal.
> Ich habe da noch Preisunterschiede vom tiny2313 (~2€) zum AT89C51AC3
> (~15€) im Kopf. Als der AC3 dann mal nicht verfügbar war kam der erste
> mega32 (~5€).
>
> Das kann schneller gehen als man denkt und zack hat man die Familie
> gewechselt.

Hihihi - hinzu kommt noch die Neugier einfach Mal etwas neues 
auszuprobieren.
Zumal der Einstiegspreis wirklich attraktiv ist und somit das 
finanzielle Risiko für chinesischen Elektronikschrott in der Ecke 
überschaubar bleibt.

Wirklich neugierig gegenüber den AVR macht hier eine 32-Bit CPU mit 
höherer Taktfrequenz, sowie Extras wie eine DMA und eine flexiblere 
Pin-Zuordnung.

von Karsten W. (lsmod)


Lesenswert?

Thomas Z. schrieb:
> Die Bauteile sind
> jedenfalls nach 12 Tagen bei mir im Briefkasten gewesen. (Quer gemischt
> durch die WCH Palette)

Gibt es inzwischen schon Erfahrungen mit der WCH Palette?

von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

Als möglicher Nachfolger für den Atmega8, der bei mir in vielen 
Projekten eingesetzt wird, wäre der CH32V003F4P6 eine interessante 
Alternative.
Daher wurde einfach Mal das CH32V003-LinkE Kit bestellt und noch ein 
Schwung von den MCU's dazu.
https://www.aliexpress.com/item/1005004895791296.html

Für die nackten MCU's fehlt nun nur noch eine kleine 
Basis-Bastelplatine, die inzwischen ebenfalls fertig ist (siehe 
Screenshot) und sich bereits in der Fertigung befindet.
Diese beinhaltet gegenüber den käuflichen Varianten keine LED und keinen 
Reset-Taster (diese kann man nämlich bei Bedarf auf die Pinne stecken), 
sondern dafür auf 40 x 33 mm

* Einen 8-Bit Port-Expander mit einem HC595, der wiederum mit weiteren 
Exemplaren in Reihe erweitert werden kann (Rückseite der Platine)
* Einen einfachen Anschluß (linke 16-polige Pin-Reihe) für ein 
LCD-Display (z.B. 16x2 Zeichen), der direkt mit dem Port-Expander 
verbunden ist (und kompatibel zu diesem Adapter ist 
Beitrag "Re: Pollin Display HB10401")
* Einen einfachen Anschluß für 4 Taster, ohne das der Datenbus von dem 
LCD-Display blockiert werden kann (benötigt nur einen weiteren Eingang 
von der MCU zusätzlich)
* Ein EEPROM, z.B. AT24C128, mit dem u.a. der Speicher für 
Konfigurationsdaten und Texte erweitert werden kann
* Ein 16-Bit Dual DAC (PT8211) der ebenfalls am SPI-Bus hängt
* Drei zusätzliche 8-Bit PWM-Kanäle über einen WS2811 mit kleinen 
Treiber-Mosfets, um direkt größere LED'S oder Motoren ansteuern zu 
können
* Eine Micro-USB Buchse für die Spannungsversorgung, an der die 
Datenleitungen wie bei dem USBASP Projekt verwendet werden können 
(https://www.fischl.de/usbasp/)

Wenn die Platinen da sind und wie vorgesehen funktionieren, wird dieses 
kleine Projekt noch weiter beschrieben.
Vielleicht entwickelt sich diesbezüglich noch eine Zusammenarbeit hier, 
da das basteln mir mehr Spaß macht als die Programmierung.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Karsten W. schrieb:
> Gibt es inzwischen schon Erfahrungen mit der WCH Palette

nur mit einigen der 8 Bit MCUs sowie einem neuen usb CDC Chip.
Ich arbeite gerade an einem 5V Design wo ich den CH32F103 benutze weil 
der mit 5V arbeiten kann und eine zweite USB Schnittstelle hat die den 
Hostmode kann.

Elektor verkauft übrigens ein CH32V307 RISC Development Board mit 
angeflanschtem WCH-Link für 20 Euro.

https://www.elektor.com/wch-ch32v307v-evt-r1-risc-v-development-board

: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Thomas Z. schrieb:
> nur mit einigen der 8 Bit MCUs sowie einem neuen usb CDC Chip.

Das klingt doch bereits nach einiger Erfahrung.

Wie schwierig ist der Umgang / Eingewöhnung mit der 
Entwicklungsumgebung?
Wie groß ist die Umstellung im Vergleich zu STM32 oder ESP?

Was benutzt Du für die Programmierung bzw. was kannst Du empfehlen?
Es gibt da z.B. das originale "MounRiver Studio" und Alternativen wie 
https://github.com/cnlohr/ch32v003fun ?

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Karsten W. schrieb:
> Daher wurde einfach Mal das CH32V003-LinkE Kit bestellt und noch ein
> Schwung von den MCU's dazu.
> https://www.aliexpress.com/item/1005004895791296.html

Danke für den Link, das ist ja der "offizielle" WCH-Store bei ali.

von Thomas Z. (usbman)


Lesenswert?

Karsten W. schrieb:
> Das klingt doch bereits nach einiger Erfahrung.

naja ernsthaft benutzte ich bisher nur die ARMs und x51er von WCH mit 
Keil.
Bei den RISCs führt wohl kein Weg an Mounriver vorbei, insbesondere weil 
die FW Updates für den WCH-Link dort verteilt werden. (Aktuell ist wohl 
FW 2.7)

Von diesem WCH Link existieren ja inzwischen einige Versionen
https://github.com/openwch/ch32v307/tree/main/WCH-Link

Es existiert wohl auch eine Wireless Version.

Mounriver ist ein chinesisches Eigengewächs was neben WCH auch 
GigaDevice Chips unterstützt. Die Software ist inzwischen weitgehend 
übersetzt, manchmal trifft man noch auf Texte in Mandarin. Die IDE 
basiert halt auf Eclipse mit allen Vor und Nachteilen.

von Harald K. (kirnbichler)


Lesenswert?

Es sieht so aus, als würde jetzt auch die Arduino-Welt Einzug halten auf 
den RISC-V-Controllern von WCH:


-------------------
How to use

You can add this software package directly on the IDE through the 
Arduino Boards Manager.

Add the following link in the "Additional Boards Managers URLs" field:

https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.json

Then you can search for "wch" through the "board manager", find the 
installation package, and install it.

------------------

(Quelle: https://github.com/openwch/arduino_core_ch32)

Dies und diverse andere Repositories von WCH finden sich hier:

https://github.com/openwch?tab=repositories

von Keks F. (keksliebhaber)


Lesenswert?

Hey, das hab ich dir vor ein paar Tagen hier verraten!

von Uwe G. (scd)


Angehängte Dateien:

Lesenswert?

Ist schon jemandem aufgefallen, dass der CH32V003F4P6 nicht nur zufällig 
so ähnlich heisst wie der STM8S003F3P6? Das Pinout ist nahezu perfekt 
gleich, siehe Anhang. (Pinout des CH32V003F4P6 - gelb markiert sind die 
STM8S-Anschlüsse) Der CH32V003F4P6 kann in allen Schaltungen mit 
STM8Sx03F3P6 sofort ohne Änderung der Hardware und des Layouts 
eingesetzt werden. Nur der Kondensator an VCap (Pin8 des STM8S) muss 
beim CH32V003 nicht bestückt werden.

von Stefan F. (Gast)


Lesenswert?

Uwe G. schrieb:
> Ist schon jemandem aufgefallen, dass der CH32V003F4P6 nicht nur zufällig
> so ähnlich heisst wie der STM8S003F3P6? D

Alter Hut. Die Firma hat eine ganze Reihe STM Modelle nach gebaut.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.