
PSLab
fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io

The functional keyboard for creators.
Pulsar is an open-source printed circuit board by mackee, from the mackee/pulsar repository on GitHub. It is a 2-layer board of 124.5 × 156.8 mm with 63 parts on 44 nets, routed with 773 tracks and 43 vias.
It is built around the AMS1117-3.3 and WS2812B. Its parts include 13 capacitors, 13 switches, 11 diodes, 4 resistors and 4 connectors. It belongs with the STM32 boards of this library.
Twitterの私のアカウントまでDMをしてください @mackee_w
このビルドガイドはRev.2(11キー)版のビルドガイドです。Rev.1(9キー+OLED付き) のビルドガイドはこちら
https://gist.github.com/mackee/b5231e5609be889129ee4aa5c9ab0aaa


メイン基板と、LEDがついたボトムプレートが一体になっています。

本体基板とは別に添付しています。

ネジが入った袋です。袋の中には以下の物が含まれています。
Cherry MX互換のキースイッチに対応しています。
Kailh BOX, Kailh Speed, Gateronスイッチの適合を確認しています
入手されたキースイッチに適合するキーキャップが必要です
親指ロータリーエンコーダ部分に使用するノブです。
軸φ6.1に対応しているつまみが使用できます。また、直径2.3cm以上のつまみはキーキャップと干渉します。
秋月電子で売られているK-59や、千石電商で扱いがあるBR-20が使用できることを確認しています。
Pulsar基板本体をメイン基板とボトムプレートに分割します。

4箇所あるので、できるだけ近い部分を持ちつつ折ってください。写真のようにラジオペンチを使うときれいに折れます。

ネジ袋からスペーサーを8個全部と、黒いネジを8個取り出します。
ボトムプレートの何も部品がない面から、ネジを差し込み、反対側からスペーサーを取り付けます。

このとき、はじめは手で軽く締めていって、最後に精密ドライバーでネジを、ラジオペンチでスペーサーを持って固く締めます。

8箇所ある穴すべてにスペーサーを立てます。
メイン基板を、スペーサーを立てたボトムプレートの上に重ねます。

メイン基板の取り付け穴はスペーサーの直径よりも大きいので、穴の中にスペーサーを通すようにします。
また、ロータリーエンコーダを右下にしたときに、ボトムプレートには 3本のピンヘッダーが、メイン基板にはピンヘッダを通すための穴があります。

電気的に接触するため、メイン基板側の真ん中の穴が少しずれています。重ねたときに、ボトムプレートのピンがメイン基板の穴に刺さるようにします。

止まるまでグググッと押し込みます。
ボトムプレートに、メイン基板を重ねた物の上にさらに、トッププレートを重ねます。
スペーサーの位置とトッププレートの位置を合わせて、トッププレートを残りのネジで固定します。

これで、Pulsarの本体は完成です。
トッププレートの穴から、キースイッチを差し込んでいきます。

このとき、メイン基板の黒い丸の部品と、キースイッチのピンの位置を合わせます。

また、キースイッチのピンが曲がっているときは、差し込んだときに折れてしまうことがあるため、ラジオペンチなどでまっすぐにしておきます。
トッププレートと、キースイッチの縁が当たるまで、強く押し込みます。

キースイッチにキーキャップを取り付けます。

ロータリーエンコーダにつまみ/ノブを取り付けます。

これで完成です! お疲れさまでした。

レバースイッチ押し込みを続けるとLED/RESETレイヤーに入ります。

NOTICE: 本家qmk_firmwareへPull Request予定です。マージされたあとに手順が変わります
qmk configuratorは現在ロータリーエンコーダに対応していないため、ソースコードを変更してキーマップを変える手順を記述します。
事前にqmk_firmwareを扱える環境を構築しておきます。
参考: QMK 環境の構築
pulsar ブランチを指定して github.com/mackee/qmk_firmwareをcloneします。$ git clone -b pulsar github.com/mackee/qmk_firmwareすでにqmk_firmwareのclone済みブランチがある場合は、
$ git remote add mackee https://github.com/mackee/qmk_firmware
$ git fetch mackee pulsar
$ git checkout pulsarと、リモートリポジトリを追加してcheckoutします。
動作確認のためにファームウェアを書き込みます。頒布時点で書き込まれているキーマップはdefaultです。
qmk_firmwareのディレクトリにCLIターミナル内で移動し、以下のコマンドを実行します。
$ make pulsar/rev2:default:dfu-util
$ qmk flash -kb pulsar/rev2 -km defaultERROR: Bootloader not found. Trying again in 5s. と表示されたら、右下レバースイッチを押し込みながら、一番右上のキーを押します。すると、書き込みが開始されます。

