

SandyLP Base
Low profile version of Sandy keyboard.
- Size
- 275.5 × 80.3 mm
- Copper layers
- 2
- Thickness
- 1.2 mm
- Parts
- 229
- Nets
- 101
- Pads
- 579
- Tracks, vias
- 966, 217
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 12 Sep 2024
- Updated
- 2 Dec 2024
Overview
SandyLP Base is an open-source printed circuit board by jpskenn, from the jpskenn/SandyLP repository on GitHub, published under the MIT licence. It is a 2-layer board of 275.5 × 80.3 mm with 229 parts on 101 nets, routed with 966 tracks and 217 vias.
It is built around the RP2040, W25Q128JVPIQ and SK6812MINI-E, with the BSS138 and PRTR5V0U2X among its other parts. Its parts include 36 diodes, 21 capacitors, 12 resistors, 6 inductors and 3 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.
Main components
5RP2040
LQFN-56(7x7)12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)W25Q128JVPIQ
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 120ms@(32KB) 128Mbit 133MHz 2.7V~3.6V 20 Years Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection、Power lock protection SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASHSK6812MINI-E
SMD-40℃~+85℃ 0.6mA 1.78mm 120mcd~240mcd 120° 160mcd~320mcd 1kHz 2.8mm 2000V 3.2mm 3.7V~5.5V 460nm~470nm 515nm~525nm 620nm~625nm 800Kbit/s 815mcd~1275mcd Semi-transparent lens SMD RGB LEDs(Built-in IC) ROHSOPSCO OptoelectronicsRGB LEDs(Built-In IC)BSS138
SOT-23-55℃~+150℃ 1 N-channel 1.1Ω@10V、1.2Ω@4.5V 1.2V 1.7nC@10V 17.5pF 340mA 350mW 50V 6.5pF N-Channel SOT-23 MOSFETs ROHShongjiachengMOSFETsPRTR5V0U2X
SOT-143-55℃~+125℃ 0.3pF、0.8pF 100W 10V、15V 5V 6.5V 6A 80nA ESD IEC 61000-4-2、IEC 61000-4-5、IEC 61000-4-4 Three channels Unidirectional SOT-143 ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)
README
README.mdSandyLP(サンディ エルピー)

SandyLP is a 40% keyboard with symmetrical row staggered layout and key height optimization.
Layered PCB will make height differences for each key. This covers the lack of optimization to physical key layout in two dimensions that only adjust x-y plane.
SandyLPは、スイッチの配置を立体的にして高さ方向への最適化を加えた、左右対称ロースタッガード配列の40%キーボードです。
平面上のキーレイアウトだけでは最適化しきれない部分を、キーの位置に応じてスイッチを配置する高さを変えることで補っています。
前機種のSandyを元に、ロープロファイルスイッチへの対応と、レイアウトの調整をおこなっています。
名前の由来は、立体的、つまり3Dという意味を込めたSandyに、ロープロファイル版(= Low Profile version)を意味するLPを追加しました。
特徴
左右対称のキーレイアウト
Jonesと同様の、2行目と3行目にずれのない、左右対称なシンメトリカル ロースタッガードのレイアウトです。

一般的なロースタッガードなレイアウトとの共通性を残しつつ、左右対称で打鍵しやすくなるよう、SemiErgo Layoutに準ずるキーマッピングで使用することを念頭に設計しています。
Z行の左右端にシフトキーを用意していないので、スペースキーを「Space and Shift」として使うと便利です。
TとY、GとHの間の2キーは実際のところそれほど使用することはありませんが、ここに2キー分の間隔があいてることで左右の手を広げることになり、肩を疲れにくくします。
また、この間隔がゼロになると左右の親指が当たって動きを妨げてしまうため、あえて間隔をあけています。
このレイアウトは、市販の各種キーキャップセットのうち「Base Kit」と呼ばれる基本的なキットですべてを埋めることができます。また、104キーの英語キーキャップセットでも十分実用が可能です。

