Skip to the content
PCBKitNew board
2 layers95.3 × 100 mmJoySmall20, the printed circuit board in 3D
Size
95.3 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
58
Nets
47
Pads
301
Tracks, vias
421, 16
Pours
5
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
19 Oct 2025
Updated
9 Nov 2025

Overview

JoySmall20 is an open-source printed circuit board by Maitneel, from the Maitneel/JoySmall20 repository on GitHub. It is a 2-layer board of 95.3 × 100 mm with 58 parts on 47 nets, routed with 421 tracks and 16 vias.

It is built around the RKJXV122400R. Its parts include 23 diodes, 20 switches, 4 resistors, 2 capacitors and 1 connector. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

JoySmall20

ちょっとしたショートカットやマウス操作をすることを目的に作られた100x95.25mmのキーボードです。

20個のキーとジョイスティック、ロータリーエンコーダを搭載しています。

Build Guide

必要な部品は以下の通りです

部品名個数遊舎工房さんの商品ページ秋月電子さんの商品ページ
ProMicro1https://shop.yushakobo.jp/products/3905
https://shop.yushakobo.jp/products/pro-micro
いずれか1つで大丈夫です。個人的にはType-Cの方がおすすめです
Cherry MX 互換スイッチ0~20つけたい個数用意してください。ProMicroを表側につける場合は最大で18個になります
Kailh Switch Socketスイッチと同じ個数https://shop.yushakobo.jp/products/a01psなくても大丈夫です。MX用を購入してください
ダイオード (1N4148)スイッチと同じ個数https://shop.yushakobo.jp/products/a0800di-01-100https://akizukidenshi.com/catalog/g/g100941/
ジョイスティック1https://akizukidenshi.com/catalog/g/g115951
ロータリーエンコーダー1https://shop.yushakobo.jp/products/3762https://akizukidenshi.com/catalog/g/g105772/
https://akizukidenshi.com/catalog/g/g105769/
https://akizukidenshi.com/catalog/g/g105770/
https://akizukidenshi.com/catalog/g/g105771/
EC12と互換性があれば大丈夫だと思います。個人的にはLEDがついてるやつがおすすめです。動作確認は赤・青のLED付きのもので行ってます。1色、フルカラーのLEDが付いてるものがありますが、穴の位置、配線の実装の関係で対応できません
LED0~3ロータリーエンコーダでLED付きのものを使用しない場合2つ、ジョイスティックのセンタープッシュを利用しない場合追加で1つのLEDをつけることができます
LED用抵抗LEDと同じ個数使用するLEDに合わせて必要な抵抗値を計算してください
ジョイスティックセンタープッシュのジャンパー用抵抗0~1あまりに高い抵抗値でなければなんでも大丈夫だと思います。ジャンパーできればいいのでワイヤーでも大丈夫です
RESET用タクトスイッチ1https://shop.yushakobo.jp/products/a1600ed-01-1https://akizukidenshi.com/catalog/g/g114890/
https://akizukidenshi.com/catalog/g/g114891/
コンデンサ0~2ロータリーエンコーダーのノイズ対策につけることができます。プログラムで対応する場合はつけなくて大丈夫です
3.5mm TRSジャック0~1https://shop.yushakobo.jp/products/a0800tr-01-1https://akizukidenshi.com/catalog/g/g106070/通信できたら面白そうだなと思って基板設計ではつけましたが、今のところ対応してないのでただの飾りになる可能性が高いです。

組み立て

撮り忘れたので写真とか動画はないです。正直どの順番でやってもいいのでやりやすい順にやってください。

