見出し画像

OrthoLinearでSemiSplitでSTM32onBoardでホットスワップでアルミ削り出しケースでオリジナルキーキャップな自作キーボードを作るメモ

こんにちは、font-family:Inter,"Noto Sans JP"!importantです。

SpaceCadet2024というキーボードを作りました。
特徴は

  • オルソリニア

  • セミスプリット

  • STM32直載せ

  • ホットスワップ

  • アルミ削り出しケース

  • オリジナルキーキャップ
    って感じのキーボードです。

初めての試みが多く、自分的に大変為になったため、備忘録として書き残しておきます。

この記事はSpaceCadet2024で書きました。

PCB

完成・動作品を置いてあるリポジトリのリンクを貼っておきます。
https://github.com/quartz1216/spacecadet2024/tree/board
これを改造してオリジナルPCBを作っても大丈夫です。って言っても数少ないSTM32プロジェクトのいいとこ取りをしてるのでなんとも

↓回路図

STM32

初めてキーボードを作ったときからの憧れ、マイコンonBoardに挑戦しました。

ATmega32U4の供給不足による高値もあり、他のマイコンに挑戦したいと思い、今回はSTM32F072C8T6を使いました。
他にはRP2040も候補に上がりましたが、外部水晶発振器が必要、外部フラッシュが必要といった具合だったため、STM32を選択しました。

STM32F072C8T6のココが凄い!!!

  • 単純なキーボードなら内部水晶発振器で間に合う(スプリットキーボードだと必要になるらしい)*1

  • ATmega32U4より2倍書き込める

  • RP2040みたく外部フラッシュがいらない

  • 5Vを3.3Vに降圧させるレギュレーターが必要(デメリット)

このことからよりシンプルにPCBを設計することが出来るのでSTM32を選びました。

つまずいたところ

  • ブートローダーに入るには? → BOOTを押しながらRESETをポチッ!

  • USBの信号線はそれぞれマイナス→PA11、プラス→PA12に

  • ノイズ対策キャパシターはVCCピンごとに1つ

USB信号線

おそらくフューズ、ESD保護あたりはなくても動きはすると思う(おすすめしない)
MicroBにすれば5.1k抵抗も要らなくなるので省スペースに出来ると思う

JLCPCBでPCBAした際のパーツリストも載せておきます。
ダイオードは手半田しました。みんなは絶対お願いしような...

てーぶる!!!(迫真)
|Comment|Designator|Footprint|JLCPCB Part #|
|---|---|---|---|
|HRO-TYPE-C-31-M-12|IO1|HRO-TYPE-C-31-M-12|C165948|
|4.7u|C3|C_0402_1005Metric|C23733|
|STM32F072C8Tx|U1|LQFP-48_7x7mm_P0.5mm|C80488|
|100n|C5,C6,C7,C8,C9|C_0402_1005Metric|C1525|
|USBLC6-2SC6|U2|SOT-23-6|C2827654|
|XC6206PxxxMR|U3|SOT-23-3|C5446|
|5.1k|R1,R2,R3,R4|R_0402_1005Metric|C25905|
|1u|C1,C2,C4|C_0402_1005Metric|C52923|
|500mA|F1|Fuse_1206_3216Metric|C2984676|

キーキャップ

オルソリニア愛好家の90%はアリエクで見つけたいい感じのキーキャップを歯を食いしばりなから睨んでいることでしょう。物理的につけられないからね

そんなOrtholiearなピーポー達にはFKcapsがおすすめだ! https://fkcaps.com/custom
このサイトは結構自由にキートップをカスタムできるんだ。少々値は張るが。

私はこんな感じのシンプルなキーキャップを作った。キートップはInter。自分が好きなフォントをアップロードして使うことが出来るぞ!!

製造までは時間がかかるが、配送はFedexで届けてくれる。爆速。

キースイッチ

Outemu サイレントクリームイエローを使った。商品ページにはサイレント版HolyPandaと書いてあった。HolyPandaを使ったことはないけどむちゃくちゃ好きなスイッチおすすめhttps://ja.aliexpress.com/item/1005006263528658.html?spm=a2g0o.order_list.order_list_main.29.3d50585azYfbmv&gatewayAdapt=glo2jpn

アルミ削り出しケース

どうやら去年の夏ぐらいにJLCPCBがアルミCNCを始めたらしい...ってことでお願いしました。このぐらいだと1万円前後でできました。
今回のケースはプレートとケースが一体化したインテグレーテッドマウント方式です。

表面処理は、ビーズブラスト→アルマイト って感じにしました。

一応ボードブランチにSTEPファイルとFusion360用のファイルが入ってます。是非参考に。

引用 参考

*1 https://scrapbox.io/self-made-kbds-ja/ATMEGA32U4-AU_(Promicro_の_MCU)_と比べた_STM32F072C8T6_の特徴

このガイドの最初の方にある3つのプロジェクトを参考にしました。
https://github.com/Sleepdealr/RP2040-designguide?tab=readme-ov-file#voltage-regulator

わかりやすいRPI公式のRP2040ガイド
https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040-JP.pdf

この記事が気に入ったらサポートをしてみませんか?