Suutari20: Macro Pad แบบ Modular เสียบปุ่มผ่านแจ็ก 3.5 มม.
Macro Pad ส่วนใหญ่มักกำหนดตำแหน่งปุ่มไว้ตั้งแต่ตอนสร้าง แต่ Suutari20 เลือกอีกทาง: แยกปุ่มออกจากตัว Hub แล้วใช้แจ็ก 3.5 มม. เป็นจุดเชื่อมต่อ Module ทำให้สามารถจัดปุ่มหรือ Control รอบโต๊ะใหม่ โดยไม่ต้องสร้าง Keyboard ทั้งชุดใหม่ทุกครั้ง
เบื้องหลังแนวคิดนี้คือ Raspberry Pi Pico ที่ใช้ RP2040, Firmware QMK พร้อม Vial, PCB ที่มี PJ-320A Audio Socket และ Case ที่พิมพ์ 3D ได้จากไฟล์ใน Official Repository โดย Hackaday ระบุว่า Hub รองรับ Modular Key ได้สูงสุด 18 ปุ่ม
- Suutari20 เป็น Modular Macro Keyboard ที่ใช้ RP2040
- ใช้ Raspberry Pi Pico หรือ Board ที่ Pin-compatible ตาม Official BOM
- Firmware ใช้ QMK พร้อม Vial
- Official README ระบุรองรับ 3.5 mm Plug ตั้งแต่ TS ถึง TRRS
- Hub ใช้ PJ-320A Audio Socket จำนวน 8 ตัว
- Hackaday ระบุว่าสามารถรองรับ Modular Key ได้สูงสุด 18 ปุ่ม
- Current Firmware เปิดใช้งาน Rotary Encoder 2 ตัว
- Default Encoder Mapping ใช้กับ Mouse Wheel และ Volume
- Repository มี KiCad, Gerber, Firmware และ STL สำหรับ Hub/Module
- Source ไม่ได้ระบุ 3D Printing Settings เช่น Material, Layer Height หรือ Infill
Suutari20 คืออะไร?
Suutari20 คือ Macro Keyboard แบบ Modular ที่สร้างบน RP2040 โดย Official Repository อธิบายว่า Hardware รองรับ Raspberry Pi Pico หรือ Pin-compatible Clone
สิ่งที่ทำให้ Project นี้ต่างจาก Macro Pad ทั่วไปคือ ปุ่มไม่จำเป็นต้องติดอยู่บนตัว Case หลัก แต่สามารถอยู่บน Module แยก แล้วเชื่อมเข้ากับ Hub ผ่านสาย 3.5 มม.
รับ Input ในรูปแบบ Keyboard / Control
รัน QMK + Vial Firmware
PCB + PJ-320A Sockets
ทำไม Macro Pad ต้องทำเป็น Modular?
Macro Pad แบบปกติมักออกแบบ Case, Switch Layout และจำนวนปุ่มพร้อมกัน เมื่อประกอบเสร็จ Layout ทางกายภาพ ก็จะเปลี่ยนได้ยากกว่าการเปลี่ยน Keymap ใน Software
Suutari20 ย้ายปัญหานี้ออกจากตัว Hub ด้วยการทำ Input เป็น Module ภายนอก
แนวคิดนี้ทำให้ผู้ใช้สามารถ วาง Module ไว้ในตำแหน่งที่เหมาะกับ Workflow โดยยังใช้ Controller และ Firmware ชุดเดียว
แจ็ก 3.5 มม. ถูกใช้กับปุ่มยังไง?
Official README ระบุว่า Suutari20 ใช้ TRRS Socket และรองรับ 3.5 mm Plug ตั้งแต่ TS ถึง TRRS
Hackaday ระบุว่า หนึ่ง Jack สามารถรองรับ Key ได้สูงสุด 3 ปุ่ม และระบบโดยรวมรองรับ Modular Key ได้สูงสุด 18 ปุ่ม
รองรับ 18 Keys หมายความว่าอะไร?
Main Source จาก Hackaday ระบุ Capacity ของ Modular System ที่ 18 Keys
แต่เมื่อดู Current Official Firmware จะพบรายละเอียดภายในมากกว่าตัวเลขนี้: keyboard.json มี Direct Switch Input ที่ไม่เป็น null รวม 20 ตำแหน่ง
Firmware ยังมี Rotary Encoder แยกจาก Direct Key Input อีกด้วย ซึ่งทำให้ Physical Control ไม่ได้มีแค่ปุ่มกดอย่างเดียว
Hardware หลักมีอะไรบ้าง?
Official BOM ใน README ของ Suutari20 ระบุชิ้นส่วนของ Hub ไว้ดังนี้:
| รายการ | ข้อมูลจาก Official Repository |
|---|---|
| MCU Board | Raspberry Pi Pico หรือ Pin-compatible Clone |
| Processor | RP2040 |
| PCB | Suutari20 PCB |
| Audio Socket | 8 × PJ-320A |
| Case | 3D Printed Case |
| Heat-set Inserts | 4 × M2×L3×OD3 |
| Bolts | 4 × M2 |
| Firmware | QMK + Vial |
| License | MIT |
TS, TRS และ TRRS ใน Project นี้
Official README ระบุว่า Suutari20 รองรับ 3.5 mm Jack ตั้งแต่ TS ถึง TRRS
จุดนี้ช่วยให้ Physical Module สามารถใช้ Connector แบบ 3.5 มม. ตามรูปแบบที่ Project รองรับ แทนการใช้ Connector เฉพาะทางของ Keyboard
Rotary Encoder เพิ่มอะไรให้ Macro Pad?
Hackaday กล่าวถึง Control อย่าง Volume Knob และ Jog Controller และใช้คำว่า Analog Device
แต่ Current Official Firmware ที่ตรวจยืนยันได้ชัดเจนคือ Rotary Encoder จำนวน 2 ตัว
ใน config.h มี Encoder Pin Definition และ rules.mk เปิด:
- ENCODER_ENABLE
- ENCODER_MAP_ENABLE
Default Keymap ตั้งตัวอย่างไว้เป็น:
| Encoder | Default Mapping |
|---|---|
| Encoder 1 | Mouse Wheel Up / Down |
| Encoder 2 | Volume Down / Volume Up |
#define ENCODER_A_PINS { GP21, GP21 }
#define ENCODER_B_PINS { GP20, GP22 }
QMK + Vial ทำหน้าที่อะไร?
Official README ระบุโดยตรงว่า Suutari20 ใช้ Firmware QMK with Vial
Repository มี Firmware Definition ของ Keyboard แยกไว้ใน:
vial_firmware/suutari20
ภายในประกอบด้วยไฟล์อย่าง:
- keyboard.json
- config.h
- rules.mk
- Default Keymap
- Vial Keymap
- vial.json
Current Firmware Configuration ยังเปิด Feature ของ QMK เช่น Extra Key, Mouse Key และ NKRO ตาม keyboard.json
Build และ Flash Firmware ยังไง?
Official Firmware README ให้ Command สำหรับ Build Vial Firmware โดยตรง
make suutari20:vial
make suutari20:vial:flash
Command แรกใช้ Build ส่วน Command ที่สองใช้ Build/Flash ตามตัวอย่างใน Official Repository
เข้า Bootloader ได้ยังไง?
Official Firmware README ระบุวิธีเข้า Bootloader 2 แบบ:
- Physical BOOT Button: กด BOOT ค้างไว้แล้วเชื่อม MCU เข้ากับ Computer
- QK_BOOT Keycode: ใช้ปุ่มที่ถูก Map เป็น QK_BOOT หากมีอยู่ใน Layout
นอกจากนี้ Current config.h ยังเปิด RP2040 Double-tap Reset สำหรับ Bootloader ด้วย
PCB, KiCad และ Gerber มีอะไรให้บ้าง?
Project ไม่ได้เปิดเฉพาะ Firmware แต่มี Hardware Design File สำหรับสร้าง Board ด้วย
Main Suutari20 PCB
- KiCad PCB
- KiCad Schematic
- KiCad Project Files
- Gerber ZIP
Module PCB
Repository ยังมี KiCad/Gerber สำหรับ MX Module และ TRRS Splitter
MX Key Module และ TRRS Splitter
Current Repository มี Hardware File ของ Module อย่างน้อยสองกลุ่มที่ Verify ได้ชัดเจน
MX Key Module
มีทั้ง KiCad/Gerber และ STL สำหรับ Case ของ Module
TRRS Splitter
มี KiCad/Gerber พร้อม Case Top/Bottom สำหรับพิมพ์ 3D
ดาวน์โหลด STL สำหรับ 3D Printing
Official Repository มี STL สำหรับทั้ง Main Case และ Module จึงสามารถนำไปทดลองพิมพ์ได้โดยตรง
Main Hub Case
MX Key Module
TRRS Splitter
เอา Macro Pad แบบ Modular ไปใช้อะไรได้บ้าง?
จาก Default Firmware เราเห็น Use Case ที่ยืนยันได้แล้วอย่าง:
- Keyboard Key / Macro Input
- Mouse Wheel Control
- Volume Control
แนวคิด Modular ยังทำให้แต่ละ Control สามารถวางแยกจาก Hub ให้เข้ากับตำแหน่งใช้งานจริงได้
ตัวอย่างเช่น ปุ่ม Shortcut อาจวางใกล้มือซ้าย ในขณะที่ Volume Encoder อยู่คนละจุดบนโต๊ะ
ดูการทำงานของ Modular Macro Keyboard
Official README ชี้ไปยัง Video ของ Project ซึ่งช่วยให้เห็น Concept ของ Hub และ Module ชัดกว่าดูเฉพาะ PCB หรือ Firmware
Maker ได้อะไรจาก Project นี้?
1. Connector ธรรมดาก็สร้าง Architecture ใหม่ได้
Suutari20 ไม่ได้พยายามสร้าง Connector แบบใหม่ แต่ใช้ 3.5 mm Jack ในบริบทของ Modular Input
2. Physical Layout ไม่จำเป็นต้องเหมือน Keymap
Software สามารถกำหนด Function ขณะที่ Module จริงแยกย้ายอยู่รอบโต๊ะได้
3. Firmware Framework ลดงานที่ต้องทำเอง
Project ใช้ QMK + Vial แทนการเริ่ม USB Keyboard Firmware จากศูนย์
4. Rotary Encoder ทำให้ Macro Pad ไม่ได้มีแค่ปุ่ม
Default Firmware แสดง Use Case ของ Scroll และ Volume ผ่าน Encoder สองตัว
5. Open Hardware ช่วยให้แกะ Project ได้ลึกกว่าแค่ Build ตาม
Repository มีตั้งแต่ KiCad, Gerber, Firmware จนถึง STL ทำให้สามารถศึกษาทั้ง Electronics, Firmware และ Mechanical Design จาก Project เดียว
6. Main Source กับ Firmware อาจมีรายละเอียดคนละระดับ
ตัวอย่างคือ Main Source ระบุ 18 Modular Keys แต่ Firmware มี Direct Input เพิ่มเติม จึงควรแยก “ความสามารถที่ผู้สร้างประกาศ” ออกจาก “ตำแหน่งที่ปรากฏใน Firmware” ไม่ควรนำตัวเลขมารวมกันโดยไม่มี Physical Mapping
โปรเจกต์นี้มีทั้ง Hardware และ Firmware แนะนำอ่านต้นฉบับควบคู่กัน
หากต้องการสร้างจริง ควรเปิด Official Repository เพื่อดู Revision ล่าสุดของ PCB, Firmware, Case และ Module ก่อนสั่งผลิตหรือ Flash
FAQ: คำถามที่พบบ่อย
1. Suutari20 คืออะไร?
เป็น Macro Keyboard แบบ Modular ที่ใช้ RP2040 และเชื่อม External Module ผ่าน 3.5 mm Jack
2. ใช้ Microcontroller อะไร?
Official Firmware ระบุ Processor เป็น RP2040 และ README ใช้ Raspberry Pi Pico หรือ Pin-compatible Clone
3. ใช้ Firmware อะไร?
Official README ระบุ QMK with Vial
4. ใช้แจ็กแบบไหน?
Official BOM ใช้ PJ-320A และ README ระบุรองรับ 3.5 mm Plug ตั้งแต่ TS ถึง TRRS
5. มี Audio Socket กี่ตัว?
Official BOM ระบุ PJ-320A จำนวน 8 ตัว
6. รองรับปุ่มได้กี่ปุ่ม?
Hackaday ระบุว่า Hub รองรับ Modular Key ได้สูงสุด 18 ปุ่ม
7. ทำไม Firmware มี Input มากกว่า 18 จุด?
Current keyboard.json มี Direct Switch Input ที่ไม่เป็น null รวม 20 จุด แต่ Source ไม่ได้ระบุว่า ทั้งหมดคือ Modular Key ภายนอก 20 ปุ่ม จึงไม่ควรเปลี่ยน Spec จาก 18 เป็น 20
8. รองรับ Rotary Encoder ไหม?
รองรับ Current Firmware เปิด Encoder จำนวน 2 ตัว
9. Encoder ใช้ทำอะไรได้?
Default Keymap ใช้ Encoder หนึ่งตัวเป็น Mouse Wheel และอีกตัวควบคุม Volume
10. รองรับ Potentiometer หรือ Analog Input ไหม?
Source ที่ Verify รอบนี้ ไม่ได้ยืนยัน Generic Potentiometer หรือ ADC Input Support แม้ Hackaday จะใช้คำว่า Analog Device
11. Build Firmware ใช้ Command อะไร?
Official README ใช้ make suutari20:vial
12. Flash Firmware ใช้ Command อะไร?
Official README ใช้ make suutari20:vial:flash
13. เข้า Bootloader ยังไง?
Official README ระบุให้กด BOOT ค้างตอนเชื่อม MCU หรือใช้ QK_BOOT หากถูก Map ไว้ใน Layout
14. มีไฟล์ PCB ให้หรือไม่?
มีทั้ง KiCad PCB, Schematic และ Gerber ใน Official Repository
15. มี STL สำหรับพิมพ์ Case ไหม?
มีทั้ง Main Case, MX Key Module และ TRRS Splitter
16. Source แนะนำ PLA หรือ Material อะไร?
Source ที่ตรวจรอบนี้ไม่ได้ระบุ 3D Printing Material
17. Layer Height / Infill / Support ใช้เท่าไร?
Source ไม่ได้ระบุค่าเหล่านี้ จึงควรเลือกตาม Printer, Material และ Mechanical Requirement ของชิ้นงานจริง
18. Project ใช้ License อะไร?
Official Repository ใช้ MIT License
References / แหล่งข้อมูลต้นฉบับ
Macro Pad ไม่จำเป็นต้องล็อกปุ่มทั้งหมดไว้บนกล่องเดียว
Suutari20 แสดงให้เห็นว่า RP2040, QMK และ Connector ที่หาได้ทั่วไป สามารถนำมาสร้าง Input Device ที่ปรับ Physical Layout ตาม Workflow ได้ โดยยังเปิด Hardware Files และ Firmware ให้ Maker ศึกษาหรือต่อยอดได้ครบหลายส่วน
หากกำลังทำ Macro Pad, Custom Keyboard หรือ RP2040 Project สามารถสอบถามทีม Globalbyte เรื่อง Development Board, Module และ Maker Accessories ที่เหมาะกับ Project ได้
และหากต้องการพิมพ์ Case จาก STL ใน Repository สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการพิมพ์ 3D ได้