JoyStickとかRotaryEncoderとかのフットプリントがある方が表で、SW8, SW9から見てJoyStickがある方が上側として説明します。 適時正しく接続ができているか確認してください。

  1. ダイオードを半田付けします。フットプリントが四角くなっている方がカソードです。
  2. 抵抗を半田付けします。LED1, LED2, LED3に接続する抵抗がそれぞれR1, R2, R3です。LED付きのロータリーエンコーダーを使用する場合R1が基板上部よりのLEDピン、R2が基板Cherryスイッチよりのピンになります。ジョイスティックのセンタープッシュを使用する場合はR4に抵抗(またはワイヤー)を接続してください。 LED3とジョイスティックのセンタープッシュについては同じピンを使用しています。そのため同時に使用することはできませんので、R3とR4を両方とも取り付けることはしないでください。
  3. Kailh Switch Socketを取り付ける場合は半田付けする
  4. (つける場合は)LED, TRRSジャック, RESET用のタクトスイッチを半田付けする。

ProMicroを裏面につける場合

どちらにつける場合も共通で、一番上のSW3よりのピンがTXO、一番上のJoyStickよりのピンがRAWと接続されるように半田付けします。

  1. Kailh Switch Socketを使用しない場合はSW2, SW4を半田付する。(ProMicroを取り付けるのがかなり難しくなるのでSW2, SW4についてはSocketを使うことをおすすめします)
  2. ProMicroにピンヘッダを半田付けする。このとき、ProMicroのUSBコネクタがある面からピンヘッダを差し込み、USBコネクタがない面から半田付してください。
  3. USBコネクタが上側に来るようにProMicroを基盤に半田付けする。(ピンの位置に注意してください) 2.56mmのピンヘッダを使用し、使用する場合Socketと干渉すると思うので、長めのピンヘッダを使うか、ピンヘッダの絶縁体部分を取り外すか別のピンヘッダの絶縁体部分を用意し、端の部分を2つ重ねて高さを稼ぐなどしてください

ProMicroを表面につける場合

どちらにつける場合も共通で、一番上のSW3よりのピンがTXO、一番上のJoyStickよりのピンがRAWと接続されるように半田付けします。

表面に取り付ける場合SW2, SW4は使用できません。

  1. ProMicroにピンヘッダを半田付けする。このとき、ProMicroのUSBコネクタのない面からピンヘッダを差し込み、USBコネクタがある面から半田付してください。
  2. USBコネクタが上側に来るようにProMicroを基盤に半田付けする。(ピンの位置に注意してください)

  1. Kailh Switch Socketを使用しない場合はCherry MX 互換スイッチを半田付けする
  2. ジョイスティック, ロータリーエンコーダーを取り付ける
  3. Kailh Switch Socketを取り付けた場合はスイッチをはめ込む

ファームウェアを書き込む

今のところ自作のファームウェアしかないので、QMK Firmwareなどをを使って書き込みたい場合はいい感じに作ってください。

まず初めにキーマップを作成します。

  1. Keymap Editorでキーマップを編集します。割り当てたいキーの位置をクリックしてから割り当てたいキーをクリックすると割り当てられます。LAYERキーは押している間だけレイヤーの切り替えができます。Layoutはロータリーエンコーダーでキーマップの切り替えができます。
  2. Download define_custom_size.h, Download define_custom_keymap.inoのボタンを押し、設定ファイルをダウンロードします。

キーマップの書き込みをします。Arduino IDEが必要になるので、インストールされていない場合はインストールしてください。

  1. ファームウェアのソースコードをダウンロードします。(Releaseから好きなものをダウンロードすることもできますが、バグがある可能性があるのでlatestをダウンロードすることをお勧めします)
  2. ダウンロードしたソースコードのdefine_custom_size.hとdefine_custom_keymap.inoに2でダウンロードしたファイルに置き換えます。
  3. Arduino IDEでfirmwere_srcs/JoySmall20/JoySmall20.inoを開き、ProMicroに書き込みます。RESETを2回押すとか連打するとかすると書き込みモードになるはずなのでいろいろ試してみてください。

一応これで動くはずです。問題があるようでしたらissue等でご連絡ください!

免責

このリポジトリに存在するいずれかまたは全てのものを使用して生じたいかなる損害について、作者はいかなる責任も負いません。

