2023-01-01から1年間の記事一覧

2023年の電子工作振り返り

メイン WCHのCH32V003との出会いがあり、開発ボードやガジェットに組み込んだよ 電子工作&自作キーボードのイベントに出展や参加したよ 技術書典でも電子工作をテーマに2冊書いたよ JLCPCB、WCHのおかげで、たくさんの電子工作を楽しんだよ CH32V003との出…

M5Dialをトラックパッド化する

この記事はキーボード #1 Advent Calendar 2023の11日目の記事です。 本記事で扱うのはキーボードではなくトラックパッドですが、キーボードとは切っても切れない関係と思いますので、ご容赦ください。 tl;dr M5 DialはM5Stackが発売する、大きなロータリエ…

USB PD電源から特定の電圧を出力できて、ブレッドボードにさせるアダプタを作った

USB PD Exporer tl;dr USB PD 仕様の電源に対して、CC ラインで通信することで、特定の電圧を出力刺せることができるよ USB PD の電力利用(Sink)側用の IC がいくつか出ているよ。WCH からの CH224 が出ていて、設定を変えればできるよ。 逆電防止や、スイ…

ch32v003funでCH32V003を便利に開発している話

tl;dr ch32v003fun は、コミュニティの CH32V003 用の開発ライブラリ、および開発環境だよ。 開発ライブラリと言っても、基本的にリファレンスマニュアル見ながらレジスタを操作するもので、各ペリフェラルを使いやすくするようなものではないよ。 でも exam…

Relayを使って、USB切り替え機能付きUSB Hubを安価に作った

tl;dr CH334を使うと、レギュレータなしの5V電源と、数個のコンデンサだけで、USB 2.0 Hubを作ることができるよ。 USBの切り替え機能もつけたくて、リレーを使ってDM/DPを繋ぎ替えてみたけれど、動いたよ。本来は、USB切り替えICを使うべきだよ。 リレーの制…

時々ハングするIoT機器を再起動させるUSBアダプタを作った

tl;dr GoogleHomeから操作できる家電リモコンが時々ハングして、使いたい時に限って使えないことがあったよ。電源を挿し直せば直るよ CH217 はスイッチ機能がついたUSB電源保護ICだよ。2Aくらい流せるのでWiFi機器でもいけそうだよ。 このICのENを、CH32V003…

USBデバイスの電源保護に、CH217、CH213を使う

注意、この記事は工業製品の電子回路設計のプロではなく、アマチュアの電子工作エンジニアが執筆しています。世の中には紹介するICより良いICがあるかもしれませんが、私にとって良さそうなものを見つけたとして、記事にしています。 tl;dr USBデバイスの工…

M5StackC3 と IR Unit で、HTTPで赤外線を送受信できる自宅 Web API を作る

tl;dr CircuitPython と ESP32 を使うと簡単に、HTTP Server を立てることができる。 CircuitPython の pulseio を使うと、制御が抽象化されて、簡単に信号制御ができる。 M5StampC3 と、IR Unit ならケースに入っているし、そのままお家にデプロイしても良…

CH32V203 で Arduino UNO R4 の SWD 仕様の DAPLink を作る

tl;dr DAPLink はオープンソースのARM MCU デバッガのファームウェアだよ。SWDの他にUARTも生えてて便利だよ。 DAPLink 仕様のフォークされた CH32V203 用のファームウェアがあるよ SWD には 10ピンコネクタの仕様があるよ。Arduino UNO R4 の SWD はこれにU…

CH32V003 の開発に ch32v003fun を使う

より詳細な記事を書き直しました。 74th.hateblo.jp tl;dr CH32V003 は秋月で40円から買える、安い割に機能が多く、必要な部品も少ないMCUだよ ch32v003fun はコミュニティベースの開発ライブラリおよび開発環境だよ。環境構築も簡単だよ。 ch32v003fun は開…

KiCad の公式プラグインリポジトリに、自作カラーテーマを追加してもらった

tl;dr 既存のカラーテーマに不満を持って、カラーテーマ Monokai High Contrast を作ったよ。 KiCad プラグインを公開するには metadata.json 、package.json、repository.json と書くものが複数あるよ。 OSSで公開されている https://github.com/pointhi/ki…

安価なプリヒーターで ESP32-C3-MINI-1 をリフローする

tl;dr ESP32-C3-MINI-1 モジュールは、技適通っていて、ProMicroのように小さいガジェットに使えるけど、リフローでないと実装が難しいよ アリエクで$20以下で買えるプリヒーターがリフローに使えたよ ステンシル、フットプリントは Espressif の KiCad ライ…

はんだ実装の作業台としてガラスカッターマットを使う

最近ガラスカッターマットをはんだ実装時の作業台として使っています。 tl;dr ガラスカッターマットが、以下の点ではんだ作業台として使えます。 PCBをマスキングテープで留めて、固定できる 硬いため、部品もつまみやすい 熱に強く、ヒートガンを安心して使…

自作キーボードのスイッチソケットを、クリームはんだとヒートガンで実装する

自作キーボードには、スイッチを直接実装する代わりに、ソケット部品を実装してスイッチを交換可能にすることが行われます。 私の作っているキーボード Sparrow62v2 もソケットに対応しています。 しかし、2022年くらいから、新設計のソケットが出回るように…

ファームウェア書き込み用に、スルーホールに刺さるサンハヤト テストワイヤが便利

何か基板を作っていて、MCUにファームウェアを書き込むためにスルーホールでアクセスできるようにしておくことをします。 以前は、ここにブレッドボード用のワイヤを挿して、指でなどで押さえつけてのですが、最近はサンハヤト テストワイヤを使っています。…

