SpaceMouse KHÔNG DÂY! (Không cần đi dây)

Bản SpaceMouse “không dây” nhờ PCB riêng: joystick cắm thẳng vào socket, Arduino hàn lên PCB và breakout đầy đủ chân. Có hướng dẫn đặt PCB (Gerber), firmware V3 đã chỉnh pin, mẹo chà nhám cho cảm giác mượt và danh sách phần cứng.

👁️
7.2K
Lượt Xem
❤️
231
Lượt Thích
📥
523
Lượt Tải
Cập Nhật Apr 24, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Dựa trên thiết kế V2 Space Mouse/Mushroom, kèm thêm một bo mạch in (PCB) để lo phần đi dây, cho phép các joystick cắm thẳng vào socket trên PCB.

Cập nhật #3 - dời phần cập nhật xuống mục update ở cuối (tin vui - đã fix lỗi :-) )

Printed Circuit Board (PCB)

Arduino được hàn lên PCB bằng bộ pin đi kèm (cắt bớt phần dư ở mặt dưới bo, vì mình chỉ chừa khe hở 2mm bên dưới bo mạch).

Tất cả chân trên Arduino đều được “break out” ra PCB để tiện đấu thêm công tắc, v.v.

Socket dùng để kết nối joystick là loại female PCB header 5 pin, single row, bước 2.54mm.

Làm PCB của bạn

Bạn không cần biết gì về thiết kế hay gia công PCB – chỉ cần upload file PCB Gerbers Space-Mouse.zip khi đặt làm PCB.

Mình dùng jlcpcb.com để làm bo mạch in – câu “disclaimer” quen thuộc: “vẫn còn nhiều nhà sản xuất PCB khác”. Mình đã dùng JLCPCB cho nhiều thiết kế PCB và luôn rất hài lòng về chất lượng lẫn giá. (Tổng chi phí sản xuất, ship và thuế cho 5 cái bo gửi về UK là £3.33! (có thể dao động nhẹ do tỉ giá).

Mặc định bạn sẽ nhận được PCB 2 lớp, kích thước 78mm X 78mm, dày 1.6mm (chính xác là 5 cái với $2!). Lựa chọn duy nhất còn lại là màu PCB (mặc định màu xanh lá).

Nếu bạn dùng JLCPCB – nhớ kiểm tra tuỳ chọn shipping – họ hay để mặc định một lựa chọn mắc tiền trước!

Firmware

Mình đã update firmware V3 (lấy từ bản button remix của @LivingTheDream) để phù hợp với cách gán chân (pin assignments) và đổi hướng (direction changes) cần thiết vì các joystick đã được xoay khác vị trí V2.

Để thao tác mượt & trơn hơn

Mình thấy chà nhám nhẹ các khớp bi (ball joints) và các rãnh (channels) xuyên qua dome giúp khác biệt rất nhiều về độ mượt khi ball joint chạy trong rãnh.

Mục tiêu không phải mài đi nhiều vật liệu, mà là làm bề mặt mịn hơn so với lúc vừa in ra – cứ cảm nhận bằng tay – bạn vẫn có thể đạt kết quả rất tốt dù còn thấy layer lines, miễn là các điểm gồ cao đã được hạ xuống.

Để hỗ trợ chà nhám, mình có kèm 2 tool: “Ball Gripper” và “Sanding Stick” để bạn kẹp giữ ball joint rồi quay bằng máy khoan để chà, và quấn giấy nhám quanh cái stick rồi cũng quay bằng máy khoan.

Có một rãnh notch căn chỉnh trên dome trên và dome dưới, giúp ráp lại đúng cùng một hướng trước và sau khi chà nhám.

Giấy nhám 240 grit, sau đó đến 400 grit cho mình kết quả tốt.

Phần cứng cần có (ngoài PCB, Arduino, joystick và cáp USB)

  • Vít tự ren M1.4 X 8mm, đầu chìm (countersunk) - cần 4 con
  • Vít tự ren M2.0 X 8mm, đầu lục giác (hex head) - cần 4 con
  • Vít tự ren M2.6 X 10mm, đầu lục giác - cần 16 con
  • Vít tự ren M3.0 X 8mm, đầu lục giác - cần 16 con
  • Long đền sợi (Fibre washers) M3 - đường kính 6mm - cần 16 cái
  • Female PCB header 5 pin 2.54mm single row - cần 4 cái

Mình mua vít, long đền, socket PCB, Arduino, joystick và cáp USB từ Ali Express (dùng “Choice” ship 7 ngày). (Lại như cũ, “còn nhiều nhà cung cấp khác”)

Link tìm kiếm cho phần cứng ở trên:

Dụng cụ

  • Tua vít bake (Phillips) size 00 (mình dùng Wera 118020 - trục 2.5mm của nó vừa khít lỗ trong joystick ball)
  • Tua vít lục giác (hex)
    • 1.5mm
    • 2.0mm
    • 2.5mm (loại đầu bi/ball end cho các vít giữ joystick)

Thứ tự lắp ráp

  1. Hàn Arduino và các pin socket lên PCB (nhớ canh cho pin socket vuông góc với PCB).
  2. Bắt các viên bi (balls) vào joystick bằng vít tự ren M1.4 X 8mm (cần tua vít Phillips size 00).
  3. Bắt joystick vào khung joystick bằng vít tự ren M3.0 X 8mm đầu lục giác, đồng thời dùng long đền sợi M3.0 (để bảo vệ PCB joystick và tránh vít đâm xuyên ra mặt bên kia của khung!).
  4. Bắt knob vào dome trên bằng vít tự ren M2.0 X 8mm đầu lục giác.
  5. Siết dome trên & dome dưới quanh các joystick ball bằng vít tự ren M2.6 X 10mm đầu lục giác.
  6. Gắn nắp (lid) bằng vít tự ren M2.6 X 10mm đầu lục giác.
  7. Bắt giá đỡ PCB (PCB mount) vào khung joystick bằng vít tự ren M2.6 X 10mm đầu lục giác.
  8. Cắm cáp USB vào Arduino và cắm PCB vào các chân joystick (kiểm tra tất cả pin đã vào đúng socket).
  9. Gắn đế (base) bằng vít tự ren M2.6 X 10mm đầu lục giác.

Updates:

Những lo ngại trước đó của mình về calibration và hình học ball/dome giờ không còn là vấn đề nữa.

Cuối cùng là do một mối hàn trên PCB bị lỗi (lỗi này là do mình), và sau khi ngủ một đêm rồi sáng dậy kiểm tra lại cho tỉnh táo, mình phát hiện joystick B cho tín hiệu bị lúc đúng lúc sai.

Mình thay joystick B là mọi thứ chạy ngon liền!

Không phải là không còn chỗ để cải thiện, nhưng hiện tại thì nó hoạt động đúng như mục tiêu :-)

Phát triển trong tương lai

Trong lúc tìm linh kiện trên Ali Express, mình thấy có module joystick Hall Effect. Mình đã đặt vài cái và sẽ thử nghiệm khi hàng về.

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Noncommercial — Share Alike

CC-BY-NC-SA

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Không được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (23 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)