tl;dr
- CH32V003は、安価だけど機能が豊富なマイコンで、筆者は電子工作にめっちゃ使っているよ
- CH32V003の知らない機能を使い尽くしたくて、書籍の執筆を始めたよ
- 書籍には、Arduino/公式SDK/ch32fun/レジスタ操作での実装方法をそれぞれ載せていて、初心者はArduinoから、上級者はレジスタ操作を理解して進める構成にしているよ
- 各Peripheralの使い方は、Arduino/公式SDK/レジスタ操作で、GPIO/Timer/DMA/ADC/PWM/UART/I2C/SPI/WDT/省エネルギーモードなどをそれぞれ解説しているよ
- おまけとして本書の知識をLLMに与えられるMCP Serverを作成したよ
- 書籍は、5/31からオンライン開催、6/1にオフライン開催がある技術書典18で頒布するよ
紹介するCH32V003とは
CH32V003は安価ながら多機能なWCH社が販売する32bit RISC-Vマイコンです。 秋月電子通商でも40円で扱われ、公式ショップでも単価25円ほどで購入できます。
WatchdogTimerや、省エネルギーモードなど、使い方を知りませんでしたが、この書籍で試すことで使えるようになり、実際にプロダクトにも組み込みました。
筆者のCH32V003との関わりと執筆動機
筆者はCH32V003を、電子工作の製作に頻繁に組み込むようになりました。
以下の制作物にも簡単な制御にCH32V003を使っています。
安価であるため単純な機能を使うだけでも十分効果的なのですが、 さらにマイコンの様々な機能を使い尽くしたいと思い、この書籍を執筆しました。
本書の内容
この書籍では、CH32V003の開発に必要な知識をまとめています。 基礎知識として、購入方法から最小限の回路などを解説します。 ファームウェアの開発に必要な機材や、開発環境の使い方を説明します。 MCUは多くの機能を持っており、MCUの機能としての解説と、Arduino、公式SDK、ch32fun、レジスタ操作での実装方法も解説します。
これ一冊でCH32V003に必要な開発を網羅的に得られる内容になっています。
目次
目次は以下となっています。
- まえがき
- 1.CH32V003の魅力と基礎知識
- 2.Arduinoでの開発
- 3.WCH SDKでの開発
- 3.1.MounRiver Studio 2を使った環境セットアップ
- 3.2.ソースコードの構成
- 3.3.MounRiver Studioでのビルドと書き込み
- 3.4.MounRiver Studioでのダウンロード設定
- 3.5.SDI-Printによるログ出力
- 3.6.PlatformIOを使った環境セットアップ
- 3.7.PlatformIOでのビルドと書き込み
- 3.8.PlatformIOでのSDI-Printの有効化
- 4.ch32funでの開発とレジスタ操作
- 5.GPIO
- 6.TimerとDMA
- 7.PWM
- 8.ADC
- 9.UART
- 10.I2Cマスター
- 11.I2C スレーブ
- 12.SPI
- 13.Watchdog Timer
- 14.省エネルギーモード
- 15.NeoPixelとOLED SSD1306の制御
- 15.1.NeoPixel
- 15.2.OLED SSD1306
- 16.その他の機能
- NRST、SWIOピンを使用する
- ユーザ情報を格納するOption Byte
- Rustでの開発環境の構築
- 17.筆者の製作
- 18.本書のMCP Serverを使おう
- おわりに
- 著者
技術書典18に出典
5/31からオンライン開催、6/1にオフライン開催がある技術書典18に出展します。 オフライン会場のブースは「え01」です。
オフライン会場では、CH32V003の開発ボードも販売したり、実際に作ったものを展示したりします。
ぜひお立ち寄りください。
おまけ MCP Server を作った
本書で作ったサンプルコード、解説書をLLMに読ませれば実装ができるようになるのではないかと思い、本書の内容をレスポンスとして返すMCP Serverを作成しました。 フリーソフトで公開しています。 今後ブログでも紹介します。