TrackerKB
Tracker Keyboard. A Dirtywave M8 Headless Build
Install / Use
/learn @adwuard/TrackerKBREADME
Fully Assembled units and parts are available here:
Small batch custom build. Limited quantity now available and ready to ship!
Ed's Lab Shop
Table of Contents
- Table of Contents
- Overview
- Features
- Hardware Guide
- Three Versions of Enclosure are Available
- Software Guide
Overview
This is a slightly over-engineered tracker keyboard that integrates both Teensy4.1 and a keyboard.
<div style="display: flex; flex-direction: row; margin-top: 20px;"> <img src="image/render/1.jpg" style="width:75%;"> </div> <div style="display: flex; flex-direction: row; margin-top: 50px;"> <img src="image/cnc-build/2.jpg" style="width:30%; padding-right: 5px;"> </div>Features
- Built-in USB HUB connected to both Teensy 4.1 and Keyboard
- Keyboard is implemented with RP2040 microcontroller
- Same swappable mechanical keyboard as the original
- High-quality CNC machined case, providing the same handling experience as the original
- Robust connection with USB-C screw lock cable
Hardware Guide
System Diagram
<img src="image/system diagram.jpg" width="350">Electronics Build Guide
Layer View | PCB (Front) | PCB (Back) :-------------------------:|:-------------------------:|:-------------------------: <img src="image/pcb-thumbnails/pcb-back-view-revc.jpg" width="350"> | <img src="image/pcb-thumbnails/pcb-front-view-revc.jpg" width="350"> | <img src="image/pcb-thumbnails/pcb-layers-view-revc.jpg" width="350">
PCB manufacture requirements:
- Layers:
2-Layers - Board thickness:
1.6mm - Board dimensions: 90mm x 97.35mm
All the components are 0603 footprints. The pads are designed with larger pads, making them great for hand-soldering. The most complex component in this project is the RP2040, which is in a QFN package, so hot-air reflow is required. An alternative approach is to make a custom PCB stencil, which would make the process much easier.
Soldering
The stencil and reflow oven approach is demonstrated below and recommended. PCB | Stencil and Solder Paste | Pick and Place | Reflow Oven :-:|:-:|:-:|:-: <img src="image/build-process/20240620-DSCF4548.jpg" width="150"> | <img src="image/build-process/20240620-DSCF4552.jpg" width="150">| <img src="image/build-process/20240620-DSCF4557.jpg" width="150"> | <img src="image/build-process/20240620-DSCF4566.jpg" width="150">
Tips on Soldering Teensy 4.1
- Solder the pins that are marked with circles. Only 6 pins are required for soldering. This is enough to hold the board while still being easy to de-solder and repurpose if needed. To solder, add some solder flux onto the pads. Solder one pin first and ensure it's aligned properly. Place the soldering iron on the Teensy through-hole pad, and add a generous amount of solder. Hold the iron longer, around 8-15 seconds, and let the solder sink into the pad below. Then use multi-meter to test continuity between teensy pad and the pad directly below.
- <img src="image/build-process/teensy-soldering.png" width="350">
REV (A/B) Hardware Teensy USB Connection
- Make a twisted wire for Teensy USB communication. Solder it and adding adhesive glue is recommended.
- <img src="image/build-process/twist-wire.jpg" width="350">
REV (C) Hardware Teensy USB Connection
- In place soldering pads, solder directly with the Teensy USB Test Points
- <img src="image/build-process/rev-c-usb-tp-soldering.jpg" width="350">
PCB Testing
<img src="image/build-process/20240620-L1008894.jpg" width="350">🎉🎉🎉 Great job on finishing the PCB assembly. Now we will go through a checklist and testing process to help you get your tracker keyboard up and running!
- Visually check that all components are soldered properly with no solder bridges or shorts.
- Before connecting to a PC, check that your 5V and 3V3 are not shorted to ground.
- Note that the RP2040 is powered by Teensy's on-board DC converter, so the Teensy must be soldered in order for the RP2040 to work properly.
- Follow the Software Guide section for flashing tutorials.
- You can always open the Device Manager on your PC to check if all devices are being detected properly. Three devices should show up:
- A
USB 2.0 Hubdevice - An Tracker
SerialandAudiocomposite device - A
HID Keyboarddevice
- A
Three Versions of Enclosure are Available
Option 1: CNC Machined Enclosure
Best quality and experience. It's a CNC machined enclosure that offers a great hand-held experience.
Bill of Materials
- x4 M3x8mm screws
- x1 CNC top and bottom case
- x1 Optional, USB Type-C cable with screw lock (The pitch distance of the two screws is 15mm, and the size is M2 thumb screws)
- x4 8mm x 1.5mm rubber pads
- x1 12mmx12mmx1mm Thermal Pad
<!-- <img src="image/cnc-build/cnc-cases.jpg" width="460"> -->
Option 2: Sandwiching Acrylic Enclosure
A 4-layer acrylic sandwiching approach offers handling weight and durability while keeping the price cheaper compared to CNC. Note that the USB lock threads are not available in this design. The *.dxf files of each layer are provided for laser cut manufacturing.
How to assemble?
- Stack them up. The hole size on the layer-4 plate is slightly smaller, so screw taps will be created when screwing in the screws.
Bill of Materials
- x4 M3x14mm screws
- x1 Layer 1 Acrylic (3mm thick)
- x1 Layer 2 Acrylic (3mm thick)
- x1 Layer 3 Acrylic (4mm thick)
- x1 Layer 4 Acrylic (3mm thick)
<img src="image/acrylic-build/acylic_stacking.png" width="560">
Assembled (Front) | Assembled (Back) :-------------------------:|:-------------------------: <img src="image/acrylic-build/acylic_front.png" width="350"> | <img src="image/acrylic-build/acylic_back.png" width="350">
Option 3: 3D Printed Enclosure
This 3D printed design is nearly identical to the CNC version but optimized for 3D printing. Note that the USB lock threads are not available in this design.
How to assemble?
- The hole size on the bottom case is slightly smaller, so screw taps will be created when screwing in the screws.
==== Print settings ====
- PLA or ABS filament
- 25% infill
- Support enabled
==== Bill of Materials ====
- x4 M3x8mm screws
- x1 Printed top and bottom case
Slicer Build Plate | :-------------------------:| <img src="image/3d-print-build/3d-printing-plate.jpg" width="350">
<!-- <img src="image/\3d-print-build/3d-printed-demo.jpg" width="310"> -->Software Guide
Two firmware flashes are required:
- Tracker Headless firmware on Teensy
- Keyboard firmware on the RP2040 microcontroller
1. Tracker Headless Firmware (Teensy 4.1)
- Pre-compiled Tracker Headless Firmware and flashing guide can be found here: Headless Firmware
- This is a pretty standard process and can be done easily.
2. Keyboard Firmware (RP2040 MCU)
The keyboard is implemented with RP2040 keyboard HID implementation. You wouldn't need to build this source file yourself. Pre-built firmware is available for easy flashing.
Keyboard Firmware Highlights
- Implemented in C++, offering better low-latency input compared to MicroPython.
- Single firmware file. Drag and drop for a simple and fast upload process.
- No more annoying MicroPython disk pop-up every time the device is connected.
- HID key mapping: (key mapping is the same as M8 WebDisplay's default) | Tracker Hardware Keys | Mapped HID Keys| |------------------|------------------| |Arrow Keys| Arrow Keys| |Option| Z | |Edit| X | |Shift| Left Space | |Play| Space Bar |
Pre-built keyboard firmware can be found here --> Keyboard Firmware
Steps for Flashing Keyboard Firmware:
If you purchased from the Ed's Lab Shop. The default Keymap firmware works with M8 Web Display Client. If you want M8C as your default client.
Please follow the following guide:
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