詳しくは、Keyboard Layout Editor: SandyLPを参照してください。
キースイッチを立体的に配置
前機種のSandyと同じく、キースイッチを3段階の高さで立体的に配置しています。
平面上ではキーを配置できる範囲が限られるため、一部のキーはどうしても指が届きにくくなってしまいます。例えば、Jonesでは左右対称のレイアウトを採用することで右手小指のPやBack Space、Enterなどは打鍵しやすくなりましたが、右手人差し指のYは少し遠く感じられました。
このような箇所について、キーの配置を高くすることで打鍵しやすさを向上させています。

キーの高さはLow(基準高=0mm), Middle(3.6mm), High(8.7mm)の3段階で、以下のように配置されます。

キーボード自体が低い(薄い)
ロープロファイルのChoc V2スイッチを採用することでキーボード自体が低くなりました。
前機種のSandyからは7.2mm(※1)低くなり、パームレストを使わずとも、手首をあまり反らさないポジションで打鍵できます。
※1 ボトムプレートから1段目のスイッチ軸の天面までの高さを比較。なお、Sandyは理論上あと0.8mm低くすることが可能です。

RP2040を採用した構成により、多機能なファームウェアを使用可能
RP2040を採用した構成により、キーボード向けのファームウェアを格納するには十分すぎるほどのフラッシュ容量を得ることができました。
エンコーダーやオーディオ、その他各種機能の同時有効化や、多数のレイヤーを使用するなど、多機能なファームウェアを使用可能です。
Remap、Vialによるキー割り当ての変更
初期書き込み済みのファームウェアはRemapに対応しており、プログラミング等の知識がなくても、キーマッピングやロータリーエンコーダへの割り当てを、ブラウザ等を使って簡単に変更できます。
また、Vial対応のファームウェアに書き換えて使用することもできます。
オプション機能
- ロータリーエンコーダ
- インジケータLED
- オーディオ
ビルドガイド
- SandyLP(DN0010)(最新版)
SNSタグ
ギャラリー

w/ NuPhy nSA BOW

w/ Signature Plastics DSS Solarized Dark