Parts

58
QtyValueFootprintReferences
201N4148xxx_original:1N4148D1, D2, D3, D4, D5, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 +4
20SW_Pushxxx_original:SW_Cherry_MX_1.00u_PCB_with_kalih_socket_CPG151101S11-16SW1, SW2, SW3, SW4, SW5, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 +4
4RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4
3LEDLED_THT:LED_D5.0mmLED1, LED2, LED3
2CCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC1, C2
1AudioJack4xxx_original:3.5mm_audio_jackJ1
1Pro_MicroPro_Micro:Pro_Micro_small_pinProMicro1
1RKJXV122400RJoy_Stick:RKJXV122400RJoyStick1
1Reset_Swichxxx_original:SW_TactSwitch_THBP07-043CBSW_RST1
1~xxx_original:RotaryEncoder_with_4pinRotaryEncoder1

The 54 most common of 58 parts.

Questions

How big is the JoySmall20 PCB?

It measures 95.3 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the JoySmall20 use?

58 parts, built around the RKJXV122400R. 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.

Where can I download the JoySmall20 KiCad files?

From the Maitneel/JoySmall20 repository on GitHub, at the commit this page was made from: the board is pcb/JoySmall20.kicad_pcb and its schematic pcb/JoySmall20.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the JoySmall20 design in my own project?

Its repository states no licence, so its author keeps all rights: ask Maitneel before reusing the design.

Similar boards

  • 2 layers316 × 119 mmTeensy Grovebox, the printed circuit board in 3D

    Teensy Grovebox

    jerry20091103/Teensy_Grovebox

    A portable synth and music multi-tool made with Teensy 4.1

    142 parts150MIT
  • 2 layers321.8 × 129.3 mmPico keyboard v1, the printed circuit board in 3D

    Pico keyboard v1

    zli117/Pico-Keyboard

    Hardware design for a mechanical keyboard based on RP2040

    160 parts104CC-BY-SA-4.0
  • 2 layers245.3 × 78.6 mmSg48key2, the printed circuit board in 3D

    Sg48key2

    sago35/keyboards

    This repository was created to manage the circuitry and firmware for the keyboards I designed. The firmware is created using sago35/tinygo-keyboard.

    158 parts22MIT
  • 2 layers25.8 × 20 mmTM Warthog Open Analog Slew, the printed circuit board in 3D

    TM Warthog Open Analog Slew

    ServError/Thrustmaster_Warthog_Throttle_Alps_Slew_Mod

    An open source replacement for the terrible TM Warthog Throttle slew stick

    10 parts12
  • 2 layers70 × 128.5 mmJoystick v3.0, the printed circuit board in 3D

    Joystick v3.0

    StudioKAT/Joystick

    この作品は Creative Commons 表示 - 継承 4.0 国際 (CC BY-SA 4.0) の下でライセンスされています。 This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.

    110 parts9
  • 2 layers98 × 98 mmTinygo conf-2026, the printed circuit board in 3D

    Tinygo conf-2026

    tinygo-keeb/tinygo-conf-2026-badge

    TinyGo Conference 2026 向け開発ボード (devkit) の KiCad プロジェクトです。 ESP32-S3-DevKit を中心に、ディスプレイ・オーディオ・入力デバイスなどを 1 枚の基板にまとめています。

    26 parts2
  • 2 layers141 × 68.5 mmZRaiderViper, the printed circuit board in 3D

    ZRaiderViper

    radioation/ZRaiderStick

    Z Raider - Analog Joystick for Atari 800/XL/XE Computers

    37 parts1GPL-3.0
  • 2 layers108.5 × 61 mmVGAutumn, the printed circuit board in 3D

    VGAutumn

    Alan-GIRAUDON/VGAutumn

    VGAutumn is a RP2040 VGA joystick PCB. This board allows to play different game using its VGA output and its inputs (joystick, buttons).

    72 partsMIT