ProMicro には atmega32u4 (QFP44) という、USB ペリフェラルが載ったマイコンが使われている。しかし、遊舎工房さんの meishi展(パンフレット)では、atmega328p (QFP32) という USB ペリフェラルの載っていないマイコンを使って PCB を起こしているものがあり、それがとてもカッコよかった。ProMicro 基板を使わず、自分でもハンダ付けできそうなマイコンが直付けで、コンパクトにまとまっている!
どうやら V-USB という、GPIO で USB プロトコルを実装したライブラリがあるようだ。その後数ヶ月はその辺りを色々と調べ、qmk は使わずに、V-USB で HID キーボードデバイスを実装し、USBaspLoader で書き込むというところまでは動かすことが出来た。
というところで、だがしかし、職場の先輩社員から STM32F042K6T6 という、USB ペリフェラルが載っていて、しかも秋月で安く売られているマイコンがあると教えてもらう・・・。
atmega328p に比べると、外部クリスタルは要らないけど、3.3V レギュレータが必要。arduino よりも参考にできるサイトは少なそう。V-USB は一応ちゃんと動いたけど、だけどパケット効率があまりよく無いという記事(Interrupt free V-USB)もあったしなぁ・・・。
よし、やってみるか!ということで、KiCAD で作ってみたのがこちらの breakout 基板。
pcbgogo から届いて、早速ハンダ付けして mac につないでみたけど、まったく動かない(汗)電源 LED が付くだけ・・・。
だけど、ST-Link も持ってないし、オシロスコープも持ってないので、仕方なしにアナログテスターで地道に調べていくこと2〜3時間。
あれ?USB の D- 端子がプルアップされている!?このデバイスは USB のフルスピードのはずだから、D+ 端子がプルアップされるはずでは・・・?
回路図確認したら、D+ / D- 端子を逆につないでいた(汗)上の写真だと、裏面(下側)の R7, R8 と J3 の接続が入れ替わっている。そら動かんわ・・・。下の回路図は修正後のもの。
うわ〜、やってしまった〜、と思ったけど、何とか踏みとどまって修正法を考える。結局、R8 を対角線に取り付けて、R7 の方は R8 に並行に置いて、ジャンパー線で配線することにした。アクロバティック!色んなところがキワキワ。
なんとかこれで動いた!ふ〜〜っ。BOOT0 スイッチを押しながら RESET スイッチを押すと、USB ブートローダが起動している。
最後に L チカを書き込んで動いたところ。
STM32_Programmer_CLI を使って DFU 経由で書き込む。STM32CubeIDEをインストールすると、
/Applications/STM32CubeIDE.app/Contents/Eclipse/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.macos64_1.1.0.201910081157/tools/bin/STM32_Programmer_CLIにプログラマのバイナリがインストールされているので、これを使う。
その後 ST-Link も入手し、現在は、修正した基板を発注中〜♫
後編に続く。
このコメントは投稿者によって削除されました。
返信削除