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 Macro Pad แบบ Modular พร้อมโมดูลปุ่มแยก
Suutari20 แยกตัว Hub ออกจากปุ่ม แล้วใช้การเชื่อมต่อผ่านแจ็ก 3.5 มม. เพื่อสร้าง Macro Pad ที่ปรับ Layout ได้ตามการใช้งาน
Key Takeaways
  • 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 มม.

Computer
รับ Input ในรูปแบบ Keyboard / Control
↑
Raspberry Pi Pico / RP2040
รัน QMK + Vial Firmware
↑
Suutari20 Hub
PCB + PJ-320A Sockets
↑
3.5 mm Cables
↑
External Key / Control Modules

ทำไม Macro Pad ต้องทำเป็น Modular?

Macro Pad แบบปกติมักออกแบบ Case, Switch Layout และจำนวนปุ่มพร้อมกัน เมื่อประกอบเสร็จ Layout ทางกายภาพ ก็จะเปลี่ยนได้ยากกว่าการเปลี่ยน Keymap ใน Software

Suutari20 ย้ายปัญหานี้ออกจากตัว Hub ด้วยการทำ Input เป็น Module ภายนอก

แนวคิดนี้ทำให้ผู้ใช้สามารถ วาง Module ไว้ในตำแหน่งที่เหมาะกับ Workflow โดยยังใช้ Controller และ Firmware ชุดเดียว

จุดสำคัญของ Suutari20 ไม่ใช่จำนวนปุ่มอย่างเดียว: แต่คือการแยก Physical Control ออกจากตำแหน่งบน Main Keyboard

แจ็ก 3.5 มม. ถูกใช้กับปุ่มยังไง?

Suutari20 RP2040 Modular Macro Keyboard พร้อมช่องต่อ 3.5 มม.
ภาพจาก Official Repository ของ Suutari20 แสดงตัว Hub และแนวคิดการแยก Input ออกเป็น Module

Official README ระบุว่า Suutari20 ใช้ TRRS Socket และรองรับ 3.5 mm Plug ตั้งแต่ TS ถึง TRRS

Hackaday ระบุว่า หนึ่ง Jack สามารถรองรับ Key ได้สูงสุด 3 ปุ่ม และระบบโดยรวมรองรับ Modular Key ได้สูงสุด 18 ปุ่ม

บทความนี้ไม่สร้าง Tip / Ring / Sleeve Pin Mapping เพิ่ม: Source ที่ใช้ยืนยันรอบนี้ ไม่ได้อธิบาย Wiring Mapping ของแต่ละ Conductor เป็น Tutorial แบบ Step-by-Step ดังนั้นควรอิง Schematic/KiCad ของ Project หากต้องการสร้าง Module เอง

รองรับ 18 Keys หมายความว่าอะไร?

Main Source จาก Hackaday ระบุ Capacity ของ Modular System ที่ 18 Keys

แต่เมื่อดู Current Official Firmware จะพบรายละเอียดภายในมากกว่าตัวเลขนี้: keyboard.json มี Direct Switch Input ที่ไม่เป็น null รวม 20 ตำแหน่ง

จึงไม่ควรเปลี่ยน Spec เป็น “20 Modular Keys”: Repository ไม่ได้อธิบายว่า Direct Input ทั้ง 20 จุด เท่ากับ Modular Key ภายนอก 20 ปุ่มแบบหนึ่งต่อหนึ่ง บทความนี้จึงคงตัวเลข 18 Modular Keys ตาม Main Source

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

Source ไม่ได้ให้ Electrical Mapping แบบ Generic สำหรับทุก Plug: จึงไม่ควรสรุปเองว่า Tip, Ring หรือ Sleeve ใด ต้องต่อกับ GPIO ใด โดยไม่ตรวจ Schematic ของ Suutari20 และ Module ที่ต้องการสร้าง

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
ไม่ควรตีความ “Analog Device” ว่ารองรับ Potentiometer/ADC แล้ว: Current Firmware ที่ Verify รอบนี้ ยืนยัน Rotary Encoder แต่ยังไม่ได้ยืนยัน Generic Analog Input หรือ Potentiometer Support
Official config.h — Encoder Pins
#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 โดยตรง

Official QMK / Vial Commands
make suutari20:vial
make suutari20:vial:flash

Command แรกใช้ Build ส่วน Command ที่สองใช้ Build/Flash ตามตัวอย่างใน Official Repository