技術書典14にオフライン参加しました

技術書典14のオフラインイベントが、5/21 にあり、そちらに新刊『マイコンさんに知らないプロトコルを喋らせる技術』を持って参加していました。 #技術書典 オフライン開場しました!新刊「マイコンさんに知らないプロトコルをしゃべらせる技術」と、ProMicr…

技術書典14で新刊『マイコンさんに知らないプロトコルを喋らせる技術』を出します!

技術書典には、3からサークル参加をして新刊を出し続けています(12回目)。 当初は VS Code 関連本でしたが、ここ2回はハマっている電子工作の本を出しています。 74th.booth.pm 74th.booth.pm 今回も電子工作の本を出します。 74thの電子工作の課題意識 電…

MCU が正しく実装できているか確認するためのファームウェアを作った

RP2040 の開発ボードを作っていますが、目で見て大丈夫でも、0.5mm ピッチ VFQFN は手実装がうまくいかないのか、GPIO が動かなかったこともありました。 このために実装が上手くいっているかどうかを、チェックするためのファームウェアを作りました。 RP20…

Type-C ソケットのもげ対策に表側からもはんだをながす

Type-C ソケットを実装していて、最近小さいものを作ることが多く、ソケットの裏面にも部品が組み込める SMT タイプのソケットを使っています。 10個のUSB 3.1タイプCメスsmtソケット充電ポートpcbスナップコネクタ https://ja.aliexpress.com/item/10050048…

CH340X で小さな ESP32 Writer を作った

tl;dr CH340 は部品点数を減らせる便利な USB シリアル変換ICだよ ESP32 はGPIO0 を H にしながら、EN を H→L→H にしてリセットすると、UART でファームウェアを書き込みを受け付ける状態になるよ。MOSFETを2個使って、UARTの送信リクエストと同時にこの操作…

CH32V003 の ProMicro サイズ開発ボードをつくった

CH32V003 で遊んでいる中、ProMicro サイズの開発ボードを作ってみました。 ProMicroc 型にする利点は以下のようなところがあります。 小さいけど、ほどよい量の IO を持つ。 UART、I2C、5V、3V3 などの位置を揃えることで、新しいマイコンでも迷わず接続で…

USB Type-C ソケットテスターを作った

写真のUSB Type-Cソケットテスターを作った話です。 USB Type-C には凄くお世話になっています。 ありとあらゆる電子工作の作品には USB Type-C ソケットを持たせています。 主に私が使っているのは、以下の2つ種類のソケットです。 ミッドマウントタイプの…

手持ちの 0805 SMD LEDの眩しくない抵抗値

電子工作には、電源が正しく通っていることを確認するために、SMD 0805 サイズのLEDをよく使います。 この時に、GPIOやVCCに接続する時に、LEDと一緒に抵抗を挟みますが、この抵抗の値をいつも適当に1kΩとかを入れており、青色はいつも眩しいな、紫色は眩し…

CH32V003で、UARTで書き込みできるブートローダを書き込んで利用する

tl;dr CH32V003 には UART 経由で書き込めるようになるブートローダーのコードが公開されているよ ハードウェア WCH-LinkE、ソフトウェア WCH-LinkUtility を使ってブートローダーを書き込んだあとに、PC0を3V3にいれて電源を入れると、UART経由で書き込める…

CH32V003 のファームウェアのビルド環境を整える

WCH の RISC-V の安価なマイコン、CH32V003 のファームウェアのビルド環境を整えて、ビルドをする所まで持ってきました。 いくつかCH32Vの利用法についてまとめている所を見つけて、主にそれに従って準備しました。 github.com tl;dr https://github.com/ris…

スライドジョイスティックモジュールを、モジュール化して自作キーボードに取り込む

これまでの課題 去年、PSP用っぽいスライドジョイスティックモジュールを、ポインタデバイスにしたことを記事にしました。 74th.hateblo.jp この時、これを使い続けることができませんでした。それには複数の理由がありました。 PSPっぽいジョイスティックを…

Rock5B用のArmbianイメージを Linux の Kernel Configration などをカスタマイズしつつビルドする

ARM64 8コアCPU で、メモリ16Gまで積める、Rock5B で遊んでいます。 開発元 Radxa の公式イメージが Ubuntu 20.04 ベースであり、ちょっと古いため、Ubuntu 22.04 を使うべく、ARM SBC用Linuxイメージをビルドできる Armbian を試しています。Armbian におい…

STM32及び互換ピンアウトProMicroサイズ開発ボード X32Micro を作った

左:STM32F103C8T6、右:CH32V203C8T6 CH32V203 で遊ぶための ProMicro サイズ開発ボードを作りました。 74th.hateblo.jp よくよく考えたら STM32F のコピーの CH32F を、RISC-Vで置き換えた CH32V MCU のため、ピンアウトや機能は STM32F を置き換えられるよ…

RISC-V MCU の CH32V203 開発ボードを作った

RISC-V MCU の CH32V203 を使ったマイコン開発ボードを作りました。 CH32Vシリーズとは ARMコアを使ったマイコンには、STM32が有名ですが、これをなぞった中国製マイコンとして、 GigaDevice GD32 や WCH CH32 マイコンがあります。型番にも STM32F103C8T6 …

ProMicroサイズなRP2040開発ボードを設計し直した

RP2040 への理解度が高まってきたところで、ProMicro型 RP2040 開発ボードを設計し直しました。 背景 Raspberry Pi Pico の MCU である RP2040 を理解したく、『Hardware Design with RP2040』に沿って、RP2040を使った開発ボードを作っていました。 その顛…