ch32v003メモ

組み込み未経験者が40円マイコンch32v003を2週間使ってみたメモ。(2023.7.23)

CH32V003とは?

  • 中国WCH社が販売している32ビットRISC-Vマイコン
  • 日本の秋月電子から1個40円で購入できる
  • 8,20, 32ピンが入手可能。本稿では8ピン(CH32V003J4M6)を扱う

何ができる?

  • 書き込み装置が安いので、安価にマイコン環境を構築できる
  • クロックを内蔵しているので、マイコン単独で基本的なGPIOプログラムを実行できる
    (有機ELに画像表示、pwmで電子オルゴール作成など)

何が必要?

  1. パソコン(Linux/macOS/Windows。要USB-Aポート)
  2. ch32vマイコン:マイコン本体
  3. SOP8 DIP変換基板:マイコンをブレッドボードに挿すためのピッチ変換基板
  4. WCH-LinkEエミュレータ:書き込み装置。パソコンでビルドしたプログラムをマイコンに焼く装置
  5. 細ピンヘッダ:DIP変換基板に付ける。太ピンヘッダだと挿せない
  6. ジャンパーワイヤ(オスーメス):エミュレータとマイコンを接続する
  7. ジャンパーワイヤ(オスーオス):ブレッドボード上でマイコンと各パーツを接続する
  8. ブレッドボード:各種部品を固定するボード
  9. 工作用品:はんだごて、はんだ、抵抗器各種、LED基板用ブザー

開発環境は?

開発環境は大きく3種類。ここでは"ch32v003fun"を使っています。
  1. MounRiver Studio (Linux/macOS/Windows)
  2. 公式の開発環境。よく知らないので割愛
  3. Arduino (Linux/macOS/Windows)
  4. ワンボードマイコンで人気の開発環境。コード記述が簡単だが、開発中のためch32vでは使えない機能も多い(PWMなど)
  5. ch32v003fun (Linux/macOS/Windows)
  6. 非公式の開発環境。サンプルコードが豊富。低レベル記述が可能(自由度が高いが難易度も高い)

マイコン側の準備

ch32v003はLinux, macOS, windowsで開発することが可能です。ただし、マイコン購入後に一度だけWindows上で「モード設定」が必要です。
モード設定方法は個人ブログ「きょうのかんぱぱ」さんの「WCH-LinkEのモード設定をする」が参考になります。

サンプルコード(ch32v003fun)

下記コードはch32v003fun用です。Arduino IDEやMounRiver Studioではビルドできません。

  1. 備忘録
  2. delayを用いたLチカ
  3. PWMを用いたLチカ
  4. 電子オルゴール