ต้องมี QMK Build Environment ก่อน: Official README เชื่อมต่อไปยัง QMK Build Environment Setup และ QMK Make Guide สำหรับผู้ที่ยังไม่ได้ติดตั้ง Toolchain

เข้า Bootloader ได้ยังไง?

Official Firmware README ระบุวิธีเข้า Bootloader 2 แบบ:

  1. Physical BOOT Button: กด BOOT ค้างไว้แล้วเชื่อม MCU เข้ากับ Computer
  2. 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

หากจะผลิต PCB: ควรตรวจ Gerber, Schematic และ Board Revision จาก Current Repository อีกครั้งก่อนสั่งผลิต บทความนี้ไม่ได้กำหนด PCB Thickness, Copper Weight หรือ Manufacturing Option เพราะ Source ไม่ได้ระบุ

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

นี่คือจุดที่ทำให้คำว่า Modular ชัดขึ้น: Repository ไม่ได้มีแค่ Main Hub แต่ยังแยก Hardware File สำหรับ Module และ Splitter ที่นำไปต่อยอด Physical Layout ได้

ดาวน์โหลด STL สำหรับ 3D Printing

Official Repository มี STL สำหรับทั้ง Main Case และ Module จึงสามารถนำไปทดลองพิมพ์ได้โดยตรง

Main Hub Case

MX Key Module

TRRS Splitter

Source ไม่ได้ระบุ Print Settings: ยังไม่มีค่าที่ Verify ได้เรื่อง Material, Layer Height, Infill, Nozzle Size, Support, Printing Temperature หรือ Print Speed จึงไม่ควรสร้างค่าขึ้นเอง
มี STL แล้วแต่ไม่มีเครื่องพิมพ์ 3D? สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการพิมพ์ 3D ได้ โดย Material และ Settings ควรเลือกตามไฟล์และเครื่องพิมพ์ที่จะใช้งานจริง

เอา Macro Pad แบบ Modular ไปใช้อะไรได้บ้าง?

จาก Default Firmware เราเห็น Use Case ที่ยืนยันได้แล้วอย่าง:

  • Keyboard Key / Macro Input
  • Mouse Wheel Control
  • Volume Control

แนวคิด Modular ยังทำให้แต่ละ Control สามารถวางแยกจาก Hub ให้เข้ากับตำแหน่งใช้งานจริงได้

ตัวอย่างเช่น ปุ่ม Shortcut อาจวางใกล้มือซ้าย ในขณะที่ Volume Encoder อยู่คนละจุดบนโต๊ะ

ส่วน Jog Controller เป็นแนว Use Case: Hackaday ยกตัวอย่าง Control ลักษณะนี้ แต่ Source ไม่ได้ระบุว่า ทดสอบกับ Editing Software หรือ Application ใดโดยเฉพาะ

ดูการทำงานของ 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 ได้

Disclaimer: บทความนี้เป็นการสรุปและเรียบเรียงจากแหล่งข้อมูลภาษาอังกฤษ อาจมีความคลาดเคลื่อน กรุณาตรวจสอบ Source ต้นฉบับก่อนลงมือทำ Main Source จาก Hackaday ระบุว่า Suutari20 รองรับ Modular Key สูงสุด 18 ปุ่ม ขณะที่ Current QMK keyboard.json มี Direct Switch Input ที่ไม่เป็น null มากกว่าตัวเลขดังกล่าว แต่ Official Repository ไม่ได้อธิบายว่า Input เหล่านั้นเท่ากับ Modular Key ภายนอก แบบหนึ่งต่อหนึ่ง บทความนี้จึงคงตัวเลข 18 Keys ตาม Main Source นอกจากนี้ Hackaday ใช้คำว่า Analog Device และยกตัวอย่าง Volume Knob / Jog Control แต่ Firmware ที่ตรวจยืนยันได้ในรอบนี้ คือ Rotary Encoder จำนวน 2 ตัว ไม่ได้ยืนยัน Generic Potentiometer หรือ ADC Input Source ยังไม่ได้ระบุ Tip/Ring/Sleeve Pin Mapping แบบ Tutorial, Maximum Cable Length, Input Latency, Polling Rate, Power Consumption, PCB Thickness, Encoder Model, Build Cost, Printing Material, Layer Height, Infill, Nozzle Size, Support หรือ Printing Temperature จึงไม่ได้สร้างค่าดังกล่าวเพิ่มเติม ก่อนผลิต PCB, Flash Firmware หรือพิมพ์ Case ควรตรวจ Revision ล่าสุดจาก Official Repository ทุกครั้ง

แท็ก


Blog posts