Transitioning to dfuMANIFEST state と表示されたら成功です。
defaultキーマップをもとにキー配置を変えてみます。
まず、keyboard/pulsar/keymaps/rev2/defaultディレクトリをコピーしてkeyboard/pulsar/rev2/keymaps/mykeymapディレクトリを作ります。
$ cp -R keyboard/pulsar/rev2/keymaps/default keyboard/pulsar/rev2/keymaps/mykeymapその後にお好きなテキストエディタでkeyboard/pulsar/rev2/keymaps/mykeymap/keymap.cを編集します。
例えばSと入力されるように設定しているキーをDに変更するには以下のようにkeymap.cを変更します。
@@ -28,7 +28,7 @@ enum {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT( /* Base */
- KC_LSHIFT, KC_A, KC_S, KC_Y, KC_M, \
+ KC_LSHIFT, KC_A, KC_D, KC_Y, KC_M, \
KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, \
KC_LALT, \
JP_LBRC, XXXXXXX, LT(_LED, KC_ENTER), XXXXXXX, JP_RBRC \キーコードの参考ドキュメント: キーコードまとめ
キーマップの最下段はレバースイッチのキーマップです。レバースイッチには半押しも検知できる機能があるのですが、使いにくいためdefaultキーマップでは使っていません。
JPがプレフィックスにあるキーコードは、日本語キーボード向けのキーコードです。Windowsですでに日本語キーボードが別にある環境で利用してください。
保存後にキーボードにキーマップを書き込むには、 2と同様の手順で、以下のコマンドを実行します。
$ qmk flash -kb pulsar/rev2 -km mykeymapロータリーエンコーダはkeymap.c内のencoder_update_user関数で挙動を定義しています。
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
if (get_mods() & MOD_LCTL) {
rgblight_step();
} else if (get_mods() & MOD_LSFT) {
tap_code(KC_END);
} else {
tap_code(KC_MS_WH_DOWN);
}
} else {
if (get_mods() & MOD_LCTL) {
rgblight_step_reverse();
} else if (get_mods() & MOD_LSFT) {
tap_code(KC_HOME);
} else {
tap_code(KC_MS_WH_UP);
}
}
}
}KC_から始まるキーコードを変更すれば、そのまま挙動を変えることが出来ます。
clockwiseがtrueの場合は時計回り、falseのときは反時計回りの場合です。また、get_mods() & MOD_***では装飾キーの同時押しの場合の挙動を記述しています。
回路図, パーツリスト, 基板配線図などハードウェア部分

この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。
本製品のファームウェアはqmk firmwareのライセンスに従います。
| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | 0.1u | Capacitors_SMD:C_0805_HandSoldering | C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 |
| 11 | KEYSW | keyswitches:Kailh_socket | K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11 |
| 11 | WS2812B | LED_SMD:LED_SK6812MINI_PLCC4_3.5x3.5mm_P1.75mm | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11 |
| 8 | MountingHole | Mounting_Holes:MountingHole_2.2mm_M2 | H8, H10, H11, H12, H13, H14, H15, H16 |
| 8 | MountingHole | Mounting_Holes:MountingHole_4.3mm_M4 | H1, H2, H3, H4, H5, H6, H7, H9 |
| 2 | 22 | Resistors_SMD:R_0805_HandSoldering | R3, R4 |
| 2 | 5K1 | Resistors_SMD:R_0805_HandSoldering | R1, R2 |
| 1 | 10uF | Capacitors_SMD:C_0805_HandSoldering | C13 |
| 1 | 22uF | Capacitors_SMD:C_0805_HandSoldering | C1 |
| 1 | AMS1117-3.3 | TO_SOT_Packages_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | Conn_01x03 | pulsar:3pin-zigzag | J3 |
| 1 | Conn_01x03 | Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm_SMD_Pin1Left | J2 |
| 1 | Conn_01x06 | Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm | J1 |
| 1 | Rotary_Encoder | Rotary_Encoder:RotaryEncoder_Alps_EC12E_Vertical_H20mm | SW2 |
| 1 | STM32F072C8Tx | Housings_QFP:LQFP-48_7x7mm_Pitch0.5mm | U1 |
| 1 | TMHU28 | pulsar:TMHU28 | SW3 |
| 1 | USB_C_Receptacle_USB2.0 | usb-type-c:Mid_Mount-USB_C_HandSoldering | J4 |
It measures 124.5 × 156.8 mm and has 2 copper layers, 1.6 mm thick.
63 parts, built around the AMS1117-3.3 and WS2812B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the mackee/pulsar repository on GitHub, at the commit this page was made from: the board is pcb/pulsar.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask mackee before reusing the design.

fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io

MycroftAI/hardware-mycroft-mark-II
Mycroft's Mark II Rpi mechanical, electrical and industrial designs


NuttyShell/NuttyBadge
NuttyBadge: A NuttyShell crafted multi-tool. Opensourced Hardawre and Software


Tomas-Kuchta-FPV/Open-ESPilot
An open-source project to develop a custom ESP32-based flight controller designed primarily for use with ArduPilot. Focused on affordability, flexibility, and ease of integration with various robotic and UAV platforms.

