自作マイコンボード Suzuduino UNO 【WCH CH32V203】
話題の激安RISC-V MCU、CH32Vを利用したUNO形状の自作マイコンボードを紹介します。120円のチップながらとてもパワフルで探求しがいのあるチップを、慣れ親しんだ基板形状に収めました。
BOOTHにて販売中です! 基板単品や、部品セットオプション、実装オプションもあります。
この記事は動画の補足記事です。本記事だけでも内容はひととおりわかりますが、ぜひ動画もご覧ください!
概要
WCH社のRISC-Vマイコン、CH32V203シリーズの、CH32V203K8T6を採用した、Arduino UNO形状のプロトタイピングボードです。
CPU | 144MHz 32bit RISC-V RV32IMAC |
FlashROM | 64KB |
RAM | 20KB |
GPIO | 22 |
Interface | I2C, SPI, UART, CAN, etc |
I/O voltage | 3.3V |
2023年9月時点では、CH32V203K8T6は秋月電子で120円で買えます。この値段にしてはとてもパワフルだと思います。もちろんRaspberry Pi PicoのRP2040もチップ単体では同価格帯ではありますが外付け部品がたくさん必要ですので、チップのみで動作できるCH32V203の安価っぷりは圧倒的です。
わたしのGitHubレポジトリ https://github.com/verylowfreq/suzuduino-uno-v1 に、基板の情報を置いています。部品表やサンプルプログラムもありますので、参考にしてください。
組み立て方
ほとんどの部品はスルーホールですが、ICだけLQFP32です。0.5mmピッチですので、ちょっと難しいです。
Type-Cコネクタは変換基板が利用できます。ただし表面実装のパターンもありますので、腕に自信のある方は挑戦してみてください。ICと違って手作業での位置合わせは不要なので、コネクタのほうが楽という説もあります。ピンは小さいので、気をつけてしっかり温める必要はあります。
開発環境
WCH社ではMounRiver Studioを案内していますが、Arduino IDE移植も進められています。
ボードマネージャにURLを追加して、インストールするだけです。
書き込みは WCH-LinkEとUSB経由 の2通りが利用できます。
WCH-LinkEを使う場合は、WCH-LinkUtilityで最初だけモード切替が必要です。
USB経由では、BOOT0ボタンを押しながらリセットすることで、USBダウンロードモードに遷移できます。WCHISPStudioで書き込めます。
Lチカするコード
PA5ピンにLEDが接続されています。わりと一般的なArduinoコードでできます。
追記:初出時、下記コードでdelay()ではなくdelayMicroseconds()を利用していて、目視で点滅が確認できませんでした。
// Build-in LED is connected to PA5 pin.
const int PIN_LED_BUILTIN = PA5;
void setup() {
// Initialize the pin as OUTPUT
pinMode(PIN_LED_BUILTIN, OUTPUT);
}
void loop() {
// Make the LED emitting.
digitalWrite(PIN_LED_BUILTIN, HIGH);
delay(500);
// Make the LED blanking.
digitalWrite(PIN_LED_BUILTIN, LOW);
delay(500);
}
基板設計のあれこれ
- 自分が設計した基板が使われている様子を見るのはとってもうれしい!!
- はじめての基板の頒布でしたが、とてもうれしい。
- 販売していない "V1" 基板のエラッタ
- Type-CコネクタとICのGNDの配線忘れがあった。かろうじてジャンパ線を飛ばして動作確認はできたが、なぜそうなったのか……
- 初版 "V1a" 基板のエラッタ
- "RESET"ボタンと"BOOT0"ボタンの位置が逆。これは単なる確認不足。
- SMD Type-CのVBUSがポリスイッチを経由していない。回路図を間違えていた。
- GPIOピン配置の感想
- 秋月電子で取り扱っている CH32V203K8T6 32pinでは、Arduino UNOピンレイアウトにはギリギリ。BOOT0兼務のPB8ピンも引き出しているが、これは出力専用ピンなので、ちょっといまいち。どのみちピン数が足りないんだけど、どうすれば良かったのだろうか。
- Arduino UNO基板の単位
- インチ単位で設計されているので、とってもわかりずらい(メートル法の住民なので)。本家データシートだとUNO R3まではインチ・ミリの併記、UNO R4ではミリメートル単独表記なんだけど、インチベースで設計されていることには変わりなし。
まとめ
まだまだ発展途上のチップではありますが、とてもワクワクします!
実のところ、ARM系のSTM32チップのCPUコアをRISC-Vに置き換えただけのような構造なので、情報としてはSTM32界隈のものもけっこう参考になります。
ネット上の情報はまだ少ないですが、かといって手がかりがないわけではないので、挑戦するには手ごろだと思います。
投稿者の人気記事
-
verylowfreq
さんが
2023/09/11
に
編集
をしました。
(メッセージ: 初版)
-
verylowfreq
さんが
2023/09/11
に
編集
をしました。
-
verylowfreq
さんが
2023/09/11
に
編集
をしました。
-
verylowfreq
さんが
2023/09/11
に
編集
をしました。
Opening
pallavaggarwal
2023/10/16 -
verylowfreq
さんが
2023/11/09
に
編集
をしました。
(メッセージ: サンプルコードを修正。)
Opening
Kazekaoru
2024/01/08
ログインしてコメントを投稿するHave you used USB host for Flash disk interface? I want to understand that.
Please contact me if you can help me with that: https://pallavaggarwal.in/
突然のご連絡失礼いたします。
PCBGOGOマーケティング部門の葉と申します。
弊社は経験豊かな基板製造・実装会社でございます。
いつも、貴サイトの記事を楽しく拝読させていただいております。
今回、弊社についての記事、PR動画作成をお願いしたく、
連絡させていただきました。
ご興味がおありであれば、一度ご連絡をいただけますでしょうか。
ご多用の折恐れ入りますが、ぜひご検討くださいますよう
お願い申し上げます。
メール:service10@pcbgogo.jp