w/ Keyreative KAT Space Cadet, DN0011 Switch Plate
参考事例
- TreK Lagoon by おおやけハジメ さん
- Sparrow62 by 74th さん
開発経緯
以前開発したSandyを1年半ほど使い続け、日常使いの長期ロードテストとして十分な情報を得ることができました。
その情報を元にSandyのアップデート版(Sandy DN0040)の開発をおこない、あとは基板製造の発注をするだけの段階となっていましたが、Sandyの課題のひとつとして挙げていた手首の負荷軽減、つまりキーボードを低くする変更を取り込まなかったことが様々な思いの中でほんのりと燻り続けていました。
ちょうどその頃、Choc V2スイッチのラインナップにたいへん素性の良い静音タイプが追加されました。そして、自分が普段好んで使っているMX用のキーキャップをそのスイッチと組み合わせて使えそうだという情報が得られたことから、ロープロファイルのスイッチを使用したSandyの派生版開発に踏み切りました。
使用するスイッチの変更で、派生版の開発においてそこそこの量の設計変更が見込まれることから、ついでにキーレイアウトも変更することにしました。
これまでに開発したJonesやSandyでは、頒布・販売することを念頭に想定するユーザーの最大公約数的なところへ歩み寄ったレイアウトにしていましたが、今回は自分の使用スタイルを最優先し、自分にとって不要な数字行や左右端のシフトキーなどを取り除いて、少し尖ったレイアウトに変更しました。
こうして、SandyLPが誕生することとなりました。
Parts
229| Qty | Value | Footprint | References |
|---|---|---|---|
| 35 | D | locallib:D_SOD-123_Emphasized_Direction_Line_Reference_on_bottom | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +19 |
| 32 | SW_Push | locallib:Kailh_socket_ChocV2 | SW_;1, SW_/1, SW_<1, SW_>1, SW_A1, SW_B1, SW_C1, SW_CTL1, SW_D1, SW_E1, SW_ENT1, SW_F1, SW_I1, SW_J1, SW_K1, SW_L1 +16 |
| 18 | MountingHole | locallib:MountingHole_1.8-2.2mm_M2_Pad_minimal | H_mid_1, H_mid_2, H_mid_3, H_mid_4, H_mid_5, H_mid_6, H_mid_7, H_mid_10, H_mid_11, H_mid_12, H_mid_13, H_mid_14, H_mid_15, H_mid_16, H_mid_17, H_mid_18 +2 |
| 16 | 100n | Capacitor_SMD:C_0402_1005Metric | C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C14, C15, C18, C19, C20, C21 |
| 15 | Conn_01x01 | locallib:TestPoint_THTPad_D2.0mm_Drill1.0mm | T_C0, T_C1, T_C2, T_C3, T_C4, T_C5, T_C6, T_R0, T_R1, T_R2, T_R3, T_R4, T_R5, T_R6, T_R7 |
| 11 | MountingHole | locallib:MountingHole_2.2mm_M2_No_Cu | H_btm_1, H_btm_2, H_btm_3, H_btm_4, H_btm_5, H_btm_6, H_btm_7, H_btm_8, H_btm_9, H_btm_10, H_btm_11 |
| 7 | 1k | Resistor_SMD:R_0402_1005Metric | R5, R8, R10, R11, R12, R13, R14 |
| 6 | SK6812MINI-E | locallib:YS-SK6812MINI-E_middle_hole_with_small_pad | L1, L2, L3, L4, L5, L6 |
| 3 | 2.2uF | Capacitor_SMD:C_0402_1005Metric | C13, C16, C17 |
| 2 | 10u | Capacitor_SMD:C_1206_3216Metric | C1, C2 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R6, R7 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | Speaker | Buzzer_Beeper:Buzzer_Murata_PKMCS0909E | LS1, LS2 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | 12MHz | Crystal:Resonator_SMD_Murata_CSTxExxV-3Pin_3.0x1.1mm | Y1 |
| 1 | BOOT | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | Conn_01x03 | locallib:PinHeader_1x03_P2.54mm_Vertical_All_circle | J8 |
| 1 | Conn_01x10_Pin | Connector_PinHeader_1.00mm:PinHeader_1x10_P1.00mm_Vertical | J1 |
| 1 | Fuse | Fuse:Fuse_0603_1608Metric | F1 |
| 1 | LED_GREEN | LED_SMD:LED_0402_1005Metric | STLED1 |
| 1 | LOGO | locallib:SandyLP_QR_360dpi | G*** |
| 1 | Logo_Base | locallib:SandyLP_logo_LP40_w60 | LOGO1 |
| 1 | NCP1117-3.3_SOT223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | PRTR5V0U2X | Package_TO_SOT_SMD:SOT-143 | D99 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3342 | SW2 |
| 1 | RP2040 | locallib:RP2040-QFN-56 | U2 |
| 1 | RotaryEncoder_Switch | locallib:ChocV2_AND_RotaryEncoder_Alps_EC11K-Switch_Vertical_H20mm_NPTH_MP_minimal | SW_R5CNT_C1 |
| 1 | Schottky diode | Diode_SMD:D_SOD-123 | SD1 |
| 1 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | USB_C_Receptacle_USB2.0 | locallib:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J7 |
| 1 | W25Q128JVPIQ | Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm | U3 |
The 170 most common of 229 parts.
More from jpskenn/SandyLP
3- 2 layers113.1 × 58.7 mm

- 2 layers74.9 × 39.4 mm

- 2 layers42.3 × 20.8 mm

Similar boards
- 2 layers307.3 × 148.3 mm

- 2 layers431.4 × 264.6 mm

- 2 layers167.1 × 51.2 mm

- 2 layers87.7 × 40.5 mm

- 4 layers44.5 × 40.6 mm

- 2 layers42 × 49 mm

- 4 layers64.2 × 66.2 mm

- 2 layers353.1 × 124.9 mm

Questions
How big is the SandyLP Base PCB?
It measures 275.5 × 80.3 mm and has 2 copper layers, 1.2 mm thick.
What parts does the SandyLP Base use?
229 parts, built around the RP2040, W25Q128JVPIQ, SK6812MINI-E and BSS138. 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 SandyLP Base KiCad files?
From the jpskenn/SandyLP repository on GitHub, at the commit this page was made from: the board is PCB/SandyLP_Base/SandyLP_Base.kicad_pcb and its schematic PCB/SandyLP_Base/SandyLP_Base.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the SandyLP Base design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).